mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-11-24 19:31:40 +00:00
66 lines
2.5 KiB
Plaintext
66 lines
2.5 KiB
Plaintext
|
#+Title: VolksForth Atari ST Notes
|
||
|
#+Date: <2020-07-22 Wed>
|
||
|
#+Author: Carsten Strotmann
|
||
|
|
||
|
* How to re-compile the Atari ST VolksForth kernel
|
||
|
|
||
|
Requirements:
|
||
|
|
||
|
* Atari ST computer (or an emulator such as Hatari) running VolksForth
|
||
|
* Floppy Disk (for a real computer) or a Disk-Image (for the Emulator)
|
||
|
|
||
|
Files:
|
||
|
|
||
|
* FORTH83.FB- The VolksForth Kernel source
|
||
|
* ASSEMBLE.FB- M68000 Forth Assembler
|
||
|
* TARGET.FB- VolksForth Target Compiler
|
||
|
* PATCH.FB- The Patch Tool to patch the kernel and load the Fileinterface
|
||
|
* FILEINT.FB - The File-Interface
|
||
|
* C.FB - Target Compile "script"
|
||
|
|
||
|
** Step 1: Compiling a new kernel
|
||
|
|
||
|
* make your changes to the VolksForth kernel (=FORTH83.FB=)
|
||
|
* start a fresh copy of VolksForth (File =4TH.PRG=)
|
||
|
* enter: =include c.fb=. This will compile the kernel. It will load
|
||
|
the files =ASSEMBLE.FB=, =TARGET.FB= and =FORTH83.FB= and will
|
||
|
write the generated new kernel as =4THIMG.PRG=. This new Forth
|
||
|
image is very very basic, it does not contain the file interface
|
||
|
and can only load source for blocks (sector I/O) from the floppy
|
||
|
disks A: or B:
|
||
|
* exit the VolksForth (=BYE=)
|
||
|
|
||
|
** Step 2: adding the file interface to the new Kernel
|
||
|
|
||
|
* format a new floppy (360 KB or 720 KB floppy, HD floppies will not
|
||
|
work) in drive A:
|
||
|
* copy the following files exactly in this order. The order is
|
||
|
important, as the new VolksForth kernel need to find the source
|
||
|
code at the correct block/sector locations!: =PATCH.FB=, =ASSEMBLE.FB=
|
||
|
and =FILEINT.FB=. =PATCH.FB= must be in Block 1, =ASSEMBLE.FB= must start
|
||
|
at Block 6 and =FILEINT.FB= must start at Block 24 ($18).
|
||
|
* execute the new VolksForth kernel (=4THIMG.PRG=).
|
||
|
* select drive A: =0 drive=
|
||
|
* test that =PATCH.FB= is in Block 1: =1 list= should show the
|
||
|
=PATCH.FB= load screen
|
||
|
* test that =ASSEMBLE.FB= is in Block 6: =6 list= should show the
|
||
|
=ASSEMBLE.FB= load screen
|
||
|
* test that =FILEINT.FB= is in Block 24: =24 list= should show the
|
||
|
=FILEINT.FB= load screen
|
||
|
* load the patch tool: =1 load=
|
||
|
* save the new VolksForth Image to disk: =save-system
|
||
|
4THCORE.PRG=. =4THCORE.PRG= is now the kernel plus the file
|
||
|
interface. This is a minimal but useable Forth system
|
||
|
|
||
|
** Step 3: build a full VolksForth system
|
||
|
|
||
|
* edit the file =STARTUP.FB=, add or remove features you want to have
|
||
|
in your VolksForth system
|
||
|
* start =4THCORE.PRG= created in step 2
|
||
|
* load =STARTUP.FB=: =include startup.fb=
|
||
|
* save the new image under a new name (be careful not to overwrite
|
||
|
your original =VOLKS4TH.PRG=, make a backup first!): =save-system myforth.prg=
|
||
|
* your new VolksForth system is now ready!
|
||
|
|
||
|
Have fun.
|