87 lines
1.9 KiB
Forth
87 lines
1.9 KiB
Forth
include crossj1.fs
|
|
|
|
variable filebase
|
|
|
|
: suffix ( addr u -- addr u ) \ append suffix to basename
|
|
0 padc !
|
|
filebase @ count pad+
|
|
pad+
|
|
pad padc @
|
|
;
|
|
: create-output-file w/o create-file throw to outfile ;
|
|
: cbyte s" 0x" type s>d <# # # #> type [char] , emit ;
|
|
hex
|
|
variable hiaddr
|
|
: coderange hiaddr @ 2B00 ;
|
|
: dumpall \ dump the target memory in every useful format
|
|
hex
|
|
|
|
\ .lst file is a human-readable disassembly
|
|
s" .lst" suffix create-output-file
|
|
coderange tuck - 2/ disassemble-block
|
|
|
|
\ .binbe is a big-endian binary memory dump
|
|
s" .binbe" suffix create-output-file
|
|
coderange do i t@ dup 8 rshift emit emit 2 +loop
|
|
|
|
\ .binle is a little-endian binary memory dump
|
|
s" .binle" suffix create-output-file
|
|
coderange do i t@ dup emit 8 rshift emit 2 +loop
|
|
|
|
\ .h is a little-endian memory dump of bytes 2B00-2BFF
|
|
s" .h" suffix create-output-file
|
|
s" static PROGMEM prog_uchar " type
|
|
filebase @ count type
|
|
s" _code[] = {" type cr
|
|
coderange do i t@ dup cbyte 8 rshift cbyte cr 2 +loop
|
|
s" };" type cr
|
|
;
|
|
decimal
|
|
: start-microcode
|
|
bl parse preserve filebase !
|
|
s" marker revert h# 2B02 org" evaluate
|
|
coldcross decimal
|
|
;
|
|
: end-microcode
|
|
there hiaddr !
|
|
s" h# 2B00 org code 0jump main ubranch end-code revert meta" evaluate
|
|
dumpall
|
|
s" target" evaluate
|
|
;
|
|
|
|
meta
|
|
coldcross
|
|
include basewords.fs
|
|
target
|
|
include hwdefs.fs
|
|
|
|
\ Build all these microcode files:
|
|
|
|
include memtest.fs
|
|
include helloworld.fs
|
|
include flowtest.fs
|
|
include setpixel.fs
|
|
include wireframe.fs
|
|
include eraser.fs
|
|
include splitscreen.fs
|
|
include selftest1.fs
|
|
include reload.fs
|
|
include palcopy.fs
|
|
include random.fs
|
|
include rasterinterrupt.fs
|
|
include soundbuffer.fs
|
|
include cold.fs
|
|
include testflash.fs
|
|
include thrasher.fs
|
|
include bgstripes.fs
|
|
include dna.fs
|
|
include regressfreq.fs
|
|
include showvoices.fs
|
|
include spectrum.fs
|
|
include fullscreen_bitmap.fs
|
|
include videocopy.fs
|
|
include spr512.fs
|
|
\ include eforth.fs
|
|
|
|
meta
|