Re: [Amforth] Gory Details: How to properly create a release?

2020-08-31 Thread Erich Wälde
Hello Brian,

after the stunt getting leonardo to build a similar stunt makes
the butterfly building again :-)

> Erich Wälde writes:
>> Brian writes:
>> I am running the latest version of amforth on an avrbutterfly.
>
> Oh, cool! You made me curious. This is a atmega169 controller
> featuring 16k flash, so it is possible. I still have such a
> thing in a box, so I should be able to recreate it.

In my /outdated/ version of the Atmel files, there is
the file "m169def.inc".

In the /new/ version of the Atmel files from the archive found
here
https://sourceforge.net/projects/amforth/files/Atmel-AVR8-Assembler/Atmel-Assembler.tgz/download
this file is unfortunately missing! So I just copied

m169def.inc (note there is no A P PA in this game!)

over to the new tree and the file for the butterfly can be
built! Yay! I have not yet tried to run it on the board.

If it works, I'm going to
- add "m169def.inc" to Atmel-Assembler.tgz (provided I can
  figure out how to place this file in the correct location)
- add avr-butterfly back to appl/
- fix the Makefile in there


This still applies:
>
> Would you care to share your application? Something like a
> nametag maybe???

I'm aware that there is a description, how to use the LCDisplay
in Vierte Dimension 2007/1 (german text)
https://forth-ev.de/wiki/res/lib/exe/fetch.php/vd-archiv:4d2007-01.pdf


Thank you very much for pointing this out!

Cheers,
Erich

>snip<


-- 
May the Forth be with you ...


___
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel


Re: [Amforth] Gory Details: How to properly create a release?

2020-08-30 Thread Brian

I am running the latest version of amforth on an avrbutterfly.

Brian

On 8/30/20 1:09 PM, Erich =?utf-8?Q?W=C3=A4lde?= wrote:

More details on Point 4 (see below).
Cheers,
Erich

Erich Wälde writes:


Dear AmForthers,

I asked:

  - How do I actually create a new release? Copying the files is
one thing, but where do I need to change the version? There
is more than one place, I'm afraid. I also happen to know
that after 6.9 there cannot be 6.10 due to a limitation
created very early. Matthias told me that, otherwise I would
be clueless.

see https://sourceforge.net/p/amforth/mailman/message/37048278/



How to create an official release?

I spent some time to do some code archeology. I still do not know,
how to properly make a release. This is, what I currently
see/expect:

1. check all version numbers in trunk

- doc/Makefile being one place. This seems to be used in all
  generated documentation, which is nice.
- common/words/env-forthversion.asm is another place with different
  syntax!
Judging by commit r2271, these are all places indeed. Yay!

2. update doc/source/index.rst and optionally history.rst in
trunk and commit

3. "svn copy" trunk to releases/$VERSION; commit message collects
the accumulated one line change descriptions
This is the most visible change in the source tree
e.g. see commit r2244 (rel 6.5)

4. create all .hex files for target boards in appl/
arduino,atmega2561,eval-pollin,hifive1,launchpad-arm,launchpad430,
template

I had forgotten that these exsisted. They are in the release archive
only, not in the source tree. Now I understand, why people
sometimes ask about them.

This step is detailed in a few .xml files. Matthias used ant to
build them. I have not built these before, but this looks doable,
provided I get all relevant toolchains up and running.

Digging through the ./appl/ subdirectory I think I understand the
following:

- There are currently 8 target directories.

- all of them have either build.xml or Makefile files

- of the AVR8 targets all can be build with the exception of
   "arduino/leonardo" --- this runs into the "8k is too small"
   limitation. There used to be an avr-butterfly target (up to
   6.4), which suffers from the same limitation, iirc.

   AVR needs the wine/avrasm2.exe toolchain.

- the remaining targets need different toolchains, which I have not
   installed at this moment.

   - hifive1 riscv64-linux-gnu-as
 In the download section Matthias has provided a toolchain, see:
 https://sourceforge.net/projects/amforth/files/Risc-V-Tools/
 However, this toolchain is very hip today, so it is available
 at den Debian repositories as well: gcc-riscv64-linux-gnu/stable

 I actually have such a board collecting dust in the corner :-/

   - launchpad-arm   arm-none-eabi-as
 This toolchain is available at the debian repositories as well:
 gcc-arm-none-eabi/stable

   - launchpad430naken_asm
 This tool is available, maintained and probably quite mature:
 http://www.mikekohn.net/micro/naken_asm.php
 In 2015 I have made experiments with this toolchain, so this
 part is probably doable.

   - inux-armarm-linux-gnueabi-as
 This toolchain is available at the debian repositories as well:
 gcc-arm-linux-gnueabi/stable

   I do not have any msp430 or arm boards any more. I have given
   them away.

   So all in all, the toolchains are available. Matthias has
   probably built a bunch of docker containers to run them :-)


A little while later:

Installing the missing toolchains on Debian turns out to be
fairly simple (thank you, Debianistas!):

# apt install binutils-riscv64-linux-gnu \
   binutils-arm-linux-gnueabi \
   binutils-arm-none-eabi

