Pull (most) platform-dependent code and loads all the way up into the top level

vf-c64/c16-main.fth and remove vf-main.fth.
Now the CBM interface with its platform dependencies in blocks $7e-$94 can be
pried apart into files.
One motivating issue is that (C64 ... ) can't comment out multi-line blocks of
code with my current implementation of include, only single lines.
I'll have to figure out how other Forths do this when I work on that code again
to develop it into something ANS-compliant.
This commit is contained in:
Philip Zembrod 2020-07-12 20:31:30 +02:00
parent 9493061b23
commit e7dd310923
4 changed files with 54 additions and 75 deletions

View File

@ -1,35 +1,35 @@
hex
\ load transient part of target compiler
2 drive 27 30 thru
1 drive
Onlyforth hex
\ clear memory and clr labels .status
include vf-tc-prep.fth
\ *** Block No. 9, Hexblock 9
\ Target-Machine clv06dec88
\ Host and target settings and display
cr .( Host is: )
(64 .( C64) C)
(16 .( C16) C)
: ) ; immediate
: (C ; immediate
: ) ; immediate
: (C ; immediate
\ : (C64 ; immediate
: (C16 ; immediate
\ : (C16+ ; immediate
: (C16- ; immediate
: (C16 ; immediate
: (C16- ; immediate
: (C64 [compile] ( ; immediate
: (C16+ [compile] ( ; immediate
\ ) - just to unconfuse my editor
include vf-pr-target.fth
: (C64 [compile] ( ; immediate
\ : (C16 [compile] ( ; immediate
: (C16+ [compile] ( ; immediate
\ : (C16- [compile] ( ; immediate
\ The actual volksForth sources
include vf-sys-indep.fth
$7E $93 thru \ CBM-Interface
include vf-finalize.fth
include vf-main.fth
include vf-pr-target.fth
quit

View File

@ -1,44 +1,42 @@
hex
\ load transient part of target compiler
2 drive 27 30 thru
1 drive
Onlyforth hex
\ clear memory and clr labels .status
include vf-tc-prep.fth
\ *** Block No. 9, Hexblock 9
\ Target-Machine clv06dec88
\ Host and target settings and display
cr .( Host is: )
(64 .( C64) C)
(16 .( C16) C)
: ) ; immediate
: (C ; immediate
: ) ; immediate
: (C ; immediate
\ : (C64 ; immediate
: (C16 ; immediate
: (C16+ ; immediate
\ : (C16- ; immediate
: (C16 ; immediate
: (C16+ ; immediate
: (C64 [compile] ( ; immediate
: (C16- [compile] ( ; immediate
\ ) - just to unconfuse my editor
include vf-pr-target.fth
: (C64 [compile] ( ; immediate
\ : (C16 [compile] ( ; immediate
\ : (C16+ [compile] ( ; immediate
: (C16- [compile] ( ; immediate
\ *** Block No. 10, Hexblock a
\ load/remove JSR-Macros clv14.4.87)
\ The actual volksForth sources
\ including some initial C16 tweaks
Assembler also definitions
\needs C16+Jsr 8 load
' C16+Jsr Is Jsr .( JSR Is:C16+ )
' C16+Jsr Is Jsr
include vf-sys-indep.fth
$7E $93 thru \ CBM-Interface
(c16+ $94 load ) \ c16init RamIRQ
include vf-finalize.fth
include vf-main.fth
include vf-pr-target.fth
quit

View File

@ -1,35 +1,35 @@
hex
\ load transient part of target compiler
2 drive 27 30 thru
1 drive
Onlyforth hex
\ clear memory and clr labels .status
include vf-tc-prep.fth
\ *** Block No. 9, Hexblock 9
\ Target-Machine clv06dec88
\ Host and target settings and display
cr .( Host is: )
(64 .( C64) C)
(16 .( C16) C)
: ) ; immediate
: (C ; immediate
: ) ; immediate
: (C ; immediate
: (C64 ; immediate
\ : (C16 ; immediate
\ : (C16+ ; immediate
\ : (C16- ; immediate
: (C64 ; immediate
: (C16 [compile] ( ; immediate
: (C16+ [compile] ( ; immediate
: (C16- [compile] ( ; immediate
\ ) - just to unconfuse my editor
include vf-pr-target.fth
\ : (C64 [compile] ( ; immediate
: (C16 [compile] ( ; immediate
: (C16+ [compile] ( ; immediate
: (C16- [compile] ( ; immediate
\ The actual volksForth sources
include vf-sys-indep.fth
$7E $93 thru \ CBM-Interface
include vf-finalize.fth
include vf-main.fth
include vf-pr-target.fth
quit

View File

@ -1,19 +0,0 @@
include vf-pr-target.fth
include vf-sys-indep.fth
$7E $93 thru \ CBM-Interface
(c16+ $94 load ) \ c16init RamIRQ
include vf-finalize.fth
' .blk is .status
include vf-pr-target.fth
cr .( for manual saving:)
cr .( save-target volksforth83)
cr
quit