From e56ac441124a64a5533dc2e75d60e59f93adc8cc Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 29 Aug 2020 20:47:30 +0200 Subject: [PATCH 01/37] New improved safeguard to kill -9 VICE if it doesn't terminate after 20 seconds --- 6502/C64/emulator/run-in-vice.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/6502/C64/emulator/run-in-vice.sh b/6502/C64/emulator/run-in-vice.sh index 6ef9ee8..5511aab 100755 --- a/6502/C64/emulator/run-in-vice.sh +++ b/6502/C64/emulator/run-in-vice.sh @@ -50,7 +50,11 @@ then done sleep 0.5 + kill9log="${basedir}/kill-9.log" + vicepid=$(jobs -p %1) kill %1 + (sleep 20; ps -q "${vicepid}" -f --no-headers && \ + (kill -9 "${vicepid}" ; date)) >> "${kill9log}" 2>&1 & fi wait %1 || echo "x64 returned $?" From 71c40dbe2f398d2bb702697a0615404c5597044d Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 29 Aug 2020 22:25:55 +0200 Subject: [PATCH 02/37] Create vf-lite-x16 binary target for Commander X16, based on C64 version. vf-sys-x16.fth still is identical to vf-sys-c64.fth. --- 6502/C64/Makefile | 7 +- 6502/C64/src/vf-head-x16.fth | 30 +++++++++ 6502/C64/src/vf-lite-x16.fth | 17 +++++ 6502/C64/src/vf-pr-target.fth | 2 + 6502/C64/src/vf-sys-x16.fth | 123 ++++++++++++++++++++++++++++++++++ 6502/C64/src/vf-trg-c16+.fth | 1 + 6502/C64/src/vf-trg-c16-.fth | 1 + 6502/C64/src/vf-trg-c64.fth | 1 + 6502/C64/src/vf-trg-x16.fth | 11 +++ 9 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 6502/C64/src/vf-head-x16.fth create mode 100644 6502/C64/src/vf-lite-x16.fth create mode 100644 6502/C64/src/vf-sys-x16.fth create mode 100644 6502/C64/src/vf-trg-x16.fth diff --git a/6502/C64/Makefile b/6502/C64/Makefile index bd29ec8..dfa8422 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -7,7 +7,9 @@ vf_blk_d64_files = $(wildcard disks/*.d64) vf_blk_fth_files = $(patsubst %.d64, %.fth, $(vf_blk_d64_files)) vf_fth_files = $(wildcard src/vf-*.fth) vf_fth_files_petscii = $(patsubst src/%, cbmfiles/%, $(vf_fth_files)) -vf_flavours = full-c64 full-c16+ full-c16- lite-c64 lite-c16+ lite-c16- +vf_flavours = \ + full-c64 full-c16+ full-c16- \ + lite-c64 lite-c16+ lite-c16- lite-x16 vf_binaries = $(patsubst %, cbmfiles/vf-%, $(vf_flavours)) test_files = $(wildcard tests/*.f*) @@ -81,6 +83,9 @@ cbmfiles/vf-lite-c16+: cbmfiles/vf-lite-c16-: emulator/build-vf.sh vf-lite-c16-.fth vf-lite-c16- +cbmfiles/vf-lite-x16: + emulator/build-vf.sh vf-lite-x16.fth vf-lite-x16 + # Core test targets diff --git a/6502/C64/src/vf-head-x16.fth b/6502/C64/src/vf-head-x16.fth new file mode 100644 index 0000000..e1c2b7a --- /dev/null +++ b/6502/C64/src/vf-head-x16.fth @@ -0,0 +1,30 @@ +\ The head of Commander X16 VolkForth + +\ Initial part of load file + +Onlyforth + +$801 dup displace ! +Target definitions here! + + +10 fthpage + +\ FORTH Preamble and ID + +$D c, $8 c, $A c, 00 c, 9E c, 28 c, 32 c, 30 c, +36 c, 34 c, 29 c, 00 c, 00 c, 00 c, 00 c, \ SYS(2064) + +Assembler + nop 0 jmp here 2- >label >cold + nop 0 jmp here 2- >label >restart + +here dup origin! +\ Here are coldstart- and Uservariables +\ +0 jmp 0 jsr here 2- >label >wake + end-code +$100 allot + +Create logo + ," volksFORTH-83 3.90-X16 " diff --git a/6502/C64/src/vf-lite-x16.fth b/6502/C64/src/vf-lite-x16.fth new file mode 100644 index 0000000..6581f9e --- /dev/null +++ b/6502/C64/src/vf-lite-x16.fth @@ -0,0 +1,17 @@ + +include vf-tc-prep.fth + +include vf-trg-x16.fth + +\ The actual volksForth sources + +include vf-head-x16.fth +include vf-cbm-core.fth +include vf-sys-x16.fth +include vf-cbm-file.fth +include vf-finalize.fth + 9f00 ' limit >body ! 9b00 s0 ! 9f00 r0 ! +include vf-memsetup.fth + +include vf-pr-target.fth +quit diff --git a/6502/C64/src/vf-pr-target.fth b/6502/C64/src/vf-pr-target.fth index c14648e..43b3b82 100644 --- a/6502/C64/src/vf-pr-target.fth +++ b/6502/C64/src/vf-pr-target.fth @@ -8,6 +8,7 @@ cr .( Target is: ) \ clv14.4.87) (C16 .( C16 with ) (C16+ .( 64kb ) (C16- .( 32kb ) +(X16 .( Cmdr X16 ) cr .( Target is not: ) @@ -16,3 +17,4 @@ cr .( Target is not: ) (C16 \ ) .( C16, ) (C16+ \ ) .( C16+64kb, ) (C16- \ ) .( C16-32kb, ) +(X16 \ ) .( Cmdr X16, ) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth new file mode 100644 index 0000000..a7bf6d1 --- /dev/null +++ b/6502/C64/src/vf-sys-x16.fth @@ -0,0 +1,123 @@ + +include vf-lbls-cbm.fth + +\ *** Block No. 127, Hexblock 7f +7f fthpage + +\ C64-Labels clv13.4.87) + +0E716 >label ConOut + 09d >label MsgFlg + 09a >label OutDev + 099 >label InDev +0d020 >label BrdCol +0d021 >label BkgCol + 0286 >label PenCol + 0ae >label PrgEnd + 0c1 >label IOBeg + 0d4 >label CurFlg + 0d8 >label InsCnt + 028a >label KeyRep + + +\ *** Block No. 129, Hexblock 81 +81 fthpage + +\ C64 c64key? getkey + +Code c64key? ( -- flag) + 0C6 lda + 0<> ?[ 0FF # lda ]? pha + Push jmp end-code + +Code getkey ( -- 8b) + 0C6 lda 0<> + ?[ sei 0277 ldy + [[ 0277 1+ ,X lda 0277 ,X sta inx + 0C6 cpx 0= ?] + 0C6 dec tya cli 0A0 # cmp + 0= ?[ bl # lda ]? + ]? + Push0A jmp end-code + + +\ *** Block No. 130, Hexblock 82 +82 fthpage + +\ C64 curon curoff + +Code curon ( --) + 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx + xyNext jmp end-code + +Code curoff ( --) + iny 0CC sty 0CD sty 0CF stx + 0CE lda 0D3 ldy 0D1 )Y sta + 1 # ldy Next jmp end-code + + +include vf-sys-cbm.fth + + +\ *** Block No. 143, Hexblock 8f +\ ... continued +8f fthpage + +Create ink-pot +\ border bkgnd pen 0 + 6 c, 6 c, 3 c, 0 c, \ Forth + 0E c, 6 c, 3 c, 0 c, \ Edi + 6 c, 6 c, 3 c, 0 c, \ User + + +\ *** Block No. 144, Hexblock 90 +90 fthpage + +\ C64 restore + +Label asave 0 c, Label 1save 0 c, + +Label continue + pha 1save lda 1 sta pla rti + +Label restore sei asave sta + continue $100 /mod + # lda pha # lda pha php \ for RTI + asave lda pha txa pha tya pha + 1 lda 1save sta + $36 # lda 1 sta \ Basic off ROM on + $7F # lda $DD0D sta + $DD0D ldy 0< ?[ +Label 6526-NMI $FE72 jmp ]? + UDTIM jsr STOP jsr \ RUN/STOP ? + 6526-NMI bne \ not >>--> + ' restart @ jmp end-code + + +\ *** Block No. 145, Hexblock 91 +91 fthpage + +\ C64:Init 06nov87re + +: init-system $FF40 dup $C0 cmove + [ restore ] Literal dup + $FFFA ! $318 ! ; \ NMI-Vector to RAM + +Label first-init + sei cld + IOINIT jsr CINT jsr RESTOR jsr + \ init. and set I/O-Vectors + $36 # lda 01 sta \ Basic off + ink-pot lda BrdCol sta \ border + ink-pot 1+ lda BkgCol sta \ backgrnd + ink-pot 2+ lda PenCol sta \ pen +$80 # lda KeyRep sta \ repeat all keys +$17 # lda $D018 sta \ low/upp + + 0 # lda $D01A sta \ VIC-IRQ off +$1B # lda $D011 sta \ Textmode on + 4 # lda $288 sta \ low screen + cli rts end-code +first-init dup bootsystem 1+ ! + warmboot 1+ ! +Code c64init first-init jsr + xyNext jmp end-code diff --git a/6502/C64/src/vf-trg-c16+.fth b/6502/C64/src/vf-trg-c16+.fth index 842b483..3dd0b04 100644 --- a/6502/C64/src/vf-trg-c16+.fth +++ b/6502/C64/src/vf-trg-c16+.fth @@ -6,6 +6,7 @@ : (C16+ ; immediate : (C64 [compile] ( ; immediate : (C16- [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-c16-.fth b/6502/C64/src/vf-trg-c16-.fth index 6127f23..7282abe 100644 --- a/6502/C64/src/vf-trg-c16-.fth +++ b/6502/C64/src/vf-trg-c16-.fth @@ -6,6 +6,7 @@ : (C16- ; immediate : (C64 [compile] ( ; immediate : (C16+ [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-c64.fth b/6502/C64/src/vf-trg-c64.fth index b190a52..8c880d2 100644 --- a/6502/C64/src/vf-trg-c64.fth +++ b/6502/C64/src/vf-trg-c64.fth @@ -6,5 +6,6 @@ : (C16 [compile] ( ; immediate : (C16+ [compile] ( ; immediate : (C16- [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-x16.fth b/6502/C64/src/vf-trg-x16.fth new file mode 100644 index 0000000..38b2e0c --- /dev/null +++ b/6502/C64/src/vf-trg-x16.fth @@ -0,0 +1,11 @@ + +: ) ; immediate +: (C ; immediate + +: (X16 ; immediate +: (C64 [compile] ( ; immediate +: (C16 [compile] ( ; immediate +: (C16+ [compile] ( ; immediate +: (C16- [compile] ( ; immediate + +include vf-pr-target.fth From b7ef25633fb4c99fc5fb0ccbbe00f4aa6dc5130f Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 01:20:42 +0200 Subject: [PATCH 03/37] Port the first set of C64 Kernal labels to X16 --- 6502/C64/src/vf-sys-c16.fth | 4 ++-- 6502/C64/src/vf-sys-c64.fth | 4 ++-- 6502/C64/src/vf-sys-x16.fth | 27 +++++++++++++++++---------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/6502/C64/src/vf-sys-c16.fth b/6502/C64/src/vf-sys-c16.fth index 72caeaf..dd4624d 100644 --- a/6502/C64/src/vf-sys-c16.fth +++ b/6502/C64/src/vf-sys-c16.fth @@ -13,8 +13,8 @@ include vf-lbls-cbm.fth 0ff19 >label BrdCol 0ff15 >label BkgCol 053b >label PenCol - 09d >label PrgEnd - 0b2 >label IOBeg + 09d >label PrgEnd \ aka eal; seems unused + 0b2 >label IOBeg \ aka stal; seems unused 0cb >label CurFlg 0cf >label InsCnt 0540 >label KeyRep diff --git a/6502/C64/src/vf-sys-c64.fth b/6502/C64/src/vf-sys-c64.fth index a7bf6d1..5d24e0b 100644 --- a/6502/C64/src/vf-sys-c64.fth +++ b/6502/C64/src/vf-sys-c64.fth @@ -13,8 +13,8 @@ include vf-lbls-cbm.fth 0d020 >label BrdCol 0d021 >label BkgCol 0286 >label PenCol - 0ae >label PrgEnd - 0c1 >label IOBeg + 0ae >label PrgEnd \ aka eal; seems unused + 0c1 >label IOBeg \ aka stal; seems unused 0d4 >label CurFlg 0d8 >label InsCnt 028a >label KeyRep diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index a7bf6d1..301f82f 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -1,23 +1,30 @@ include vf-lbls-cbm.fth -\ *** Block No. 127, Hexblock 7f 7f fthpage \ C64-Labels clv13.4.87) -0E716 >label ConOut - 09d >label MsgFlg - 09a >label OutDev - 099 >label InDev 0d020 >label BrdCol 0d021 >label BkgCol 0286 >label PenCol - 0ae >label PrgEnd - 0c1 >label IOBeg - 0d4 >label CurFlg - 0d8 >label InsCnt - 028a >label KeyRep + +\ X16 labels + +0fede >label console_put_char + 028c >label MsgFlg + 028b >label OutDev + 028a >label InDev + 8a >label PrgEnd \ aka eal; seems unused + 0292 >label IOBeg \ aka stal; seems unused + 0381 >label CurFlg \ aka qtsw + 0385 >label InsCnt \ aka insrt + +Label ConOut clc console_put_char jmp + +\ C64 labels that X16 doesn't have: + +\ 028a >label KeyRep \ aka rptflg \ *** Block No. 129, Hexblock 81 From c2490345f5eff263f744c38ddc806281faa32593 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 01:38:07 +0200 Subject: [PATCH 04/37] Adapt c64key? and getkey to X16 --- 6502/C64/src/vf-sys-x16.fth | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 301f82f..9353314 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -33,16 +33,18 @@ Label ConOut clc console_put_char jmp \ C64 c64key? getkey Code c64key? ( -- flag) - 0C6 lda + 0 # lda 9f61 sta + 0a00a lda 0<> ?[ 0FF # lda ]? pha Push jmp end-code Code getkey ( -- 8b) - 0C6 lda 0<> - ?[ sei 0277 ldy - [[ 0277 1+ ,X lda 0277 ,X sta inx - 0C6 cpx 0= ?] - 0C6 dec tya cli 0A0 # cmp + 0 # lda 9f61 sta + 0a00a lda 0<> + ?[ sei 0a000 ldy + [[ 0a000 1+ ,X lda 0a000 ,X sta inx + 0a00a cpx 0= ?] + 0a00a dec tya cli 0A0 # cmp 0= ?[ bl # lda ]? ]? Push0A jmp end-code From 9aba9e94d3e2218490ba19b4e8984716ff35e0d4 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 22:41:33 +0200 Subject: [PATCH 05/37] Adapt curon/curoff to X16 --- 6502/C64/src/vf-sys-x16.fth | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 9353314..882b84d 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -55,14 +55,35 @@ Code getkey ( -- 8b) \ C64 curon curoff +00C837 >label screen_get_char_color +00C8CC >label screen_restore_state +00C8B4 >label screen_save_state +00C830 >label screen_set_char_color + 037B >label blnsw \ C64: $cc + 037C >label blnct \ C64: $cd + 037D >label gdbln \ C64: $ce + 037E >label blnon \ C64: $cf + 0262 >label pnt \ C64: $d1 + 0380 >label pntr \ C64: $d3 + 0373 >label gdcol + Code curon ( --) - 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx +\ 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx + screen_save_state jsr + pntr ldy screen_get_char_color jsr gdbln sta gdcol stx + 0 # ldx blnsw stx \ TODO: use stz + screen_restore_state jsr xyNext jmp end-code Code curoff ( --) - iny 0CC sty 0CD sty 0CF stx - 0CE lda 0D3 ldy 0D1 )Y sta - 1 # ldy Next jmp end-code +\ iny 0CC sty 0CD sty 0CF stx +\ 0CE lda 0D3 ldy 0D1 )Y sta +\ 1 # ldy Next jmp end-code + screen_save_state jsr + 2 # ldy blnsw sty blnct sty 0 # ldx blnon stx \ TODO: use stz + gdbln lda gdcol ldx pntr ldy screen_set_char_color jsr + screen_restore_state jsr + xyNext jmp end-code include vf-sys-cbm.fth From 1ea4b3a73b02c22c820991b556de2b6767ae8813 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:11:24 +0200 Subject: [PATCH 06/37] Remove KeyRep setting that doesn't exist on X16 --- 6502/C64/src/vf-sys-x16.fth | 1 - 1 file changed, 1 deletion(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 882b84d..9b65eb3 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -141,7 +141,6 @@ Label first-init ink-pot lda BrdCol sta \ border ink-pot 1+ lda BkgCol sta \ backgrnd ink-pot 2+ lda PenCol sta \ pen -$80 # lda KeyRep sta \ repeat all keys $17 # lda $D018 sta \ low/upp + 0 # lda $D01A sta \ VIC-IRQ off $1B # lda $D011 sta \ Textmode on From 5bb850a5dee812745a85cc9163911d43da9589c3 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:12:31 +0200 Subject: [PATCH 07/37] Provide Missing X16 companion to (64 and (16 in v-finalize.fth - calling it (Cx --- 6502/C64/src/vf-finalize.fth | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/6502/C64/src/vf-finalize.fth b/6502/C64/src/vf-finalize.fth index 0b37fa3..e9c659e 100644 --- a/6502/C64/src/vf-finalize.fth +++ b/6502/C64/src/vf-finalize.fth @@ -13,6 +13,7 @@ Forth also definitions (C16 : (64 ) \ jumps belhind C) (C64 : (16 ) +(X16 : (CX ) BEGIN name count dup 0= abort" C) missing" 2 = >r @ [ Ascii C Ascii ) $100 * + ] Literal @@ -20,7 +21,7 @@ Forth also definitions : C) ; immediate -(C16 : (16 ) (C64 : (64 ) ; immediate +(C16 : (16 ) (C64 : (64 ) (X16 : (CX ) ; immediate : forth-83 ; \ last word in Dictionary From 61b433e1b14672d8a35d15f7760941fd321ac23e Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:16:33 +0200 Subject: [PATCH 08/37] End vf-pr-target.fth with cr --- 6502/C64/src/vf-pr-target.fth | 1 + 1 file changed, 1 insertion(+) diff --git a/6502/C64/src/vf-pr-target.fth b/6502/C64/src/vf-pr-target.fth index 43b3b82..b5449cb 100644 --- a/6502/C64/src/vf-pr-target.fth +++ b/6502/C64/src/vf-pr-target.fth @@ -18,3 +18,4 @@ cr .( Target is not: ) (C16+ \ ) .( C16+64kb, ) (C16- \ ) .( C16-32kb, ) (X16 \ ) .( Cmdr X16, ) +cr From 3a49a52350ae91d69ec675f5a445e7a595f823ab Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Tue, 1 Sep 2020 23:44:00 +0200 Subject: [PATCH 09/37] Adapt screen color labels and restore/nmi routine to X16 --- 6502/C64/src/vf-sys-x16.fth | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 9b65eb3..d676784 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -3,18 +3,15 @@ include vf-lbls-cbm.fth 7f fthpage -\ C64-Labels clv13.4.87) - -0d020 >label BrdCol -0d021 >label BkgCol - 0286 >label PenCol - \ X16 labels 0fede >label console_put_char 028c >label MsgFlg 028b >label OutDev 028a >label InDev +09f2c >label BrdCol + 0266 >label BkgCol + 0284 >label PenCol 8a >label PrgEnd \ aka eal; seems unused 0292 >label IOBeg \ aka stal; seems unused 0381 >label CurFlg \ aka qtsw @@ -103,25 +100,16 @@ Create ink-pot \ *** Block No. 144, Hexblock 90 90 fthpage -\ C64 restore +\ x16 restore -Label asave 0 c, Label 1save 0 c, +\ 00E00A .nnmi +\ 00FFE1 .stop +\ 00E01F .prend -Label continue - pha 1save lda 1 sta pla rti - -Label restore sei asave sta - continue $100 /mod - # lda pha # lda pha php \ for RTI - asave lda pha txa pha tya pha - 1 lda 1save sta - $36 # lda 1 sta \ Basic off ROM on - $7F # lda $DD0D sta - $DD0D ldy 0< ?[ -Label 6526-NMI $FE72 jmp ]? - UDTIM jsr STOP jsr \ RUN/STOP ? - 6526-NMI bne \ not >>--> - ' restart @ jmp end-code +Label restore pha txa pha tya pha cld +\ TODO: Replace with phx phy once 65c02 asm is available + $ffe1 jsr ( stop ) 0<> ?[ $e01f jmp ( prend ) ]? +' restart @ jmp end-code \ *** Block No. 145, Hexblock 91 From 3c6da1cc82c01073fd407fd0133080f41acffd6a Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 29 Aug 2020 20:47:30 +0200 Subject: [PATCH 10/37] New improved safeguard to kill -9 VICE if it doesn't terminate after 20 seconds --- 6502/C64/emulator/run-in-vice.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/6502/C64/emulator/run-in-vice.sh b/6502/C64/emulator/run-in-vice.sh index 6ef9ee8..5511aab 100755 --- a/6502/C64/emulator/run-in-vice.sh +++ b/6502/C64/emulator/run-in-vice.sh @@ -50,7 +50,11 @@ then done sleep 0.5 + kill9log="${basedir}/kill-9.log" + vicepid=$(jobs -p %1) kill %1 + (sleep 20; ps -q "${vicepid}" -f --no-headers && \ + (kill -9 "${vicepid}" ; date)) >> "${kill9log}" 2>&1 & fi wait %1 || echo "x64 returned $?" From 9b1c541bc8a47b46e373d04fb9bebdb1160c6391 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 29 Aug 2020 22:25:55 +0200 Subject: [PATCH 11/37] Create vf-lite-x16 binary target for Commander X16, based on C64 version. vf-sys-x16.fth still is identical to vf-sys-c64.fth. --- 6502/C64/Makefile | 7 +- 6502/C64/src/vf-head-x16.fth | 30 +++++++++ 6502/C64/src/vf-lite-x16.fth | 17 +++++ 6502/C64/src/vf-pr-target.fth | 2 + 6502/C64/src/vf-sys-x16.fth | 123 ++++++++++++++++++++++++++++++++++ 6502/C64/src/vf-trg-c16+.fth | 1 + 6502/C64/src/vf-trg-c16-.fth | 1 + 6502/C64/src/vf-trg-c64.fth | 1 + 6502/C64/src/vf-trg-x16.fth | 11 +++ 9 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 6502/C64/src/vf-head-x16.fth create mode 100644 6502/C64/src/vf-lite-x16.fth create mode 100644 6502/C64/src/vf-sys-x16.fth create mode 100644 6502/C64/src/vf-trg-x16.fth diff --git a/6502/C64/Makefile b/6502/C64/Makefile index bd29ec8..dfa8422 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -7,7 +7,9 @@ vf_blk_d64_files = $(wildcard disks/*.d64) vf_blk_fth_files = $(patsubst %.d64, %.fth, $(vf_blk_d64_files)) vf_fth_files = $(wildcard src/vf-*.fth) vf_fth_files_petscii = $(patsubst src/%, cbmfiles/%, $(vf_fth_files)) -vf_flavours = full-c64 full-c16+ full-c16- lite-c64 lite-c16+ lite-c16- +vf_flavours = \ + full-c64 full-c16+ full-c16- \ + lite-c64 lite-c16+ lite-c16- lite-x16 vf_binaries = $(patsubst %, cbmfiles/vf-%, $(vf_flavours)) test_files = $(wildcard tests/*.f*) @@ -81,6 +83,9 @@ cbmfiles/vf-lite-c16+: cbmfiles/vf-lite-c16-: emulator/build-vf.sh vf-lite-c16-.fth vf-lite-c16- +cbmfiles/vf-lite-x16: + emulator/build-vf.sh vf-lite-x16.fth vf-lite-x16 + # Core test targets diff --git a/6502/C64/src/vf-head-x16.fth b/6502/C64/src/vf-head-x16.fth new file mode 100644 index 0000000..e1c2b7a --- /dev/null +++ b/6502/C64/src/vf-head-x16.fth @@ -0,0 +1,30 @@ +\ The head of Commander X16 VolkForth + +\ Initial part of load file + +Onlyforth + +$801 dup displace ! +Target definitions here! + + +10 fthpage + +\ FORTH Preamble and ID + +$D c, $8 c, $A c, 00 c, 9E c, 28 c, 32 c, 30 c, +36 c, 34 c, 29 c, 00 c, 00 c, 00 c, 00 c, \ SYS(2064) + +Assembler + nop 0 jmp here 2- >label >cold + nop 0 jmp here 2- >label >restart + +here dup origin! +\ Here are coldstart- and Uservariables +\ +0 jmp 0 jsr here 2- >label >wake + end-code +$100 allot + +Create logo + ," volksFORTH-83 3.90-X16 " diff --git a/6502/C64/src/vf-lite-x16.fth b/6502/C64/src/vf-lite-x16.fth new file mode 100644 index 0000000..6581f9e --- /dev/null +++ b/6502/C64/src/vf-lite-x16.fth @@ -0,0 +1,17 @@ + +include vf-tc-prep.fth + +include vf-trg-x16.fth + +\ The actual volksForth sources + +include vf-head-x16.fth +include vf-cbm-core.fth +include vf-sys-x16.fth +include vf-cbm-file.fth +include vf-finalize.fth + 9f00 ' limit >body ! 9b00 s0 ! 9f00 r0 ! +include vf-memsetup.fth + +include vf-pr-target.fth +quit diff --git a/6502/C64/src/vf-pr-target.fth b/6502/C64/src/vf-pr-target.fth index c14648e..43b3b82 100644 --- a/6502/C64/src/vf-pr-target.fth +++ b/6502/C64/src/vf-pr-target.fth @@ -8,6 +8,7 @@ cr .( Target is: ) \ clv14.4.87) (C16 .( C16 with ) (C16+ .( 64kb ) (C16- .( 32kb ) +(X16 .( Cmdr X16 ) cr .( Target is not: ) @@ -16,3 +17,4 @@ cr .( Target is not: ) (C16 \ ) .( C16, ) (C16+ \ ) .( C16+64kb, ) (C16- \ ) .( C16-32kb, ) +(X16 \ ) .( Cmdr X16, ) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth new file mode 100644 index 0000000..a7bf6d1 --- /dev/null +++ b/6502/C64/src/vf-sys-x16.fth @@ -0,0 +1,123 @@ + +include vf-lbls-cbm.fth + +\ *** Block No. 127, Hexblock 7f +7f fthpage + +\ C64-Labels clv13.4.87) + +0E716 >label ConOut + 09d >label MsgFlg + 09a >label OutDev + 099 >label InDev +0d020 >label BrdCol +0d021 >label BkgCol + 0286 >label PenCol + 0ae >label PrgEnd + 0c1 >label IOBeg + 0d4 >label CurFlg + 0d8 >label InsCnt + 028a >label KeyRep + + +\ *** Block No. 129, Hexblock 81 +81 fthpage + +\ C64 c64key? getkey + +Code c64key? ( -- flag) + 0C6 lda + 0<> ?[ 0FF # lda ]? pha + Push jmp end-code + +Code getkey ( -- 8b) + 0C6 lda 0<> + ?[ sei 0277 ldy + [[ 0277 1+ ,X lda 0277 ,X sta inx + 0C6 cpx 0= ?] + 0C6 dec tya cli 0A0 # cmp + 0= ?[ bl # lda ]? + ]? + Push0A jmp end-code + + +\ *** Block No. 130, Hexblock 82 +82 fthpage + +\ C64 curon curoff + +Code curon ( --) + 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx + xyNext jmp end-code + +Code curoff ( --) + iny 0CC sty 0CD sty 0CF stx + 0CE lda 0D3 ldy 0D1 )Y sta + 1 # ldy Next jmp end-code + + +include vf-sys-cbm.fth + + +\ *** Block No. 143, Hexblock 8f +\ ... continued +8f fthpage + +Create ink-pot +\ border bkgnd pen 0 + 6 c, 6 c, 3 c, 0 c, \ Forth + 0E c, 6 c, 3 c, 0 c, \ Edi + 6 c, 6 c, 3 c, 0 c, \ User + + +\ *** Block No. 144, Hexblock 90 +90 fthpage + +\ C64 restore + +Label asave 0 c, Label 1save 0 c, + +Label continue + pha 1save lda 1 sta pla rti + +Label restore sei asave sta + continue $100 /mod + # lda pha # lda pha php \ for RTI + asave lda pha txa pha tya pha + 1 lda 1save sta + $36 # lda 1 sta \ Basic off ROM on + $7F # lda $DD0D sta + $DD0D ldy 0< ?[ +Label 6526-NMI $FE72 jmp ]? + UDTIM jsr STOP jsr \ RUN/STOP ? + 6526-NMI bne \ not >>--> + ' restart @ jmp end-code + + +\ *** Block No. 145, Hexblock 91 +91 fthpage + +\ C64:Init 06nov87re + +: init-system $FF40 dup $C0 cmove + [ restore ] Literal dup + $FFFA ! $318 ! ; \ NMI-Vector to RAM + +Label first-init + sei cld + IOINIT jsr CINT jsr RESTOR jsr + \ init. and set I/O-Vectors + $36 # lda 01 sta \ Basic off + ink-pot lda BrdCol sta \ border + ink-pot 1+ lda BkgCol sta \ backgrnd + ink-pot 2+ lda PenCol sta \ pen +$80 # lda KeyRep sta \ repeat all keys +$17 # lda $D018 sta \ low/upp + + 0 # lda $D01A sta \ VIC-IRQ off +$1B # lda $D011 sta \ Textmode on + 4 # lda $288 sta \ low screen + cli rts end-code +first-init dup bootsystem 1+ ! + warmboot 1+ ! +Code c64init first-init jsr + xyNext jmp end-code diff --git a/6502/C64/src/vf-trg-c16+.fth b/6502/C64/src/vf-trg-c16+.fth index 842b483..3dd0b04 100644 --- a/6502/C64/src/vf-trg-c16+.fth +++ b/6502/C64/src/vf-trg-c16+.fth @@ -6,6 +6,7 @@ : (C16+ ; immediate : (C64 [compile] ( ; immediate : (C16- [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-c16-.fth b/6502/C64/src/vf-trg-c16-.fth index 6127f23..7282abe 100644 --- a/6502/C64/src/vf-trg-c16-.fth +++ b/6502/C64/src/vf-trg-c16-.fth @@ -6,6 +6,7 @@ : (C16- ; immediate : (C64 [compile] ( ; immediate : (C16+ [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-c64.fth b/6502/C64/src/vf-trg-c64.fth index b190a52..8c880d2 100644 --- a/6502/C64/src/vf-trg-c64.fth +++ b/6502/C64/src/vf-trg-c64.fth @@ -6,5 +6,6 @@ : (C16 [compile] ( ; immediate : (C16+ [compile] ( ; immediate : (C16- [compile] ( ; immediate +: (X16 [compile] ( ; immediate include vf-pr-target.fth diff --git a/6502/C64/src/vf-trg-x16.fth b/6502/C64/src/vf-trg-x16.fth new file mode 100644 index 0000000..38b2e0c --- /dev/null +++ b/6502/C64/src/vf-trg-x16.fth @@ -0,0 +1,11 @@ + +: ) ; immediate +: (C ; immediate + +: (X16 ; immediate +: (C64 [compile] ( ; immediate +: (C16 [compile] ( ; immediate +: (C16+ [compile] ( ; immediate +: (C16- [compile] ( ; immediate + +include vf-pr-target.fth From 771d3c17a0090d6d98b993af0d187aabc951069a Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 01:20:42 +0200 Subject: [PATCH 12/37] Port the first set of C64 Kernal labels to X16 --- 6502/C64/src/vf-sys-c16.fth | 4 ++-- 6502/C64/src/vf-sys-c64.fth | 4 ++-- 6502/C64/src/vf-sys-x16.fth | 27 +++++++++++++++++---------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/6502/C64/src/vf-sys-c16.fth b/6502/C64/src/vf-sys-c16.fth index 72caeaf..dd4624d 100644 --- a/6502/C64/src/vf-sys-c16.fth +++ b/6502/C64/src/vf-sys-c16.fth @@ -13,8 +13,8 @@ include vf-lbls-cbm.fth 0ff19 >label BrdCol 0ff15 >label BkgCol 053b >label PenCol - 09d >label PrgEnd - 0b2 >label IOBeg + 09d >label PrgEnd \ aka eal; seems unused + 0b2 >label IOBeg \ aka stal; seems unused 0cb >label CurFlg 0cf >label InsCnt 0540 >label KeyRep diff --git a/6502/C64/src/vf-sys-c64.fth b/6502/C64/src/vf-sys-c64.fth index a7bf6d1..5d24e0b 100644 --- a/6502/C64/src/vf-sys-c64.fth +++ b/6502/C64/src/vf-sys-c64.fth @@ -13,8 +13,8 @@ include vf-lbls-cbm.fth 0d020 >label BrdCol 0d021 >label BkgCol 0286 >label PenCol - 0ae >label PrgEnd - 0c1 >label IOBeg + 0ae >label PrgEnd \ aka eal; seems unused + 0c1 >label IOBeg \ aka stal; seems unused 0d4 >label CurFlg 0d8 >label InsCnt 028a >label KeyRep diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index a7bf6d1..301f82f 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -1,23 +1,30 @@ include vf-lbls-cbm.fth -\ *** Block No. 127, Hexblock 7f 7f fthpage \ C64-Labels clv13.4.87) -0E716 >label ConOut - 09d >label MsgFlg - 09a >label OutDev - 099 >label InDev 0d020 >label BrdCol 0d021 >label BkgCol 0286 >label PenCol - 0ae >label PrgEnd - 0c1 >label IOBeg - 0d4 >label CurFlg - 0d8 >label InsCnt - 028a >label KeyRep + +\ X16 labels + +0fede >label console_put_char + 028c >label MsgFlg + 028b >label OutDev + 028a >label InDev + 8a >label PrgEnd \ aka eal; seems unused + 0292 >label IOBeg \ aka stal; seems unused + 0381 >label CurFlg \ aka qtsw + 0385 >label InsCnt \ aka insrt + +Label ConOut clc console_put_char jmp + +\ C64 labels that X16 doesn't have: + +\ 028a >label KeyRep \ aka rptflg \ *** Block No. 129, Hexblock 81 From 3a0ab07dd6d35e532b22df5de01470fa02161aa8 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 01:38:07 +0200 Subject: [PATCH 13/37] Adapt c64key? and getkey to X16 --- 6502/C64/src/vf-sys-x16.fth | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 301f82f..9353314 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -33,16 +33,18 @@ Label ConOut clc console_put_char jmp \ C64 c64key? getkey Code c64key? ( -- flag) - 0C6 lda + 0 # lda 9f61 sta + 0a00a lda 0<> ?[ 0FF # lda ]? pha Push jmp end-code Code getkey ( -- 8b) - 0C6 lda 0<> - ?[ sei 0277 ldy - [[ 0277 1+ ,X lda 0277 ,X sta inx - 0C6 cpx 0= ?] - 0C6 dec tya cli 0A0 # cmp + 0 # lda 9f61 sta + 0a00a lda 0<> + ?[ sei 0a000 ldy + [[ 0a000 1+ ,X lda 0a000 ,X sta inx + 0a00a cpx 0= ?] + 0a00a dec tya cli 0A0 # cmp 0= ?[ bl # lda ]? ]? Push0A jmp end-code From 969d1b7c985a8285b7c06a0d03828c54050c1605 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 30 Aug 2020 22:41:33 +0200 Subject: [PATCH 14/37] Adapt curon/curoff to X16 --- 6502/C64/src/vf-sys-x16.fth | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 9353314..882b84d 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -55,14 +55,35 @@ Code getkey ( -- 8b) \ C64 curon curoff +00C837 >label screen_get_char_color +00C8CC >label screen_restore_state +00C8B4 >label screen_save_state +00C830 >label screen_set_char_color + 037B >label blnsw \ C64: $cc + 037C >label blnct \ C64: $cd + 037D >label gdbln \ C64: $ce + 037E >label blnon \ C64: $cf + 0262 >label pnt \ C64: $d1 + 0380 >label pntr \ C64: $d3 + 0373 >label gdcol + Code curon ( --) - 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx +\ 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx + screen_save_state jsr + pntr ldy screen_get_char_color jsr gdbln sta gdcol stx + 0 # ldx blnsw stx \ TODO: use stz + screen_restore_state jsr xyNext jmp end-code Code curoff ( --) - iny 0CC sty 0CD sty 0CF stx - 0CE lda 0D3 ldy 0D1 )Y sta - 1 # ldy Next jmp end-code +\ iny 0CC sty 0CD sty 0CF stx +\ 0CE lda 0D3 ldy 0D1 )Y sta +\ 1 # ldy Next jmp end-code + screen_save_state jsr + 2 # ldy blnsw sty blnct sty 0 # ldx blnon stx \ TODO: use stz + gdbln lda gdcol ldx pntr ldy screen_set_char_color jsr + screen_restore_state jsr + xyNext jmp end-code include vf-sys-cbm.fth From f74c431d6bc3e7ebbd8a40e8b76c2005fad9e2fb Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:11:24 +0200 Subject: [PATCH 15/37] Remove KeyRep setting that doesn't exist on X16 --- 6502/C64/src/vf-sys-x16.fth | 1 - 1 file changed, 1 deletion(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 882b84d..9b65eb3 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -141,7 +141,6 @@ Label first-init ink-pot lda BrdCol sta \ border ink-pot 1+ lda BkgCol sta \ backgrnd ink-pot 2+ lda PenCol sta \ pen -$80 # lda KeyRep sta \ repeat all keys $17 # lda $D018 sta \ low/upp + 0 # lda $D01A sta \ VIC-IRQ off $1B # lda $D011 sta \ Textmode on From a2b7f82d284c56d60f980f3f1900cba21464f62e Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:12:31 +0200 Subject: [PATCH 16/37] Provide Missing X16 companion to (64 and (16 in v-finalize.fth - calling it (Cx --- 6502/C64/src/vf-finalize.fth | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/6502/C64/src/vf-finalize.fth b/6502/C64/src/vf-finalize.fth index 0b37fa3..e9c659e 100644 --- a/6502/C64/src/vf-finalize.fth +++ b/6502/C64/src/vf-finalize.fth @@ -13,6 +13,7 @@ Forth also definitions (C16 : (64 ) \ jumps belhind C) (C64 : (16 ) +(X16 : (CX ) BEGIN name count dup 0= abort" C) missing" 2 = >r @ [ Ascii C Ascii ) $100 * + ] Literal @@ -20,7 +21,7 @@ Forth also definitions : C) ; immediate -(C16 : (16 ) (C64 : (64 ) ; immediate +(C16 : (16 ) (C64 : (64 ) (X16 : (CX ) ; immediate : forth-83 ; \ last word in Dictionary From 9cf1e3113395baa20ed764ed53acb03da354fe61 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 31 Aug 2020 00:16:33 +0200 Subject: [PATCH 17/37] End vf-pr-target.fth with cr --- 6502/C64/src/vf-pr-target.fth | 1 + 1 file changed, 1 insertion(+) diff --git a/6502/C64/src/vf-pr-target.fth b/6502/C64/src/vf-pr-target.fth index 43b3b82..b5449cb 100644 --- a/6502/C64/src/vf-pr-target.fth +++ b/6502/C64/src/vf-pr-target.fth @@ -18,3 +18,4 @@ cr .( Target is not: ) (C16+ \ ) .( C16+64kb, ) (C16- \ ) .( C16-32kb, ) (X16 \ ) .( Cmdr X16, ) +cr From 9db1e592ee8be1e0232a799468260cc61928c5e4 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Tue, 1 Sep 2020 23:44:00 +0200 Subject: [PATCH 18/37] Adapt screen color labels and restore/nmi routine to X16 --- 6502/C64/src/vf-sys-x16.fth | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 9b65eb3..d676784 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -3,18 +3,15 @@ include vf-lbls-cbm.fth 7f fthpage -\ C64-Labels clv13.4.87) - -0d020 >label BrdCol -0d021 >label BkgCol - 0286 >label PenCol - \ X16 labels 0fede >label console_put_char 028c >label MsgFlg 028b >label OutDev 028a >label InDev +09f2c >label BrdCol + 0266 >label BkgCol + 0284 >label PenCol 8a >label PrgEnd \ aka eal; seems unused 0292 >label IOBeg \ aka stal; seems unused 0381 >label CurFlg \ aka qtsw @@ -103,25 +100,16 @@ Create ink-pot \ *** Block No. 144, Hexblock 90 90 fthpage -\ C64 restore +\ x16 restore -Label asave 0 c, Label 1save 0 c, +\ 00E00A .nnmi +\ 00FFE1 .stop +\ 00E01F .prend -Label continue - pha 1save lda 1 sta pla rti - -Label restore sei asave sta - continue $100 /mod - # lda pha # lda pha php \ for RTI - asave lda pha txa pha tya pha - 1 lda 1save sta - $36 # lda 1 sta \ Basic off ROM on - $7F # lda $DD0D sta - $DD0D ldy 0< ?[ -Label 6526-NMI $FE72 jmp ]? - UDTIM jsr STOP jsr \ RUN/STOP ? - 6526-NMI bne \ not >>--> - ' restart @ jmp end-code +Label restore pha txa pha tya pha cld +\ TODO: Replace with phx phy once 65c02 asm is available + $ffe1 jsr ( stop ) 0<> ?[ $e01f jmp ( prend ) ]? +' restart @ jmp end-code \ *** Block No. 145, Hexblock 91 From 9afb66f3047579241958a2e6558a15176fde9bf0 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 5 Sep 2020 00:24:59 +0200 Subject: [PATCH 19/37] Place Next routine at different ZP address on X16 --- 6502/C64/src/vf-cbm-core.fth | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/6502/C64/src/vf-cbm-core.fth b/6502/C64/src/vf-cbm-core.fth index ceb533a..77e7876 100644 --- a/6502/C64/src/vf-cbm-core.fth +++ b/6502/C64/src/vf-cbm-core.fth @@ -5,7 +5,10 @@ ( Zero page Variables & Next 03apr85bp) -02 dup >label RP 2+ +(C64 02 ) +(C16 02 ) +(X16 $30 ) + dup >label RP 2+ dup >label UP 2+ dup >label Puta 1+ From b8c74160cc01358b59605732667860ee3df93682 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 5 Sep 2020 00:28:20 +0200 Subject: [PATCH 20/37] First go at adapting init-system and first-init to X16 --- 6502/C64/src/vf-sys-x16.fth | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index d676784..25aa98b 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -117,22 +117,20 @@ Label restore pha txa pha tya pha cld \ C64:Init 06nov87re -: init-system $FF40 dup $C0 cmove - [ restore ] Literal dup - $FFFA ! $318 ! ; \ NMI-Vector to RAM +: init-system + [ restore ] Literal $318 ! ; \ NMI-Vector Label first-init - sei cld + sei cld \ $db c, \ for activating X16 monitor IOINIT jsr CINT jsr RESTOR jsr \ init. and set I/O-Vectors - $36 # lda 01 sta \ Basic off ink-pot lda BrdCol sta \ border ink-pot 1+ lda BkgCol sta \ backgrnd ink-pot 2+ lda PenCol sta \ pen -$17 # lda $D018 sta \ low/upp + - 0 # lda $D01A sta \ VIC-IRQ off -$1B # lda $D011 sta \ Textmode on - 4 # lda $288 sta \ low screen +\ $17 # lda $D018 sta \ low/upp + +\ 0 # lda $D01A sta \ VIC-IRQ off +\ $1B # lda $D011 sta \ Textmode on +\ 4 # lda $288 sta \ low screen cli rts end-code first-init dup bootsystem 1+ ! warmboot 1+ ! From 2b4cc92a7e3ed685e0967c653262e62a292d5f75 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sun, 1 Nov 2020 22:25:51 +0100 Subject: [PATCH 21/37] Add logging and log checking to build rules --- 6502/C64/Makefile | 18 ++++++++++-------- 6502/C64/emulator/build-vf.sh | 15 +++++++++++---- 6502/C64/src/vf-full-c16+.fth | 12 ++++++++++++ 6502/C64/src/vf-full-c16-.fth | 12 ++++++++++++ 6502/C64/src/vf-full-c64.fth | 12 ++++++++++++ 6502/C64/src/vf-lite-c16+.fth | 12 ++++++++++++ 6502/C64/src/vf-lite-c16-.fth | 12 ++++++++++++ 6502/C64/src/vf-lite-c64.fth | 12 ++++++++++++ 6502/C64/src/vf-lite-x16.fth | 12 ++++++++++++ 9 files changed, 105 insertions(+), 12 deletions(-) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index dfa8422..efa83c1 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -44,7 +44,7 @@ lite64: test-lite-c64.result debug-64: emulator/tcbase.T64 emulator/build-vf.sh \ disks/vforth4_2.d64 disks/tc38q.d64 $(vf_fth_files_petscii) - emulator/build-vf.sh vf-c64-main.fth + emulator/build-vf.sh vf-c64-main nosave run-devenv: emulator/devenv.T64 emulator/run-in-vice.sh devenv @@ -65,26 +65,28 @@ cbmfiles/tcbase: emulator/c64-vf-390.T64 emulator/build-tcbase.sh \ $(vf_binaries): emulator/tcbase.T64 emulator/build-vf.sh \ disks/tc38q.d64 $(vf_fth_files_petscii) +$(vf_binaries): cbmfiles/logtofile.fth + cbmfiles/vf-full-c64: - emulator/build-vf.sh vf-full-c64.fth vf-full-c64 + emulator/build-vf.sh vf-full-c64 cbmfiles/vf-full-c16+: - emulator/build-vf.sh vf-full-c16+.fth vf-full-c16+ + emulator/build-vf.sh vf-full-c16+ cbmfiles/vf-full-c16-: - emulator/build-vf.sh vf-full-c16-.fth vf-full-c16- + emulator/build-vf.sh vf-full-c16- cbmfiles/vf-lite-c64: - emulator/build-vf.sh vf-lite-c64.fth vf-lite-c64 + emulator/build-vf.sh vf-lite-c64 cbmfiles/vf-lite-c16+: - emulator/build-vf.sh vf-lite-c16+.fth vf-lite-c16+ + emulator/build-vf.sh vf-lite-c16+ cbmfiles/vf-lite-c16-: - emulator/build-vf.sh vf-lite-c16-.fth vf-lite-c16- + emulator/build-vf.sh vf-lite-c16- cbmfiles/vf-lite-x16: - emulator/build-vf.sh vf-lite-x16.fth vf-lite-x16 + emulator/build-vf.sh vf-lite-x16 # Core test targets diff --git a/6502/C64/emulator/build-vf.sh b/6502/C64/emulator/build-vf.sh index 9f8ef01..f7fed6c 100755 --- a/6502/C64/emulator/build-vf.sh +++ b/6502/C64/emulator/build-vf.sh @@ -10,13 +10,20 @@ set -e emulatordir="$(dirname "${BASH_SOURCE[0]}")" basedir="$(realpath --relative-to="$PWD" "${emulatordir}/..")" -source="$1" -target="$2" +target="${1}" +source="${target}.fth" +logfile="${target}.log" +nosave="${2}" -test -n "$target" && rm -f "${basedir}/cbmfiles/${target}" +test -z "${nosave}" && rm -f "${basedir}/cbmfiles/${target}" +rm -f "${basedir}/cbmfiles/${logfile}" keybuf="include ${source}\nsave-target ${target}\ndos s0:notdone\n" -test -z "$target" && keybuf="include ${source}\n" +test -n "${nosave}" && keybuf="include ${source}\n" DISK10=tc38q "${emulatordir}/run-in-vice.sh" \ "tcbase" "${keybuf}" + +petscii2ascii "${basedir}/cbmfiles/${logfile}" | \ + grep -F 'target compile complete' || \ + (echo "check logfile ${basedir}/cbmfiles/${logfile}" && exit 1) diff --git a/6502/C64/src/vf-full-c16+.fth b/6502/C64/src/vf-full-c16+.fth index 8419bb9..fba1a28 100644 --- a/6502/C64/src/vf-full-c16+.fth +++ b/6502/C64/src/vf-full-c16+.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c16+.fth \ The actual volksForth sources @@ -15,4 +24,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-full-c16-.fth b/6502/C64/src/vf-full-c16-.fth index 6bc240e..6d8db8b 100644 --- a/6502/C64/src/vf-full-c16-.fth +++ b/6502/C64/src/vf-full-c16-.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c16-.fth \ The actual volksForth sources @@ -15,4 +24,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-full-c64.fth b/6502/C64/src/vf-full-c64.fth index ff6dce3..2f9d3a3 100644 --- a/6502/C64/src/vf-full-c64.fth +++ b/6502/C64/src/vf-full-c64.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c64.fth \ The actual volksForth sources @@ -15,4 +24,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-lite-c16+.fth b/6502/C64/src/vf-lite-c16+.fth index bd3d436..df6acc3 100644 --- a/6502/C64/src/vf-lite-c16+.fth +++ b/6502/C64/src/vf-lite-c16+.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c16+.fth \ The actual volksForth sources @@ -14,4 +23,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-lite-c16-.fth b/6502/C64/src/vf-lite-c16-.fth index 1f2f6fe..2c7cf11 100644 --- a/6502/C64/src/vf-lite-c16-.fth +++ b/6502/C64/src/vf-lite-c16-.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c16-.fth \ The actual volksForth sources @@ -14,4 +23,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-lite-c64.fth b/6502/C64/src/vf-lite-c64.fth index 4a956d8..1686f73 100644 --- a/6502/C64/src/vf-lite-c64.fth +++ b/6502/C64/src/vf-lite-c64.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-c64.log" + include vf-trg-c64.fth \ The actual volksForth sources @@ -14,4 +23,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit diff --git a/6502/C64/src/vf-lite-x16.fth b/6502/C64/src/vf-lite-x16.fth index 6581f9e..bcedc01 100644 --- a/6502/C64/src/vf-lite-x16.fth +++ b/6502/C64/src/vf-lite-x16.fth @@ -1,6 +1,15 @@ +\ with build log: +' noop alias \log +\ without build log: +\ ' \ alias \log + +\log include logtofile.fth + include vf-tc-prep.fth +\log logopen" vf-lite-x16.log" + include vf-trg-x16.fth \ The actual volksForth sources @@ -14,4 +23,7 @@ include vf-finalize.fth include vf-memsetup.fth include vf-pr-target.fth +.( target compile complete) cr +\log logclose + quit From ac3caee218dd8fd7cc3c9d629e448680ba14f149 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 2 Nov 2020 23:02:27 +0100 Subject: [PATCH 22/37] Remove cbmfiles/test.log before running any test-x.fth, and fix names of log files in all but vf-lite-c64.fth build scripts --- 6502/C64/Makefile | 6 ++++++ 6502/C64/src/vf-full-c16+.fth | 2 +- 6502/C64/src/vf-full-c16-.fth | 2 +- 6502/C64/src/vf-full-c64.fth | 2 +- 6502/C64/src/vf-lite-c16+.fth | 2 +- 6502/C64/src/vf-lite-c16-.fth | 2 +- 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index efa83c1..d8ca20c 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -94,31 +94,37 @@ cbmfiles/vf-lite-x16: $(test_logs): $(test_files_petscii) emulator/run-in-vice.sh test-full-c64.log: emulator/vf-full-c64.T64 disks/scratch.d64 + rm -f cbmfiles/test.log DISK9=scratch emulator/run-in-vice.sh vf-full-c64 \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-lite-c64.log: emulator/vf-lite-c64.T64 + rm -f cbmfiles/test.log emulator/run-in-vice.sh vf-lite-c64 \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-full-c16+.log: emulator/vf-full-c16+.T64 disks/scratch.d64 + rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-full-c16+ \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-lite-c16+.log: emulator/vf-lite-c16+.T64 + rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16+ \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-full-c16-.log: emulator/vf-full-c16-.T64 + rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-full-c16- \ "include run-min-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-lite-c16-.log: emulator/vf-lite-c16-.T64 + rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16- \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ diff --git a/6502/C64/src/vf-full-c16+.fth b/6502/C64/src/vf-full-c16+.fth index fba1a28..b166789 100644 --- a/6502/C64/src/vf-full-c16+.fth +++ b/6502/C64/src/vf-full-c16+.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" vf-full-c16+.log" include vf-trg-c16+.fth diff --git a/6502/C64/src/vf-full-c16-.fth b/6502/C64/src/vf-full-c16-.fth index 6d8db8b..3441dbc 100644 --- a/6502/C64/src/vf-full-c16-.fth +++ b/6502/C64/src/vf-full-c16-.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" vf-full-c16-.log" include vf-trg-c16-.fth diff --git a/6502/C64/src/vf-full-c64.fth b/6502/C64/src/vf-full-c64.fth index 2f9d3a3..8c2535f 100644 --- a/6502/C64/src/vf-full-c64.fth +++ b/6502/C64/src/vf-full-c64.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" vf-full-c64.log" include vf-trg-c64.fth diff --git a/6502/C64/src/vf-lite-c16+.fth b/6502/C64/src/vf-lite-c16+.fth index df6acc3..f0fce4f 100644 --- a/6502/C64/src/vf-lite-c16+.fth +++ b/6502/C64/src/vf-lite-c16+.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" vf-lite-c16+.log" include vf-trg-c16+.fth diff --git a/6502/C64/src/vf-lite-c16-.fth b/6502/C64/src/vf-lite-c16-.fth index 2c7cf11..1f851f2 100644 --- a/6502/C64/src/vf-lite-c16-.fth +++ b/6502/C64/src/vf-lite-c16-.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" vf-lite-c16-.log" include vf-trg-c16-.fth From 3b8db813a8c296dbae5de807acf8f6b1624ac01f Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Wed, 4 Nov 2020 16:35:54 +0100 Subject: [PATCH 23/37] Move platform-specific (bye from fv-sys-cbm.fth to platform-specific files. --- 6502/C64/src/vf-sys-c16.fth | 4 ++++ 6502/C64/src/vf-sys-c64.fth | 2 ++ 6502/C64/src/vf-sys-cbm.fth | 6 ------ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/6502/C64/src/vf-sys-c16.fth b/6502/C64/src/vf-sys-c16.fth index dd4624d..eab3bdd 100644 --- a/6502/C64/src/vf-sys-c16.fth +++ b/6502/C64/src/vf-sys-c16.fth @@ -126,3 +126,7 @@ Code C64fkeys \ Pushkeys a la C64 [[ dex 0>= ?[[ InitPKs ,X lda PKeys ,x sta ]]? xyNext jmp end-code + +(C16- | Create (bye $FFF6 here 2- ! ) + +(C16+ | CODE (bye rom $FFF6 jmp end-code ) diff --git a/6502/C64/src/vf-sys-c64.fth b/6502/C64/src/vf-sys-c64.fth index 5d24e0b..cce6648 100644 --- a/6502/C64/src/vf-sys-c64.fth +++ b/6502/C64/src/vf-sys-c64.fth @@ -121,3 +121,5 @@ first-init dup bootsystem 1+ ! warmboot 1+ ! Code c64init first-init jsr xyNext jmp end-code + +| Create (bye $FCE2 here 2- ! diff --git a/6502/C64/src/vf-sys-cbm.fth b/6502/C64/src/vf-sys-cbm.fth index d5babd4..96cb736 100644 --- a/6502/C64/src/vf-sys-cbm.fth +++ b/6502/C64/src/vf-sys-cbm.fth @@ -95,12 +95,6 @@ Output: display [ here output ! ] c64emit c64cr c64type c64del c64page c64at c64at? ; -(C64 | Create (bye $FCE2 here 2- ! ) - -(C16- | Create (bye $FFF6 here 2- ! ) - -(C16+ | CODE (bye rom $FFF6 jmp end-code ) - \ *** Block No. 135, Hexblock 87 87 fthpage From a680fb282c4a801aaebf636b7d86505c546e8ec0 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Wed, 4 Nov 2020 20:40:55 +0100 Subject: [PATCH 24/37] Fix ConOut, curon/off and ROM mapping, yielding first X16 VolksForth that works on a first level. --- 6502/C64/cbmfiles/vf-lite-x16 | Bin 0 -> 13986 bytes 6502/C64/src/vf-sys-x16.fth | 69 +++++++++++++++++----------------- 2 files changed, 35 insertions(+), 34 deletions(-) create mode 100644 6502/C64/cbmfiles/vf-lite-x16 diff --git a/6502/C64/cbmfiles/vf-lite-x16 b/6502/C64/cbmfiles/vf-lite-x16 new file mode 100644 index 0000000000000000000000000000000000000000..ef859c690f8e74b9f3f0298e9e304b1122c23af7 GIT binary patch literal 13986 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 YVKfp=T!{4QZ{jTWH}bIBt3M(BKS(H|D*ylh literal 0 HcmV?d00001 diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 25aa98b..45cb645 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -5,7 +5,7 @@ include vf-lbls-cbm.fth \ X16 labels -0fede >label console_put_char +0c28c >label ConOut 028c >label MsgFlg 028b >label OutDev 028a >label InDev @@ -17,7 +17,17 @@ include vf-lbls-cbm.fth 0381 >label CurFlg \ aka qtsw 0385 >label InsCnt \ aka insrt -Label ConOut clc console_put_char jmp +0ded1 >label BasicColdStart + +0debf >label BasicStackRstReady +\ 0deb7 >label BasicPanic +\ 0dec3 >label BasicReady +\ 0dece >label BasicNReady + +\ TODO(pzembrod): Remove once X16 VolksForth is stabilized enough. +Code (x16abort BasicStackRstReady jmp end-code +: x16abort cr ." x16abort" cr (x16abort ; + \ C64 labels that X16 doesn't have: @@ -52,35 +62,25 @@ Code getkey ( -- 8b) \ C64 curon curoff -00C837 >label screen_get_char_color -00C8CC >label screen_restore_state -00C8B4 >label screen_save_state -00C830 >label screen_set_char_color +\ 00C837 >label screen_get_char_color +\ 00C8CC >label screen_restore_state +\ 00C8B4 >label screen_save_state +\ 00C830 >label screen_set_char_color 037B >label blnsw \ C64: $cc - 037C >label blnct \ C64: $cd - 037D >label gdbln \ C64: $ce - 037E >label blnon \ C64: $cf - 0262 >label pnt \ C64: $d1 - 0380 >label pntr \ C64: $d3 - 0373 >label gdcol +\ 037C >label blnct \ C64: $cd +\ 037D >label gdbln \ C64: $ce +\ 037E >label blnon \ C64: $cf +\ 0262 >label pnt \ C64: $d1 +\ 0380 >label pntr \ C64: $d3 +\ 0373 >label gdcol + +09f60 >label via1pb Code curon ( --) -\ 0D3 ldy 0D1 )Y lda 0CE sta 0CC stx - screen_save_state jsr - pntr ldy screen_get_char_color jsr gdbln sta gdcol stx - 0 # ldx blnsw stx \ TODO: use stz - screen_restore_state jsr - xyNext jmp end-code + blnsw stx Next jmp end-code Code curoff ( --) -\ iny 0CC sty 0CD sty 0CF stx -\ 0CE lda 0D3 ldy 0D1 )Y sta -\ 1 # ldy Next jmp end-code - screen_save_state jsr - 2 # ldy blnsw sty blnct sty 0 # ldx blnon stx \ TODO: use stz - gdbln lda gdcol ldx pntr ldy screen_set_char_color jsr - screen_restore_state jsr - xyNext jmp end-code + blnsw sty Next jmp end-code include vf-sys-cbm.fth @@ -117,22 +117,23 @@ Label restore pha txa pha tya pha cld \ C64:Init 06nov87re -: init-system +: init-system \ TODO(pzembrod): Check if this works and is needed [ restore ] Literal $318 ! ; \ NMI-Vector Label first-init - sei cld \ $db c, \ for activating X16 monitor - IOINIT jsr CINT jsr RESTOR jsr - \ init. and set I/O-Vectors + sei cld + via1pb lda $f8 # and via1pb sta \ map in KERNAL ROM + IOINIT jsr CINT jsr RESTOR jsr \ init. and set I/O-Vectors ink-pot lda BrdCol sta \ border ink-pot 1+ lda BkgCol sta \ backgrnd ink-pot 2+ lda PenCol sta \ pen -\ $17 # lda $D018 sta \ low/upp + -\ 0 # lda $D01A sta \ VIC-IRQ off -\ $1B # lda $D011 sta \ Textmode on -\ 4 # lda $288 sta \ low screen + $0e # lda ConOut jsr \ lower/uppercase cli rts end-code first-init dup bootsystem 1+ ! warmboot 1+ ! Code c64init first-init jsr xyNext jmp end-code + +| CODE (bye + via1pb lda $f8 # and $4 # ora via1pb sta \ map in BASIC ROM + BasicColdStart jmp end-code From d1a6435700ab97e9fd15086bc48c46dce36cbd31 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Wed, 4 Nov 2020 23:37:27 +0100 Subject: [PATCH 25/37] Make rules & scripts to run vf-lite-x16 in x16emu with sdcard attached --- 6502/C64/Makefile | 15 +++++++- 6502/C64/emulator/run-in-vice.sh | 4 +-- 6502/C64/emulator/run-in-x16emu.sh | 55 ++++++++++++++++++++++++++++++ 6502/C64/emulator/sdcard.sfdisk | 6 ++++ 4 files changed, 77 insertions(+), 3 deletions(-) create mode 100755 6502/C64/emulator/run-in-x16emu.sh create mode 100644 6502/C64/emulator/sdcard.sfdisk diff --git a/6502/C64/Makefile b/6502/C64/Makefile index d8ca20c..f316977 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -27,7 +27,7 @@ clean: rm -f cbmfiles/*.fr cbmfiles/*.fth cbmfiles/*.log rm -f *.log *.result *.golden rm -f cbmfiles/c??-testbase - rm -f disks/scratch.d64 + rm -f disks/scratch.d64 emulator/sdcard.img # Convenience targets @@ -129,6 +129,13 @@ test-lite-c16-.log: emulator/vf-lite-c16-.T64 "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ +test-lite-x16.log: cbmfiles/vf-lite-x16 emulator/sdcard.img + rm -f cbmfiles/test.log + emulator/run-in-x16emu.sh vf-lite-x16 \ + "include run-lite-tests.fth\n1234567890\n" + mcopy -i emulator/sdcard.img ::TEST.LOG cbmfiles/test.log + petscii2ascii cbmfiles/test.log $@ + test-%.result: test-%.log test-%.golden tests/evaluate-test.sh rm -f $@ tests/evaluate-test.sh $(basename $@) @@ -136,6 +143,12 @@ test-%.result: test-%.log test-%.golden tests/evaluate-test.sh disks/scratch.d64: disks/empty.d64 cp $< $@ +emulator/sdcard.img: emulator/sdcard.sfdisk + rm -f $@ $@.tmp + dd if=/dev/zero of=$@.tmp count=64 bs=1M + sfdisk -w always -W always $@.tmp < $< + mformat -i $@.tmp -F + mv $@.tmp $@ test-full-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double block report-blk) diff --git a/6502/C64/emulator/run-in-vice.sh b/6502/C64/emulator/run-in-vice.sh index 5511aab..683ce36 100755 --- a/6502/C64/emulator/run-in-vice.sh +++ b/6502/C64/emulator/run-in-vice.sh @@ -18,7 +18,7 @@ keybuf="" warp="" if [ -n "$2" ] then - keybuf="${2}" # dos s0:notdone\n" + keybuf="${2}" # The following could also just be a cp. ascii2petscii "${emulatordir}/notdone" "${basedir}/cbmfiles/notdone" warp="-warp" @@ -51,7 +51,7 @@ then sleep 0.5 kill9log="${basedir}/kill-9.log" - vicepid=$(jobs -p %1) + vicepid="$(jobs -p %1)" kill %1 (sleep 20; ps -q "${vicepid}" -f --no-headers && \ (kill -9 "${vicepid}" ; date)) >> "${kill9log}" 2>&1 & diff --git a/6502/C64/emulator/run-in-x16emu.sh b/6502/C64/emulator/run-in-x16emu.sh new file mode 100755 index 0000000..6912420 --- /dev/null +++ b/6502/C64/emulator/run-in-x16emu.sh @@ -0,0 +1,55 @@ +#!/bin/bash +set -e +#set -x + +emulatordir="$(realpath --relative-to="$PWD" "$(dirname "${BASH_SOURCE[0]}")")" +basedir="$(realpath --relative-to="$PWD" "${emulatordir}/..")" +cbmfilesdir="${basedir}/cbmfiles" +sdcard="${emulatordir}/sdcard.img" + +mformat -i "${sdcard}" -F +for asciifile in $(cd "${cbmfilesdir}" && ls *.fth *fr) +do + petsciifile="$(echo ${asciifile} | ascii2petscii - |tr -d '\r')" + mcopy -i "${sdcard}" "${cbmfilesdir}/$asciifile" "::${petsciifile}" +done + +autostart="" +if [ -n "$1" ] +then + autostart="-prg ${cbmfilesdir}/${1} -run" +fi + +keybuf="" +warp="" +if [ -n "$2" ] +then + keybuf="${2}" + mcopy -i "${sdcard}" "${emulatordir}/notdone" "::NOTDONE" + # warp="-warp" +fi + +x16emu \ + -keymap de \ + -scale 2 \ + -debug \ + -sdcard "${sdcard}" \ + $autostart \ + $warp \ + & + +if [ -n "$keybuf" ] +then + while mtype -i "${sdcard}" "::NOTDONE" > /dev/null + do sleep 1 + done + sleep 0.5 + + kill9log="${basedir}/kill-9.log" + x16emupid="$(jobs -p %1)" + kill %1 + (sleep 20; ps -q "${x16emupid}" -f --no-headers && \ + (kill -9 "${x16emupid}" ; date)) >> "${kill9log}" 2>&1 & +fi + +wait %1 || echo "x16emu returned $?" diff --git a/6502/C64/emulator/sdcard.sfdisk b/6502/C64/emulator/sdcard.sfdisk new file mode 100644 index 0000000..8a8c814 --- /dev/null +++ b/6502/C64/emulator/sdcard.sfdisk @@ -0,0 +1,6 @@ +label: dos +label-id: 0x00000000 +device: emulator/my-image.fat +unit: sectors + +emulator/my-image.fat1 : start= 1, size= 131040, type=c, bootable From c33fa907be3fee7096e904218f658d18231562d2 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Thu, 5 Nov 2020 23:03:39 +0100 Subject: [PATCH 26/37] Fix i/o-status? for X16 - i/o status byte is at $0286 instead of $90 --- 6502/C64/src/vf-sys-c16.fth | 2 ++ 6502/C64/src/vf-sys-c64.fth | 2 ++ 6502/C64/src/vf-sys-cbm.fth | 2 -- 6502/C64/src/vf-sys-x16.fth | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/6502/C64/src/vf-sys-c16.fth b/6502/C64/src/vf-sys-c16.fth index eab3bdd..ce4e0c6 100644 --- a/6502/C64/src/vf-sys-c16.fth +++ b/6502/C64/src/vf-sys-c16.fth @@ -55,6 +55,8 @@ end-code include vf-sys-cbm.fth +: i/o-status? $90 c@ ; + \ *** Block No. 143, Hexblock 8f \ ... continued diff --git a/6502/C64/src/vf-sys-c64.fth b/6502/C64/src/vf-sys-c64.fth index cce6648..92fcb10 100644 --- a/6502/C64/src/vf-sys-c64.fth +++ b/6502/C64/src/vf-sys-c64.fth @@ -58,6 +58,8 @@ Code curoff ( --) include vf-sys-cbm.fth +: i/o-status? $90 c@ ; + \ *** Block No. 143, Hexblock 8f \ ... continued diff --git a/6502/C64/src/vf-sys-cbm.fth b/6502/C64/src/vf-sys-cbm.fth index 96cb736..d0a4dde 100644 --- a/6502/C64/src/vf-sys-cbm.fth +++ b/6502/C64/src/vf-sys-cbm.fth @@ -211,8 +211,6 @@ Code bus@ ( -- 8b) : businput ( adr n --) bounds ?DO bus@ I c! LOOP pause ; -: i/o-status? $90 c@ ; - : derror? ( -- flag ) disk $F busin bus@ dup Ascii 0 - IF BEGIN emit bus@ dup #cr = UNTIL diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 45cb645..7a8d929 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -85,6 +85,8 @@ Code curoff ( --) include vf-sys-cbm.fth +: i/o-status? $0286 c@ ; + \ *** Block No. 143, Hexblock 8f \ ... continued From c77bed32866cc3390b5cee7803f884d3e19b54dd Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Thu, 5 Nov 2020 23:07:21 +0100 Subject: [PATCH 27/37] Add golden file rule for x16 lite test --- 6502/C64/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index f316977..c5acc40 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -174,6 +174,10 @@ test-lite-c16-.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ +test-lite-x16.golden: $(patsubst %, tests/golden/%.golden, \ + prelim core coreext double report-noblk) + cat $? > $@ + # Rules for building Forth binaries on top of the plain vanilla # c64-volksforth83. From e7e2c7754ce4b5ee8a282179adba05e52be270ef Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 6 Nov 2020 22:50:25 +0100 Subject: [PATCH 28/37] Cleanup vc-sys-x16.fth --- 6502/C64/src/vf-sys-x16.fth | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 7a8d929..3e5062a 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -17,17 +17,6 @@ include vf-lbls-cbm.fth 0381 >label CurFlg \ aka qtsw 0385 >label InsCnt \ aka insrt -0ded1 >label BasicColdStart - -0debf >label BasicStackRstReady -\ 0deb7 >label BasicPanic -\ 0dec3 >label BasicReady -\ 0dece >label BasicNReady - -\ TODO(pzembrod): Remove once X16 VolksForth is stabilized enough. -Code (x16abort BasicStackRstReady jmp end-code -: x16abort cr ." x16abort" cr (x16abort ; - \ C64 labels that X16 doesn't have: @@ -37,7 +26,7 @@ Code (x16abort BasicStackRstReady jmp end-code \ *** Block No. 129, Hexblock 81 81 fthpage -\ C64 c64key? getkey +\ X16 c64key? getkey Code c64key? ( -- flag) 0 # lda 9f61 sta @@ -60,12 +49,8 @@ Code getkey ( -- 8b) \ *** Block No. 130, Hexblock 82 82 fthpage -\ C64 curon curoff +\ X16 curon curoff -\ 00C837 >label screen_get_char_color -\ 00C8CC >label screen_restore_state -\ 00C8B4 >label screen_save_state -\ 00C830 >label screen_set_char_color 037B >label blnsw \ C64: $cc \ 037C >label blnct \ C64: $cd \ 037D >label gdbln \ C64: $ce @@ -102,11 +87,7 @@ Create ink-pot \ *** Block No. 144, Hexblock 90 90 fthpage -\ x16 restore - -\ 00E00A .nnmi -\ 00FFE1 .stop -\ 00E01F .prend +\ X16 restore Label restore pha txa pha tya pha cld \ TODO: Replace with phx phy once 65c02 asm is available @@ -117,7 +98,7 @@ Label restore pha txa pha tya pha cld \ *** Block No. 145, Hexblock 91 91 fthpage -\ C64:Init 06nov87re +\ X16:Init : init-system \ TODO(pzembrod): Check if this works and is needed [ restore ] Literal $318 ! ; \ NMI-Vector @@ -136,6 +117,4 @@ first-init dup bootsystem 1+ ! Code c64init first-init jsr xyNext jmp end-code -| CODE (bye - via1pb lda $f8 # and $4 # ora via1pb sta \ map in BASIC ROM - BasicColdStart jmp end-code +| CODE (bye $FFFC ) jmp end-code From e25e2227602ecfe8252a68360cc4958ba64cf2f8 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 6 Nov 2020 23:22:28 +0100 Subject: [PATCH 29/37] Update binaries --- 6502/C64/cbmfiles/tcbase | Bin 21668 -> 21668 bytes 6502/C64/cbmfiles/vf-full-c16+ | Bin 16095 -> 16095 bytes 6502/C64/cbmfiles/vf-full-c16- | Bin 15952 -> 15952 bytes 6502/C64/cbmfiles/vf-full-c64 | Bin 16027 -> 16027 bytes 6502/C64/cbmfiles/vf-lite-c16+ | Bin 14066 -> 14066 bytes 6502/C64/cbmfiles/vf-lite-c16- | Bin 13923 -> 13923 bytes 6502/C64/cbmfiles/vf-lite-c64 | Bin 13998 -> 13998 bytes 6502/C64/cbmfiles/vf-lite-x16 | Bin 13986 -> 13924 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/6502/C64/cbmfiles/tcbase b/6502/C64/cbmfiles/tcbase index 7c7ca152f039b3d93057fcb70c0ef5c939836a77..a243b0d05e14e3084e54e91c9f3b2e5be70337e4 100644 GIT binary patch delta 102 tcmZ3ol5xpO#tpY^JQ#rBKM+t#Z&tQtVXe6wk{beL{7Wu$Lts%Vh+1jG1QFc`$LvZ_sF zwMW62-b-b8>U5CmE*MO#($~z9cJLu%oAgdjr<-YDZ3le}2KU}ncA=Rb0_|Xkv6jHY zy;1-OdV(o)kS;rLhVgcAi?OA$%7RSLW6T@RJuIkmAXH;=YM+9E^I<`mTrt6eAf2wLIee6D>HyWOy@W~03rbSH$zH{%R(1e$oiu-fT{8b- z4;^4TzyOPF1Q4{JO$SEUFx~;~vRDc7n%913Kkbd1sUMsJyQx;`--_a6Kdz@S4|7C> zUm>9rI5`Z(&&jg{O}hSk*6HC8T*lcUoSe?6usNjb0m21?z;ijsL76?lJ#EnD+Zj2= z*^HZY{V)`Yg3Fv0Vnqq=Du!wwM74)v+oE8|FxHmlpusrVL*{`Rw~CK)Kat;)cVJJV zAZbw9#~dOK7)1Y$DEQe(O_`lTg{(7|xf=H$cx02h#$hQro6Th5sAPt8<@a;T+yoqa z#TjRx+XZH-(eXyjh3$Rrzx23kvHGk#4=i)*$SOoou~FdRx4^4a;4xegwD|&@haC72%GD)RlV^tb*x$XOwIHlPl=-f^e4MY3 zr|WOswwUVUAO=E-HP{ih72d~rQP<-m;uD?vSf@Jm;m>$+yFM)PBB2j=@!~7C_<51F z4dZ&QRm4$0-fWUUFOMYye&lE+1S%s@m9Blcf*oR0X?aNv3bAe9Rpj1w3tt|$g=z(u z%0U5|g;w+);1zOH8MWN#6e`YWQ(bKf-{)S{1?j!Yrd?>C1Evcb@oR-)9KLR$%rOpE zKUZJ;e$hC2fvg3~(m$0xOA9YZUVlBl%zZ1+g-8J+u!{uUB6a!$&s1?U+}chn{W^W< zD{6)lq&a_~sZsjPzu(lDsH{3}F}&I z@m2dO=?WSt^fo{h_D*0A{{fC7w)S&hH(=0n6lN-d@rEsnSw)joIjLo`1YJyQ%JAi{ z89GKHtU>lbGSb@&I`ZO%SLAod8bJ8>6m|*H04+`IfFOvjEVIT7O Jgc5X`{{wWk8JGY7 delta 1325 zcmY*Ye@q)?82(yXu4E&~u2;IN8wX=T;1D`WRcyH*#f8yM4GuNx5@hQiTQnwHV&dj3 zGj9B-h3TPx5Y(+3WHlo}8sjFI4QR>E0>xenAz8A;MPp3nuT&&)+4+743Gj$}LQ)Pi(_qcR`?a(bt->^){m{{!clPAz+7m8VuuS65gaWR^wd4Hwg2I2K)FFX{tBT&Pj?t*TwWSthxY#h8-M6M)MLa++czg?_RdmGL=pO%i){BPX9bol%mr zv-^3-n3+>UoO)gtMo@~2f8g|!VRT*x2d{Lv)_vd*-`;~n-c-TG;!E;O{9FD4!F2M& zg!PF23~^5Xv&r`&--AYZVk3ZJU3|iMmG_f9D9IBQ*ejF%lRrBc(KEL!!;dkY(%-eE zul=;1Mh0@kgx`VCi*^bGj$e!~P%LfzV~3?&z;K;l0(fRFsX%jR>m7`HHA0J!iyh>J zw}gicj@!!uhXtedXI=kI5DKEt1p{Cu6T$@o*M1q-?h9`VqH)bQy|M@f6Z8PR6}fE+ zc}@6{{(-&$Jqe!Pja6cTHei$pA*N+nYO&U3W2U_{6YQ!o*=$1FoOE1GY>#}W7G?L)S#8nG@noUm<0 zSz#Sn0|a-WAMqj~FC?lLlj)n4tE)NaH(1){W7G}aFbLJkijt1ckBi}d27UKkP(x^5 z>`RIfu{okh*Z0^0S3?g}<^z@KRYwQJ&~|n76EQ@oqo0bQr;U-$5N{kM)jUIp#Ff9? zE}^hU%s3rbdxrnoY!4lqOGj+xNA3-|g~zcF^eC z>jB09dcuClfu6x)btN;jfh+^xdUWfA$w~!I;ml@a>*w!zY zjNp|P9Ywk}=@& zM0kx{4rHvi8Pv9C!z=JVGe6mfRIe!}D~a{DqS4&~ZQXSZ_$?w1c*U2812$fb7SX1? znm%;WN7(Bf_EgO>#SWO?cM#7$$L!tbd*%=|$sH-4GRs_(`A*Ssm^vE03VkRLqq57Q F{|_?s6^;M^ diff --git a/6502/C64/cbmfiles/vf-full-c16- b/6502/C64/cbmfiles/vf-full-c16- index 076a2efc08ce8758d6adbb56ab4031ed562a09f7..4d60aab366efb80a800335164cdb0d8c4f3a73c8 100644 GIT binary patch delta 1277 zcmY*Ye@Giw9Dj+47fHq1%floz@%V~XA)})!;cH^y!fcF*+$Ush1{m+U|@e#SZTYY6P5)N zRuUMVK)^mOd{QhmW6EQJ!gyjOk!AR~LW#Z#o(VaL>J;(33J${Dg;h1RwDc0>mbEEE z1mNWD@L9b?N5GT;Z(OqIu55o9b`F9g&{8hMm9@m8(hI+&xOO;0InEjTsO!exEdB~O z2rfcuFM#3gFj?ONC3+ByLaLm&tY%}de`3za{bHXf>bso4_j0ju7r(!Vt(p zio~at6^3UWf4^Yg)ZyQu1;dNWDHXScbvz`vOFsc9mpCL=Tq zcB`yE?BDSY0T!9{U~Cz{p2v_x2SE!mVX#C(xUk!rKXNDtK0qXm>_!^f-DStv1EA5V z(r3}H?9c2y+@T=2sFUCX;$}3z=SUEYB9dZaB~1$2<%ChA^Dlaz6G2p5$z)O)JgeD& zz&Z-rP#DeQ(Yr6%C!G%Ppn+_s8m}ClbpE5wIo2C`oCiP{?IPP4Aw>s)f~IByKhl4)$hol?u`nueM>-pvyQs}HNdd-W;QOOuHFHdN+|V(1P|H3WE{ zbv={FDyp)WO=TGVD6=mkR<-FmdLmFKZ^ANNZ$IdC?VeZQe`XRr3_kQ(;t4gm`x12e zQ^-1woyF!Ud~1h6(w9d9_TGdZVa12!=uaP2bKFytsa|LJG23Szs`V}Iwb%Wxo@K^` dbH($vX`$Knu;?Rv$yo3{?n8kXYw+5Q{{hr}?v?-m delta 1223 zcmY*XUrbw796l{Aw}^zn?JakgIWBYj5e}h+(oF2Q=iK2k*Q%s$6QeT()0i!Lkols6 z$hJ6vH7&-=18JCIHxg<>)HKUX7UO^xSIb(wZ6QlcATH5}f3gRMJP@zvTu7J?C-7iEM6G z&8@p5T3GCs#dB_Pw5%((39lFjH?$$pBbn!#=N41F5SWI*MTsH*&2e?P7k&YTKu9vx zlgr%(05~`$HChGU0&ISE2z)A;<7#p_!NGCq)%_33I;|A_Mk?%h30iK zNuNjmy8LVeOd80gPC@p@6VIZa5wIUw>ZN#MIXR#B0DaDgr_dC`pD|uxJ~sYh@j^5L z`Vg~2;2@7ut^wp{M}UHudg_wT-9#USqek&3+f=Q1O8L%idn3A?K%Qhr17alLDp*Dg z@cd#XOWGpvYZR~3UyQhrIwaF|_;CY=gRkF*&HBr>ehv1s z0dO3f2v+?zCPhqZ-bi@>ys7j#IPAwi3qJ~XNc92Gr<2eG7N<0?b6)@`nA#`POElTr z!kF+R2;;+*f3mwVH*V1} zdnYRY)}s7M`-MuXwvB8Ogw{0*)-aPyr<#^Bxw{P;8wKDma_ILHP%jtLnKotbXLE^r zJ~{GF*t_L^PyA35Td!&}PC2+&n`x7SoHpZ8ExS^F3T1IEu<3nvp3~P`49G@Z^z_or_J75GSMCb({fQflWo!qqXW>Z>gdSh ziONl_PWiQ^r-uF)g2jp#+3OX4mXMA#S|K?;eC)vc)whL9LI(&d=UN>Fd0eMVwjQ&F zvHb|Fpb7*bMRPEZm95scJ&#a7-a2T4uRz~tVn1PHXN93edChs;P!hZ0JY8TIR*Z+{ zOU9)@)mfKNQxNxw4`b?~v&KQa<*R7xpyi~a-O&o|kSY{=hzh#nTE_z{Wt8}Et>;Su zeN9pg0_Z7TQIokuHZh;es2n`N?aIhaUAm5*2-1UBQLV1GOFG%I<2Cp{Gd~*w?|3Zn zWHzDKi)q+J diff --git a/6502/C64/cbmfiles/vf-full-c64 b/6502/C64/cbmfiles/vf-full-c64 index fbb7dd85ec2331a57f0ff82bf4b34994842d45c7..88678870326bc2d069ede32cd782c34106ba89dd 100644 GIT binary patch delta 1266 zcmZ8ge@q)y9Dgl^YrX!m=hXVtRCjQ`DfSS&X9@(o2p2s~|NwES<-Ne#P4@9|YQkkl+e+xYU#Ff@{e2sVk@m z92Y_j{fdw;pnDL}Junuydmho7IeI;p`rEz9UIe^A;t{fE?q{;`dlb`bY{}t_v;UMd z8#|>bN4d@^1nAV{i$b70HF-?>$x+UZ3dBMKi+LImy$p2L8#@=luAqq}Gj_RU98&JL zt-&sgo40eKfZt#*6;}xs4z3B5mm*vB!rcHgOBOol@uCFVw3!?N} zy{kA3&x$q!RzL_k4T`Y~(o5{&N&@=f&Ow#!Ra?jBrG6;#M;jkkoYUG2y`ocVmA+(O zR#>Bdux}M8#-%oXK^NitCEeAQvVvF#t%{bxZlzDYo-Kaop!!6eP*-oOwPDTITe0qJ z^*a2B#1%RZJk>gbpeYnS0D4==wR9pI&%_t9$uz|r((TI}wYSSU`DikEi$5jn?H8SJ z?0LEVW9B7?!E~!SmdGsT--S#kpvCyiX=J{R#&{SUaB6VD-V2c{tWcC*X|xg%?qtcF M_D=M@#^;p(0_5i9&;S4c delta 1248 zcmZ8ge@q)y9Dgl8uJ!uMmIG`?cHK^_QVNtCckfCE0kSowsDW)J1`|SP;+Fm4h!MBB zG>c&jn!?7JMF*RRt6NQBE?wLo#7Lo?HZWS-!a^d6ZblM}(TGO=Xm-ALC1Lu z`}y(xzW2t@ji38+gi>6Oj8c&j3ftL1n+W1^ELBJi#-e|90XT50{z#-(yKkp7hn+F z;0mp1@!dWEC}x(c(wGe@p!1T0;4W7bOD9(26f?uUUiw(wrorekSA6g(80a3Wt2BKw z;b*Q8DK$|HhJbE{JA0@MQzVW+cw#w`rI?V~OI`$}d_kfni9Ig@D_=anl1bjb-^9~P z(xhSvp!jzFiQP+1fk_2gxWr?%FZy2PyN3YFtE^42_-bMyKE{7a&?osIQGQ%GKwMJ( zqVlxxLtua>b_yuQ&M(?8@m_KW+~f%>c3H_L_zTxUO8N&~uoAN?={r)8QFqg#^m*ll ztDYP?48G1MT0wEK!na6a82C1M0xP8A%M@ca{86FXl5vSwA$VaanL&dx8-B#NOWrAk z#n>~k?1cZbyqmYYf-OImEo)(sT$*=;&`bJ37c4}W@5bcj$;)HQgb&hut5!gNi_>5Na4ugnR+*dRV(| zDDd<>p*JP^Cn@!}XOq1Q1cAgCraH5h$;Ka0Op~Em!b#@-DQhxxiMJgV?I9sRr=|}J z0ZVGyEv`E(jxm8)XkamqbfTAlCVLr3f;yJWRLgDQ1Co1cZ`gnnrftb3I_kTh$N$A( zN#9O>ruUK*<8@YP`q9@5-R9HJ%^J@e4}!3GufDEe1G>at>)j<`c-CptV+DkumMLZf ziig<)Ry7R3+@3;Pr>*0Y@&MXvX?$8SsgsK^HmrH973|Tsn#fh?x64i z(BDcvOeeDOOnf1mOjFE0?XFBq^=qkIZxE%8r22HZ?BTc@1)f1&!>L#=XQ0cf2gBnT@>D_=56ZRBhu) diff --git a/6502/C64/cbmfiles/vf-lite-c16+ b/6502/C64/cbmfiles/vf-lite-c16+ index 9fd1e607938266dbf5b16f2b35b655512e27e5a2..b6bc078eecb76e3fec7b8dc8e4bb2c9605b320e8 100644 GIT binary patch delta 1042 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 diff --git a/6502/C64/cbmfiles/vf-lite-c64 b/6502/C64/cbmfiles/vf-lite-c64 index 56cc5e7239b8c2eb9bb517393c3b2679e02816d1..1feb802530e88ae8298a86c56de9fc1a95a2d1c1 100644 GIT binary patch delta 1023 zcmZ8ge`p(39DkRly~InCGs(FwsJ+Nps=c%`z4hL^vrCcaf~2rbLFr#5aG>J+qoCF8 zk5HuR+K{#5#?V>k%*$gZDn~ zeSUnu?|YXHUpoBx367f0O>;S~#ii!LPrEGCVys1 zij_i~Kp^0plaKDw!kDrn(-<$V7Hgc4v1`n6;Dt@ao-*+~4mx1V@|sb;aibsdCG#AW z0yw+~?{{lV3Y??xM%7>4^Hh8g4o`w0v~`B^h4tb}VFrFm^KZa3-S)a=oSw1#WQz{K zN$@_T|GmHoBD~ps0&2`8NJF}lxUAK_hQ~h6SorUp=?=o~;IEiz!9L9E=7o-9XQJEE z6j*2^TElUPLIEpGf%wmmCJL3pDku2Z-yd`SQO9?n4Z|y?vVj}rV}BsHT0ilk7UEf4 zMd*K)R~we6iRFiN%Wl+MzuIt=k;Wvz5VB&-KZ=|*+dfLFPU>1dz9GCZwJv{6A)6B59gGW3LkVOq-3nQfD1h|bD z{H_5!jkPrci}~0YgVC62(5~qHLEq3pWt@6#;N9c_C8I<#ha$H514?8n@ delta 1005 zcmZ8gQD{?F82)dX_9nY&k|n*h3l4AOu0$K#F1_~Nb7M@AqCp};D+%hh1^#CkCB{mprW*ry<%plwqE0g*3e2V2`;=bCK`gQ|BGh)@&4`499)HfJkerK=(CzXbpCD9 z5DZB4y8|rWC_QOBD+QP#_(7r_#AU9SmQG)eXt-aD;d;WZ=kBOsUf<0r>W%u-7yYZk zF#J^RXb!ha6n@4E!_dDh(L^Da%CNl6{P*X^e@nP3=`cJqn=Rl$+04HZ+*8`AMODNz zopGa&Ebo>r&lAfFCCg@1Svp#FL@2-np$lm-Wf$IawJcg6Ga~DpUivCJ;m;-^#@@A z(aBUkpUvYtd?4D)rUNL768J?l_Zr8nb@0?h%3GUHemZ7-twzkxUB|5kh@vvGf)SE@ z1pYya+hyC|DGyKw+rAEU$Pw8W+2hkqcF4YA-*>(+73!2Dtpik~KUBRKtzI-&_FijMJHJWyWWDbA`J?V( zlTJAA{9%Vxmp;Fv)uGpI5c<7w-LP=M>$z`FXj3p@c@AC)8Wl;^L`C~3I9)pK84h`N z2R%p4dqO=JpN1)2jD;b%7Bps<;ALs8dmTLo6Azy_Q#*B2KUeCBvGqexLmS?aG>rO% zM|^F`X1XS`tQ7Kb`pEt&EFXpe+CY$nh2PQRW#|C>8lf_yo7zdg?YGk@*H@+A(q1}Y zIRMYoRn2KNPSwK!IF5EkiBolG&(dZr%1W6+R&rBQ^gw;eWdqTgav9*Wz+U?=Ec5h$ zQ0H&f{YBXBZ*TgFHleC?K~%C2bsnVc^joxnNmyQhR;D^r$T!7=A%7sbgQ+bla$XbD zIjMV`d71X?Vvgx9jmBE*N8oveOfD_S+H56qRzK&D-NTH)ai#_%8O2S_)4j+#0f+`Y=QZh`G#p?6P81;hpkDsr*oI%6jUFAKe9%&+q23_oH`AMV2Z77 zL1%F@fSbC&wpkk;Ca@)vSa_DL$tv;+&T*Q(?~WVhyR3xn5^IQl2L{^>bDQ-U8wp)! ztC6bPO%Vuer`i2?68JwTPg#-kvgW4d%n8ej;N+_0_5$hoB2b(my{zKJba9?sX-YQ@ zc$BSm+&BKpRieiWhdZ_}=Qr8_IF$QkJfhx>b+o1q(?(2vl^^#5dHQSLAd zamN28xT#j|vVWXQSPsKU&e%fQENc>XWL#ff!c0FY@AsT5&GeafdW6z!|B*30E@Kq_ zS`oF3iU~&sIg+FB0cRu}MJZ2Kdvl}hUx<&w*PIFAOs=4oSALz~d^u9j8%S3<&-34J z`g*15pGnivN>e{yQ%ezDOpj)Xeh{*Qb_mYu@0ESxHd} z3hwVB+vu=A%Fpv6oOS!%%%{f*B&$+BH&sUIJh>)SjV2!un za((#JXv->+bvq8~RZGHh6q5cw~VqBleMZsCTqq20GjlW;a<&K6W(SvFZoS#vMb9!j}x zm57>2kVAs6v&r>I$h?p%h*=-r&f;bhOoCl_xbseyh~J3w8Q>hgDWuQ8olF@xtFady@0~_AalTv_u4(x+%hAh1CG5 zUk){TiIAo)Qz7pwi`ccTCE}*mhyPE%*Dhk4yR1fjg1^0?+Iz3J??l4{&vUoBzNsq7vtS-$6nTh3%DL%Qxv0bNEa>5l*=_1E!G7A*TaK z^N4E`f70%9U2&EJQ>`aFIsm*Yg9=iEbrO|!4s{{OII~)gdu;_aCNQX-VP2z ZSJY4}6t&etocbEa=#5sP8>eP#{|k>>0FM9w delta 2030 zcmZ8iZERcR6+U(xf5fis_~w?@N~qghN}AY7aD4Ceb!=ypYIMlew#*s*!eoNqVAXW+Cd#6t|Odkk$W_i<7(UsNbI^zQW-)U*0K2+b_J?JfF&`?&je zezQNk>~3VE#!=YB>QbENioDwQb+OS!HTYQVWm!T0NwL$_5gTCZQ{`el_Y!;ZP#t!8 z9wu2WK^7L?WKUF~!!V6dm4jw}%3kW+#U`jPDs$`;*x)d{&DOOhOA)3C4nrR8R58MA zK>K~xfJJFJl~2nwQ)UO65|kMvQ-adMXYOY$dyH%BfVkpnRoxVCySlb^ae7ph%uB`e z<2@JIUF_f3UM^}p0(&`4DxcdrDuz1Uu^({_g<>YBNXe|+Cvj(3$7ya#_1<`>z3C{t z&5>E!vRaUj^Yd!Q2jIjHN1oG;lImAjbkv+*C)G@*((tS zG-Gg?*P-2&E-powH(?CQyrvDE#ccpI^GCkJWVh_xdvyqBav6nY<_%HfF?i5hm+8ur zp2y%3uQpjO;c`6Vb!022RWpEVx_5*3Kb^HbMQ@)N?%ommv3Kw|M7{d9zO=lQNy#ZM z9@VSfS$5O+)JNGV^`~6uhu-6G!K?c+foAr4uXIY@sPQ0O*13V>d&J6Y%S5)z@waj@e4c(=-9U zsY=Y`3S^>M&6*IP{$%`L%^w6Ko{09dZB2i+}^L%vDp^w|;Lq zaC*nOK{Gix9lCZs4j=mr>3qqBGV^#Lzmyo`ntcgsy+XRjLDwt(*}e6N_Flt6HZP@J zxI~NF^bm(VcMx|jy|~SS*FZAOTVJdW)Pe(Q;T*m!gh~rpv|h7BjWqK}Z-?n={Cip0 zZ9lO2qHWX`#E~V_u=s->S6#DjpLnKccWg}**a&1!(4B{~h{gEfTibW%3J2;dZme`5kBf^rj@P7w7+~3d!WOkhCx^O&mgg z{eqNIGD|TTkBq3qFY<|%gc5#BZT#xGx}+>VR&V$d)Hc8rk~wO#0%;zg!oq77in?a2 z2FTry!v%jMK9q8?P?QzdQbuwqnIz4Ky{iqacAYiRw%(AS{#qfKpZj&0TuQv@VVWNE z>jOvpFKpIXNfHU(9T2y$8&!{r9LvS_2X>}*&`i{L2<8J1w53*R_B#Rn0{$p1y1YFE z7=cRxgH$TXSMilD{_`Gymx8U^M*yI{P%bS>5vILq1a1bj#Op@agYMr08sbJ69vw|k zT`WYHZWw{apt_8v8_nheL3Igj7VUe3>I|BGG~Gc}F2eMq6$m1SLI}}$FsNFNFb|;> z4%U}sg|K{J9)ZV$nw-3%U?U6-1+^=yHTSk>1P%nXg?vF-&PSMk;~2++b?8Qz*Bkx| DHozGo From 120189901a3e5fdcbd6465920971bcff8a906d8e Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 6 Nov 2020 23:39:08 +0100 Subject: [PATCH 30/37] Cleanup run-in-x16emu.sh and associated Makefile rule --- 6502/C64/Makefile | 2 +- 6502/C64/emulator/run-in-x16emu.sh | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index c5acc40..505703b 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -132,7 +132,7 @@ test-lite-c16-.log: emulator/vf-lite-c16-.T64 test-lite-x16.log: cbmfiles/vf-lite-x16 emulator/sdcard.img rm -f cbmfiles/test.log emulator/run-in-x16emu.sh vf-lite-x16 \ - "include run-lite-tests.fth\n1234567890\n" + "INCLUDE RUN-LITE-TESTS.FTH\\X0D1234567890\\X0D" mcopy -i emulator/sdcard.img ::TEST.LOG cbmfiles/test.log petscii2ascii cbmfiles/test.log $@ diff --git a/6502/C64/emulator/run-in-x16emu.sh b/6502/C64/emulator/run-in-x16emu.sh index 6912420..889dd2c 100755 --- a/6502/C64/emulator/run-in-x16emu.sh +++ b/6502/C64/emulator/run-in-x16emu.sh @@ -1,6 +1,5 @@ #!/bin/bash set -e -#set -x emulatordir="$(realpath --relative-to="$PWD" "$(dirname "${BASH_SOURCE[0]}")")" basedir="$(realpath --relative-to="$PWD" "${emulatordir}/..")" @@ -10,6 +9,7 @@ sdcard="${emulatordir}/sdcard.img" mformat -i "${sdcard}" -F for asciifile in $(cd "${cbmfilesdir}" && ls *.fth *fr) do + # Convert filename to PETSCII, remove trailing CR. petsciifile="$(echo ${asciifile} | ascii2petscii - |tr -d '\r')" mcopy -i "${sdcard}" "${cbmfilesdir}/$asciifile" "::${petsciifile}" done @@ -22,21 +22,27 @@ fi keybuf="" warp="" +scale="" +debug="" if [ -n "$2" ] then keybuf="${2}" mcopy -i "${sdcard}" "${emulatordir}/notdone" "::NOTDONE" # warp="-warp" +else + scale="-scale 2" + debug="-debug" fi x16emu \ -keymap de \ - -scale 2 \ - -debug \ -sdcard "${sdcard}" \ $autostart \ $warp \ + $scale \ + $debug \ & + # -keybuf "$keybuf" \ if [ -n "$keybuf" ] then From 4fd93ff31995ef6feef549367e2f6e41129b56aa Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Sat, 7 Nov 2020 17:56:00 +0100 Subject: [PATCH 31/37] Remove obsolete C64 binary --- 6502/C64/cbmfiles/c64-vf-390 | Bin 15244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 6502/C64/cbmfiles/c64-vf-390 diff --git a/6502/C64/cbmfiles/c64-vf-390 b/6502/C64/cbmfiles/c64-vf-390 deleted file mode 100644 index b407c1b0b46d2a42c7d0853a005123917f1fd3df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15244 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 Date: Tue, 10 Nov 2020 22:32:07 +0100 Subject: [PATCH 32/37] Activate the -keybuf and -warp flags in run-in-x16emu.sh --- 6502/C64/emulator/run-in-x16emu.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/6502/C64/emulator/run-in-x16emu.sh b/6502/C64/emulator/run-in-x16emu.sh index 889dd2c..8cfef03 100755 --- a/6502/C64/emulator/run-in-x16emu.sh +++ b/6502/C64/emulator/run-in-x16emu.sh @@ -28,7 +28,7 @@ if [ -n "$2" ] then keybuf="${2}" mcopy -i "${sdcard}" "${emulatordir}/notdone" "::NOTDONE" - # warp="-warp" + warp="-warp" else scale="-scale 2" debug="-debug" @@ -38,11 +38,11 @@ x16emu \ -keymap de \ -sdcard "${sdcard}" \ $autostart \ + -keybuf "$keybuf" \ $warp \ $scale \ $debug \ & - # -keybuf "$keybuf" \ if [ -n "$keybuf" ] then From f111e1995d54a8493edf4cfadb856dec5b4ee3d5 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Thu, 12 Nov 2020 23:41:00 +0100 Subject: [PATCH 33/37] Rename vf-lite-* to v4th-* --- 6502/C64/Makefile | 66 +++++++++--------- 6502/C64/cbmfiles/{vf-lite-c16+ => v4th-c16+} | Bin 6502/C64/cbmfiles/{vf-lite-c16- => v4th-c16-} | Bin 6502/C64/cbmfiles/{vf-lite-c64 => v4th-c64} | Bin 6502/C64/cbmfiles/{vf-lite-x16 => v4th-x16} | Bin .../src/{vf-lite-c16+.fth => v4th-c16+.fth} | 2 +- .../src/{vf-lite-c16-.fth => v4th-c16-.fth} | 2 +- .../C64/src/{vf-lite-c64.fth => v4th-c64.fth} | 2 +- .../C64/src/{vf-lite-x16.fth => v4th-x16.fth} | 2 +- 9 files changed, 37 insertions(+), 37 deletions(-) rename 6502/C64/cbmfiles/{vf-lite-c16+ => v4th-c16+} (100%) rename 6502/C64/cbmfiles/{vf-lite-c16- => v4th-c16-} (100%) rename 6502/C64/cbmfiles/{vf-lite-c64 => v4th-c64} (100%) rename 6502/C64/cbmfiles/{vf-lite-x16 => v4th-x16} (100%) rename 6502/C64/src/{vf-lite-c16+.fth => v4th-c16+.fth} (93%) rename 6502/C64/src/{vf-lite-c16-.fth => v4th-c16-.fth} (93%) rename 6502/C64/src/{vf-lite-c64.fth => v4th-c64.fth} (93%) rename 6502/C64/src/{vf-lite-x16.fth => v4th-x16.fth} (93%) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index 505703b..c72ef17 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -5,12 +5,12 @@ vf_blk_d64_files = $(wildcard disks/*.d64) vf_blk_fth_files = $(patsubst %.d64, %.fth, $(vf_blk_d64_files)) -vf_fth_files = $(wildcard src/vf-*.fth) +vf_fth_files = $(wildcard src/vf-*.fth src/v4th-*.fth) vf_fth_files_petscii = $(patsubst src/%, cbmfiles/%, $(vf_fth_files)) vf_flavours = \ - full-c64 full-c16+ full-c16- \ - lite-c64 lite-c16+ lite-c16- lite-x16 -vf_binaries = $(patsubst %, cbmfiles/vf-%, $(vf_flavours)) + vf-full-c64 vf-full-c16+ vf-full-c16- \ + v4th-c64 v4th-c16+ v4th-c16- v4th-x16 +vf_binaries = $(patsubst %, cbmfiles/%, $(vf_flavours)) test_files = $(wildcard tests/*.f*) test_files_petscii = $(patsubst tests/%, cbmfiles/%, $(test_files)) @@ -38,13 +38,13 @@ test: $(test_resuls) test64: full64 lite64 -full64: test-full-c64.result +full64: test-vf-full-c64.result -lite64: test-lite-c64.result +lite64: test-v4th-c64.result debug-64: emulator/tcbase.T64 emulator/build-vf.sh \ disks/vforth4_2.d64 disks/tc38q.d64 $(vf_fth_files_petscii) - emulator/build-vf.sh vf-c64-main nosave + emulator/build-vf.sh v4th-c64 nosave run-devenv: emulator/devenv.T64 emulator/run-in-vice.sh devenv @@ -76,62 +76,62 @@ cbmfiles/vf-full-c16+: cbmfiles/vf-full-c16-: emulator/build-vf.sh vf-full-c16- -cbmfiles/vf-lite-c64: - emulator/build-vf.sh vf-lite-c64 +cbmfiles/v4th-c64: + emulator/build-vf.sh v4th-c64 -cbmfiles/vf-lite-c16+: - emulator/build-vf.sh vf-lite-c16+ +cbmfiles/v4th-c16+: + emulator/build-vf.sh v4th-c16+ -cbmfiles/vf-lite-c16-: - emulator/build-vf.sh vf-lite-c16- +cbmfiles/v4th-c16-: + emulator/build-vf.sh v4th-c16- -cbmfiles/vf-lite-x16: - emulator/build-vf.sh vf-lite-x16 +cbmfiles/v4th-x16: + emulator/build-vf.sh v4th-x16 # Core test targets $(test_logs): $(test_files_petscii) emulator/run-in-vice.sh -test-full-c64.log: emulator/vf-full-c64.T64 disks/scratch.d64 +test-vf-full-c64.log: emulator/vf-full-c64.T64 disks/scratch.d64 rm -f cbmfiles/test.log DISK9=scratch emulator/run-in-vice.sh vf-full-c64 \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-lite-c64.log: emulator/vf-lite-c64.T64 +test-v4th-c64.log: emulator/v4th-c64.T64 rm -f cbmfiles/test.log - emulator/run-in-vice.sh vf-lite-c64 \ + emulator/run-in-vice.sh v4th-c64 \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-full-c16+.log: emulator/vf-full-c16+.T64 disks/scratch.d64 +test-vf-full-c16+.log: emulator/vf-full-c16+.T64 disks/scratch.d64 rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-full-c16+ \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-lite-c16+.log: emulator/vf-lite-c16+.T64 +test-v4th-c16+.log: emulator/v4th-c16+.T64 rm -f cbmfiles/test.log - VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16+ \ + VICE=xplus4 emulator/run-in-vice.sh v4th-c16+ \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-full-c16-.log: emulator/vf-full-c16-.T64 +test-vf-full-c16-.log: emulator/vf-full-c16-.T64 rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh vf-full-c16- \ "include run-min-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-lite-c16-.log: emulator/vf-lite-c16-.T64 +test-v4th-c16-.log: emulator/v4th-c16-.T64 rm -f cbmfiles/test.log - VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16- \ + VICE=xplus4 emulator/run-in-vice.sh v4th-c16- \ "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-lite-x16.log: cbmfiles/vf-lite-x16 emulator/sdcard.img +test-v4th-x16.log: cbmfiles/v4th-x16 emulator/sdcard.img rm -f cbmfiles/test.log - emulator/run-in-x16emu.sh vf-lite-x16 \ + emulator/run-in-x16emu.sh v4th-x16 \ "INCLUDE RUN-LITE-TESTS.FTH\\X0D1234567890\\X0D" mcopy -i emulator/sdcard.img ::TEST.LOG cbmfiles/test.log petscii2ascii cbmfiles/test.log $@ @@ -150,31 +150,31 @@ emulator/sdcard.img: emulator/sdcard.sfdisk mformat -i $@.tmp -F mv $@.tmp $@ -test-full-c64.golden: $(patsubst %, tests/golden/%.golden, \ +test-vf-full-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double block report-blk) cat $? > $@ -test-lite-c64.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4th-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -test-full-c16+.golden: $(patsubst %, tests/golden/%.golden, \ +test-vf-full-c16+.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double block report-blk) cat $? > $@ -test-lite-c16+.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4th-c16+.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -test-full-c16-.golden: $(patsubst %, tests/golden/%.golden, \ +test-vf-full-c16-.golden: $(patsubst %, tests/golden/%.golden, \ prelim core) cat $? > $@ -test-lite-c16-.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4th-c16-.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -test-lite-x16.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4th-x16.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ diff --git a/6502/C64/cbmfiles/vf-lite-c16+ b/6502/C64/cbmfiles/v4th-c16+ similarity index 100% rename from 6502/C64/cbmfiles/vf-lite-c16+ rename to 6502/C64/cbmfiles/v4th-c16+ diff --git a/6502/C64/cbmfiles/vf-lite-c16- b/6502/C64/cbmfiles/v4th-c16- similarity index 100% rename from 6502/C64/cbmfiles/vf-lite-c16- rename to 6502/C64/cbmfiles/v4th-c16- diff --git a/6502/C64/cbmfiles/vf-lite-c64 b/6502/C64/cbmfiles/v4th-c64 similarity index 100% rename from 6502/C64/cbmfiles/vf-lite-c64 rename to 6502/C64/cbmfiles/v4th-c64 diff --git a/6502/C64/cbmfiles/vf-lite-x16 b/6502/C64/cbmfiles/v4th-x16 similarity index 100% rename from 6502/C64/cbmfiles/vf-lite-x16 rename to 6502/C64/cbmfiles/v4th-x16 diff --git a/6502/C64/src/vf-lite-c16+.fth b/6502/C64/src/v4th-c16+.fth similarity index 93% rename from 6502/C64/src/vf-lite-c16+.fth rename to 6502/C64/src/v4th-c16+.fth index f0fce4f..a73da67 100644 --- a/6502/C64/src/vf-lite-c16+.fth +++ b/6502/C64/src/v4th-c16+.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c16+.log" +\log logopen" v4th-c16+.log" include vf-trg-c16+.fth diff --git a/6502/C64/src/vf-lite-c16-.fth b/6502/C64/src/v4th-c16-.fth similarity index 93% rename from 6502/C64/src/vf-lite-c16-.fth rename to 6502/C64/src/v4th-c16-.fth index 1f851f2..aa179e2 100644 --- a/6502/C64/src/vf-lite-c16-.fth +++ b/6502/C64/src/v4th-c16-.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c16-.log" +\log logopen" v4th-c16-.log" include vf-trg-c16-.fth diff --git a/6502/C64/src/vf-lite-c64.fth b/6502/C64/src/v4th-c64.fth similarity index 93% rename from 6502/C64/src/vf-lite-c64.fth rename to 6502/C64/src/v4th-c64.fth index 1686f73..2d26f81 100644 --- a/6502/C64/src/vf-lite-c64.fth +++ b/6502/C64/src/v4th-c64.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-c64.log" +\log logopen" v4th-c64.log" include vf-trg-c64.fth diff --git a/6502/C64/src/vf-lite-x16.fth b/6502/C64/src/v4th-x16.fth similarity index 93% rename from 6502/C64/src/vf-lite-x16.fth rename to 6502/C64/src/v4th-x16.fth index bcedc01..4b656c9 100644 --- a/6502/C64/src/vf-lite-x16.fth +++ b/6502/C64/src/v4th-x16.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-lite-x16.log" +\log logopen" v4th-x16.log" include vf-trg-x16.fth From 16ba80a7dbbeaa7de3ee3ada319d3537a3e05be1 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Thu, 12 Nov 2020 23:55:43 +0100 Subject: [PATCH 34/37] Bump version 3.90 -> 3.91 --- 6502/C64/src/vf-head-c16.fth | 4 ++-- 6502/C64/src/vf-head-c64.fth | 2 +- 6502/C64/src/vf-head-x16.fth | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/6502/C64/src/vf-head-c16.fth b/6502/C64/src/vf-head-c16.fth index 5dc0cd6..2542313 100644 --- a/6502/C64/src/vf-head-c16.fth +++ b/6502/C64/src/vf-head-c16.fth @@ -28,5 +28,5 @@ here dup origin! $100 allot Create logo - (C16+ ," volksFORTH-83 3.90-C16+ " ) - (C16- ," volksFORTH-83 3.90-C16- " ) + (C16+ ," volksFORTH-83 3.91-C16+ " ) + (C16- ," volksFORTH-83 3.91-C16- " ) diff --git a/6502/C64/src/vf-head-c64.fth b/6502/C64/src/vf-head-c64.fth index 89d2cc1..45159b6 100644 --- a/6502/C64/src/vf-head-c64.fth +++ b/6502/C64/src/vf-head-c64.fth @@ -28,4 +28,4 @@ here dup origin! $100 allot Create logo - ," volksFORTH-83 3.90-C64 " + ," volksFORTH-83 3.91-C64 " diff --git a/6502/C64/src/vf-head-x16.fth b/6502/C64/src/vf-head-x16.fth index e1c2b7a..9503a1d 100644 --- a/6502/C64/src/vf-head-x16.fth +++ b/6502/C64/src/vf-head-x16.fth @@ -27,4 +27,4 @@ here dup origin! $100 allot Create logo - ," volksFORTH-83 3.90-X16 " + ," volksFORTH-83 3.91-X16 " From 9adfb7df42a161240d0d5cfdbff370460d62f9e0 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 13 Nov 2020 00:13:55 +0100 Subject: [PATCH 35/37] Rename vf-full-* to v4thblk-* and update binaries with new version --- 6502/C64/Makefile | 36 +++++++++--------- 6502/C64/cbmfiles/v4th-c16+ | Bin 14066 -> 14066 bytes 6502/C64/cbmfiles/v4th-c16- | Bin 13923 -> 13923 bytes 6502/C64/cbmfiles/v4th-c64 | Bin 13998 -> 13998 bytes 6502/C64/cbmfiles/v4th-x16 | Bin 13924 -> 13924 bytes .../cbmfiles/{vf-full-c16+ => v4thblk-c16+} | Bin 16095 -> 16095 bytes .../cbmfiles/{vf-full-c16- => v4thblk-c16-} | Bin 15952 -> 15952 bytes .../C64/cbmfiles/{vf-full-c64 => v4thblk-c64} | Bin 16027 -> 16027 bytes .../{vf-full-c16+.fth => v4thblk-c16+.fth} | 2 +- .../{vf-full-c16-.fth => v4thblk-c16-.fth} | 2 +- .../src/{vf-full-c64.fth => v4thblk-c64.fth} | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) rename 6502/C64/cbmfiles/{vf-full-c16+ => v4thblk-c16+} (99%) rename 6502/C64/cbmfiles/{vf-full-c16- => v4thblk-c16-} (99%) rename 6502/C64/cbmfiles/{vf-full-c64 => v4thblk-c64} (99%) rename 6502/C64/src/{vf-full-c16+.fth => v4thblk-c16+.fth} (93%) rename 6502/C64/src/{vf-full-c16-.fth => v4thblk-c16-.fth} (93%) rename 6502/C64/src/{vf-full-c64.fth => v4thblk-c64.fth} (93%) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index c72ef17..030088c 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -5,10 +5,10 @@ vf_blk_d64_files = $(wildcard disks/*.d64) vf_blk_fth_files = $(patsubst %.d64, %.fth, $(vf_blk_d64_files)) -vf_fth_files = $(wildcard src/vf-*.fth src/v4th-*.fth) +vf_fth_files = $(wildcard src/vf-*.fth src/v4th*.fth) vf_fth_files_petscii = $(patsubst src/%, cbmfiles/%, $(vf_fth_files)) vf_flavours = \ - vf-full-c64 vf-full-c16+ vf-full-c16- \ + v4thblk-c64 v4thblk-c16+ v4thblk-c16- \ v4th-c64 v4th-c16+ v4th-c16- v4th-x16 vf_binaries = $(patsubst %, cbmfiles/%, $(vf_flavours)) @@ -38,7 +38,7 @@ test: $(test_resuls) test64: full64 lite64 -full64: test-vf-full-c64.result +full64: test-v4thblk-c64.result lite64: test-v4th-c64.result @@ -67,14 +67,14 @@ $(vf_binaries): emulator/tcbase.T64 emulator/build-vf.sh \ $(vf_binaries): cbmfiles/logtofile.fth -cbmfiles/vf-full-c64: - emulator/build-vf.sh vf-full-c64 +cbmfiles/v4thblk-c64: + emulator/build-vf.sh v4thblk-c64 -cbmfiles/vf-full-c16+: - emulator/build-vf.sh vf-full-c16+ +cbmfiles/v4thblk-c16+: + emulator/build-vf.sh v4thblk-c16+ -cbmfiles/vf-full-c16-: - emulator/build-vf.sh vf-full-c16- +cbmfiles/v4thblk-c16-: + emulator/build-vf.sh v4thblk-c16- cbmfiles/v4th-c64: emulator/build-vf.sh v4th-c64 @@ -93,9 +93,9 @@ cbmfiles/v4th-x16: $(test_logs): $(test_files_petscii) emulator/run-in-vice.sh -test-vf-full-c64.log: emulator/vf-full-c64.T64 disks/scratch.d64 +test-v4thblk-c64.log: emulator/v4thblk-c64.T64 disks/scratch.d64 rm -f cbmfiles/test.log - DISK9=scratch emulator/run-in-vice.sh vf-full-c64 \ + DISK9=scratch emulator/run-in-vice.sh v4thblk-c64 \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ @@ -105,9 +105,9 @@ test-v4th-c64.log: emulator/v4th-c64.T64 "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-vf-full-c16+.log: emulator/vf-full-c16+.T64 disks/scratch.d64 +test-v4thblk-c16+.log: emulator/v4thblk-c16+.T64 disks/scratch.d64 rm -f cbmfiles/test.log - VICE=xplus4 emulator/run-in-vice.sh vf-full-c16+ \ + VICE=xplus4 emulator/run-in-vice.sh v4thblk-c16+ \ "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ @@ -117,9 +117,9 @@ test-v4th-c16+.log: emulator/v4th-c16+.T64 "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-vf-full-c16-.log: emulator/vf-full-c16-.T64 +test-v4thblk-c16-.log: emulator/v4thblk-c16-.T64 rm -f cbmfiles/test.log - VICE=xplus4 emulator/run-in-vice.sh vf-full-c16- \ + VICE=xplus4 emulator/run-in-vice.sh v4thblk-c16- \ "include run-min-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ @@ -150,7 +150,7 @@ emulator/sdcard.img: emulator/sdcard.sfdisk mformat -i $@.tmp -F mv $@.tmp $@ -test-vf-full-c64.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4thblk-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double block report-blk) cat $? > $@ @@ -158,7 +158,7 @@ test-v4th-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -test-vf-full-c16+.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4thblk-c16+.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double block report-blk) cat $? > $@ @@ -166,7 +166,7 @@ test-v4th-c16+.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -test-vf-full-c16-.golden: $(patsubst %, tests/golden/%.golden, \ +test-v4thblk-c16-.golden: $(patsubst %, tests/golden/%.golden, \ prelim core) cat $? > $@ diff --git a/6502/C64/cbmfiles/v4th-c16+ b/6502/C64/cbmfiles/v4th-c16+ index b6bc078eecb76e3fec7b8dc8e4bb2c9605b320e8..fd10bdb119abea7c5571a23c4f19e6ab5fdbffc5 100644 GIT binary patch delta 14 VcmeyA`zd#W4I`uBW?ROsrT{Y_1-SqK delta 14 VcmeyA`zd#W4I`t$W?ROsrT{Y<1-JkJ diff --git a/6502/C64/cbmfiles/v4th-c16- b/6502/C64/cbmfiles/v4th-c16- index ee7501389a94a9c5dbb72953ce4711df888a3db7..6ca1c4dc4158f8b3928502b75695e782b251babb 100644 GIT binary patch delta 14 VcmaEy^EhXN4I`uBW?M!zQvfhz1quKF delta 14 VcmaEy^EhXN4I`t$W?M!zQvfht1qlEE diff --git a/6502/C64/cbmfiles/v4th-c64 b/6502/C64/cbmfiles/v4th-c64 index 1feb802530e88ae8298a86c56de9fc1a95a2d1c1..ffa7748108e2ad2c9b11a072935bad3dad469b4a 100644 GIT binary patch delta 14 VcmZ3NyDoQw4I`uBW?RNWQvfTl1nmF- delta 14 VcmZ3NyDoQw4I`t$W?RNWQvfTf1nd9+ diff --git a/6502/C64/cbmfiles/v4th-x16 b/6502/C64/cbmfiles/v4th-x16 index 09f551b259336611d795d255554b7508680a5dff..72e70f0e50c5d22b91a464a05d2d4c0afcdd1278 100644 GIT binary patch delta 14 VcmaEo^CV}34I`uBW?M#eQvfi41q}cI delta 14 VcmaEo^CV}34I`t$W?M#eQvfh}1q=WH diff --git a/6502/C64/cbmfiles/vf-full-c16+ b/6502/C64/cbmfiles/v4thblk-c16+ similarity index 99% rename from 6502/C64/cbmfiles/vf-full-c16+ rename to 6502/C64/cbmfiles/v4thblk-c16+ index 18d87c5672b3c66bdd87a4d133e3fdbebf61d129..3206c941a5be8372b257f4935985928dbf84f446 100644 GIT binary patch delta 14 Vcmca#d%t#r4I`uBW?RNZwg57e1*iZ3 delta 14 Vcmca#d%t#r4I`t$W?RNZwg57Y1*ZT2 diff --git a/6502/C64/cbmfiles/vf-full-c16- b/6502/C64/cbmfiles/v4thblk-c16- similarity index 99% rename from 6502/C64/cbmfiles/vf-full-c16- rename to 6502/C64/cbmfiles/v4thblk-c16- index 4d60aab366efb80a800335164cdb0d8c4f3a73c8..045df50ef438921ee75d4f39cc2346bcf4d4a238 100644 GIT binary patch delta 14 VcmcambD?H~4I`uBW?M#KTL3TE1o;2} delta 14 VcmcambD?H~4I`t$W?M#KTL3T81o!{| diff --git a/6502/C64/cbmfiles/vf-full-c64 b/6502/C64/cbmfiles/v4thblk-c64 similarity index 99% rename from 6502/C64/cbmfiles/vf-full-c64 rename to 6502/C64/cbmfiles/v4thblk-c64 index 88678870326bc2d069ede32cd782c34106ba89dd..923d7bbcb238d1f497f7519a7eca76c05a7acc08 100644 GIT binary patch delta 14 VcmbPTJG*v+4I`uBW?RNMTL3F01l#}s delta 14 VcmbPTJG*v+4I`t$W?RNMTL3E_1ls@r diff --git a/6502/C64/src/vf-full-c16+.fth b/6502/C64/src/v4thblk-c16+.fth similarity index 93% rename from 6502/C64/src/vf-full-c16+.fth rename to 6502/C64/src/v4thblk-c16+.fth index b166789..1a512b2 100644 --- a/6502/C64/src/vf-full-c16+.fth +++ b/6502/C64/src/v4thblk-c16+.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-full-c16+.log" +\log logopen" v4thblk-c16+.log" include vf-trg-c16+.fth diff --git a/6502/C64/src/vf-full-c16-.fth b/6502/C64/src/v4thblk-c16-.fth similarity index 93% rename from 6502/C64/src/vf-full-c16-.fth rename to 6502/C64/src/v4thblk-c16-.fth index 3441dbc..b4a958a 100644 --- a/6502/C64/src/vf-full-c16-.fth +++ b/6502/C64/src/v4thblk-c16-.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-full-c16-.log" +\log logopen" v4thblk-c16-.log" include vf-trg-c16-.fth diff --git a/6502/C64/src/vf-full-c64.fth b/6502/C64/src/v4thblk-c64.fth similarity index 93% rename from 6502/C64/src/vf-full-c64.fth rename to 6502/C64/src/v4thblk-c64.fth index 8c2535f..b645129 100644 --- a/6502/C64/src/vf-full-c64.fth +++ b/6502/C64/src/v4thblk-c64.fth @@ -8,7 +8,7 @@ include vf-tc-prep.fth -\log logopen" vf-full-c64.log" +\log logopen" v4thblk-c64.log" include vf-trg-c64.fth From 607969f496106fac39b12269954d885d2e934c58 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 13 Nov 2020 01:00:51 +0100 Subject: [PATCH 36/37] Rename lite and full test targets to std and blk --- 6502/C64/Makefile | 18 +++++++++--------- .../{run-full-tests.fth => run-blk-tests.fth} | 0 .../{run-lite-tests.fth => run-std-tests.fth} | 0 3 files changed, 9 insertions(+), 9 deletions(-) rename 6502/C64/tests/{run-full-tests.fth => run-blk-tests.fth} (100%) rename 6502/C64/tests/{run-lite-tests.fth => run-std-tests.fth} (100%) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index 030088c..685cee4 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -36,11 +36,11 @@ binaries: $(vf_binaries) test: $(test_resuls) -test64: full64 lite64 +test64: std64 blk64 -full64: test-v4thblk-c64.result +blk64: test-v4thblk-c64.result -lite64: test-v4th-c64.result +std64: test-v4th-c64.result debug-64: emulator/tcbase.T64 emulator/build-vf.sh \ disks/vforth4_2.d64 disks/tc38q.d64 $(vf_fth_files_petscii) @@ -96,25 +96,25 @@ $(test_logs): $(test_files_petscii) emulator/run-in-vice.sh test-v4thblk-c64.log: emulator/v4thblk-c64.T64 disks/scratch.d64 rm -f cbmfiles/test.log DISK9=scratch emulator/run-in-vice.sh v4thblk-c64 \ - "include run-full-tests.fth\n1234567890\n" + "include run-blk-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-v4th-c64.log: emulator/v4th-c64.T64 rm -f cbmfiles/test.log emulator/run-in-vice.sh v4th-c64 \ - "include run-lite-tests.fth\n1234567890\n" + "include run-std-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-v4thblk-c16+.log: emulator/v4thblk-c16+.T64 disks/scratch.d64 rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh v4thblk-c16+ \ - "include run-full-tests.fth\n1234567890\n" + "include run-blk-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-v4th-c16+.log: emulator/v4th-c16+.T64 rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh v4th-c16+ \ - "include run-lite-tests.fth\n1234567890\n" + "include run-std-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-v4thblk-c16-.log: emulator/v4thblk-c16-.T64 @@ -126,13 +126,13 @@ test-v4thblk-c16-.log: emulator/v4thblk-c16-.T64 test-v4th-c16-.log: emulator/v4th-c16-.T64 rm -f cbmfiles/test.log VICE=xplus4 emulator/run-in-vice.sh v4th-c16- \ - "include run-lite-tests.fth\n1234567890\n" + "include run-std-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-v4th-x16.log: cbmfiles/v4th-x16 emulator/sdcard.img rm -f cbmfiles/test.log emulator/run-in-x16emu.sh v4th-x16 \ - "INCLUDE RUN-LITE-TESTS.FTH\\X0D1234567890\\X0D" + "INCLUDE RUN-STD-TESTS.FTH\\X0D1234567890\\X0D" mcopy -i emulator/sdcard.img ::TEST.LOG cbmfiles/test.log petscii2ascii cbmfiles/test.log $@ diff --git a/6502/C64/tests/run-full-tests.fth b/6502/C64/tests/run-blk-tests.fth similarity index 100% rename from 6502/C64/tests/run-full-tests.fth rename to 6502/C64/tests/run-blk-tests.fth diff --git a/6502/C64/tests/run-lite-tests.fth b/6502/C64/tests/run-std-tests.fth similarity index 100% rename from 6502/C64/tests/run-lite-tests.fth rename to 6502/C64/tests/run-std-tests.fth From c4c8524c15a2d8f1d3540e2431d136fc4d464d31 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Fri, 13 Nov 2020 01:09:02 +0100 Subject: [PATCH 37/37] Add comment pointing to where the x16emu -keybuf flag is added --- 6502/C64/emulator/run-in-x16emu.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/6502/C64/emulator/run-in-x16emu.sh b/6502/C64/emulator/run-in-x16emu.sh index 8cfef03..d228b37 100755 --- a/6502/C64/emulator/run-in-x16emu.sh +++ b/6502/C64/emulator/run-in-x16emu.sh @@ -34,6 +34,7 @@ else debug="-debug" fi +# The -keybuf flag is added in https://github.com/pzembrod/x16-emulator x16emu \ -keymap de \ -sdcard "${sdcard}" \