I had a copy of naken_asm (from 201(5) in some corner and with
that executable on the PATH, I could build launchpad430

So with the exception of arduino/leonardo.* I managed to build
everything that shows up in the release archive.



ew@ceres:~/Forth/amforth/trunk/appl 119 > ls -l */*.hex */amforth
-rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/duemilanove.eep.hex
-rw-r- 1 ew ew 26843 2020-08-30 11:28 arduino/duemilanove.hex
-rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/mega128.eep.hex
-rw-r- 1 ew ew 27959 2020-08-30 11:28 arduino/mega128.hex
-rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/uno.eep.hex
-rw-r- 1 ew ew 27157 2020-08-30 11:28 arduino/uno.hex

-rw-r- 1 ew ew   239 2020-08-30 11:31 atmega2561/atmega256.eep.hex
-rw-r- 1 ew ew 27481 2020-08-30 11:31 atmega2561/atmega256.hex

-rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p1284-16.eep.hex
-rw-r- 1 ew ew 28096 2020-08-30 11:27 eval-pollin/p1284-16.hex
-rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p16-8.eep.hex
-rw-r- 1 ew ew 27518 2020-08-30 11:27 eval-pollin/p16-8.hex
-rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p32-8.eep.hex
-rw-r- 1 ew ew 27682 

Re: [Amforth] Gory Details: How to properly create a release?

2020-08-30 Thread Erich =?utf-8?Q?W=C3=A4lde?=

More details on Point 4 (see below).
Cheers,
Erich

Erich Wälde writes:

> Dear AmForthers,
>
> I asked:
>>  - How do I actually create a new release? Copying the files is
>>one thing, but where do I need to change the version? There
>>is more than one place, I'm afraid. I also happen to know
>>that after 6.9 there cannot be 6.10 due to a limitation
>>created very early. Matthias told me that, otherwise I would
>>be clueless.
> see https://sourceforge.net/p/amforth/mailman/message/37048278/
>
>
>
> How to create an official release?
>
> I spent some time to do some code archeology. I still do not know,
> how to properly make a release. This is, what I currently
> see/expect:
>
> 1. check all version numbers in trunk
>
>- doc/Makefile being one place. This seems to be used in all
>  generated documentation, which is nice.
>- common/words/env-forthversion.asm is another place with different
>  syntax!
>Judging by commit r2271, these are all places indeed. Yay!
>
> 2. update doc/source/index.rst and optionally history.rst in
>trunk and commit
>
> 3. "svn copy" trunk to releases/$VERSION; commit message collects
>the accumulated one line change descriptions
>This is the most visible change in the source tree
>e.g. see commit r2244 (rel 6.5)
>
> 4. create all .hex files for target boards in appl/
>arduino,atmega2561,eval-pollin,hifive1,launchpad-arm,launchpad430,
>template
>
>I had forgotten that these exsisted. They are in the release archive
>only, not in the source tree. Now I understand, why people
>sometimes ask about them.
>
>This step is detailed in a few .xml files. Matthias used ant to
>build them. I have not built these before, but this looks doable,
>provided I get all relevant toolchains up and running.

Digging through the ./appl/ subdirectory I think I understand the
following:

- There are currently 8 target directories.

- all of them have either build.xml or Makefile files

- of the AVR8 targets all can be build with the exception of
  "arduino/leonardo" --- this runs into the "8k is too small"
  limitation. There used to be an avr-butterfly target (up to
  6.4), which suffers from the same limitation, iirc.

  AVR needs the wine/avrasm2.exe toolchain.

- the remaining targets need different toolchains, which I have not
  installed at this moment.

  - hifive1 riscv64-linux-gnu-as
In the download section Matthias has provided a toolchain, see:
https://sourceforge.net/projects/amforth/files/Risc-V-Tools/
However, this toolchain is very hip today, so it is available
at den Debian repositories as well: gcc-riscv64-linux-gnu/stable

I actually have such a board collecting dust in the corner :-/

  - launchpad-arm   arm-none-eabi-as
This toolchain is available at the debian repositories as well:
gcc-arm-none-eabi/stable

  - launchpad430naken_asm
This tool is available, maintained and probably quite mature:
http://www.mikekohn.net/micro/naken_asm.php
In 2015 I have made experiments with this toolchain, so this
part is probably doable.

  - inux-armarm-linux-gnueabi-as
This toolchain is available at the debian repositories as well:
gcc-arm-linux-gnueabi/stable

  I do not have any msp430 or arm boards any more. I have given
  them away.

  So all in all, the toolchains are available. Matthias has
  probably built a bunch of docker containers to run them :-)


A little while later:

Installing the missing toolchains on Debian turns out to be
fairly simple (thank you, Debianistas!):

# apt install binutils-riscv64-linux-gnu \
  binutils-arm-linux-gnueabi \
  binutils-arm-none-eabi

I had a copy of naken_asm (from 201(5) in some corner and with
that executable on the PATH, I could build launchpad430

So with the exception of arduino/leonardo.* I managed to build
everything that shows up in the release archive.


> ew@ceres:~/Forth/amforth/trunk/appl 119 > ls -l */*.hex */amforth
> -rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/duemilanove.eep.hex
> -rw-r- 1 ew ew 26843 2020-08-30 11:28 arduino/duemilanove.hex
> -rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/mega128.eep.hex
> -rw-r- 1 ew ew 27959 2020-08-30 11:28 arduino/mega128.hex
> -rw-r- 1 ew ew   239 2020-08-30 11:28 arduino/uno.eep.hex
> -rw-r- 1 ew ew 27157 2020-08-30 11:28 arduino/uno.hex
> 
> -rw-r- 1 ew ew   239 2020-08-30 11:31 atmega2561/atmega256.eep.hex
> -rw-r- 1 ew ew 27481 2020-08-30 11:31 atmega2561/atmega256.hex
> 
> -rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p1284-16.eep.hex
> -rw-r- 1 ew ew 28096 2020-08-30 11:27 eval-pollin/p1284-16.hex
> -rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p16-8.eep.hex
> -rw-r- 1 ew ew 27518 2020-08-30 11:27 eval-pollin/p16-8.hex
> -rw-r- 1 ew ew   239 2020-08-30 11:27 eval-pollin/p32-8.eep.hex
> -rw-r- 1 ew ew 27682 2020-08-30 11:27 eval-pollin/p32-8.hex
> -rw-r- 1 ew ew   239