From ece0f104e0b17e80dea1b1429d3cb9d544ba5426 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Tue, 4 Aug 2020 01:25:07 +0200 Subject: [PATCH 1/3] Move memory size setup to top level loadfile and set it different for C16+, C16-, C64 x full and lite, enabling large dictionary for C16+ and lite versions without need for buffers. --- 6502/C64/Makefile | 2 ++ 6502/C64/cbmfiles/vf-full-c16+ | Bin 16095 -> 16095 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/src/vf-finalize.fth | 25 ------------------------- 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 ++ 6502/C64/src/vf-lite-c64.fth | 2 ++ 6502/C64/src/vf-memsetup.fth | 18 ++++++++++++++++++ 13 files changed, 32 insertions(+), 25 deletions(-) create mode 100644 6502/C64/src/vf-memsetup.fth diff --git a/6502/C64/Makefile b/6502/C64/Makefile index a9f485e..d64edad 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -30,6 +30,8 @@ clean: # Convenience targets +binaries: $(vf_binaries) + test: $(test_resuls) test64: full64 lite64 diff --git a/6502/C64/cbmfiles/vf-full-c16+ b/6502/C64/cbmfiles/vf-full-c16+ index d76c4c406f7d251b61ebb45209183771eb5c1509..912920850f36f8963b3a3fedd4ab25ae1d32af03 100644 GIT binary patch delta 28 icmca#d%t#qG}j&l4s(V*KzLxIs;WBU-_73YQ^WzLqYAMA delta 28 icmca#d%t#qG*`I-hdDzz5LRzgRaIwf*zB!7MH~Qbody ! 7B00 s0 ! 7F00 r0 ! ) - -(C16 8000 ' limit >body ! 7700 s0 ! 7b00 r0 ! ) - -\ (C16+ fd00 ' limit >body ! -\ 7B00 s0 ! 7F00 r0 ! ) - -s0 @ dup s0 2- ! 6 + s0 7 - ! -here dp ! - -Host Tudp @ Target udp ! -Host Tvoc-link @ Target voc-link ! -Host move-threads - -\ Final part of loadscreen - -Assembler nonrelocate - -.unresolved diff --git a/6502/C64/src/vf-full-c16+.fth b/6502/C64/src/vf-full-c16+.fth index becf82f..8419bb9 100644 --- a/6502/C64/src/vf-full-c16+.fth +++ b/6502/C64/src/vf-full-c16+.fth @@ -11,6 +11,8 @@ include vf-sys-c16.fth include vf-cbm-file.fth include vf-cbm-bufs.fth include vf-finalize.fth + fd00 ' limit >body ! bc00 s0 ! c000 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-full-c16-.fth b/6502/C64/src/vf-full-c16-.fth index c2185ca..6bc240e 100644 --- a/6502/C64/src/vf-full-c16-.fth +++ b/6502/C64/src/vf-full-c16-.fth @@ -11,6 +11,8 @@ include vf-sys-c16.fth include vf-cbm-file.fth include vf-cbm-bufs.fth include vf-finalize.fth + 8000 ' limit >body ! 7700 s0 ! 7b00 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-full-c64.fth b/6502/C64/src/vf-full-c64.fth index c805888..ff6dce3 100644 --- a/6502/C64/src/vf-full-c64.fth +++ b/6502/C64/src/vf-full-c64.fth @@ -11,6 +11,8 @@ include vf-sys-c64.fth include vf-cbm-file.fth include vf-cbm-bufs.fth include vf-finalize.fth + C000 ' limit >body ! 7B00 s0 ! 7F00 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-lite-c16+.fth b/6502/C64/src/vf-lite-c16+.fth index 7ea722d..bd3d436 100644 --- a/6502/C64/src/vf-lite-c16+.fth +++ b/6502/C64/src/vf-lite-c16+.fth @@ -10,6 +10,8 @@ include vf-cbm-core.fth include vf-sys-c16.fth include vf-cbm-file.fth include vf-finalize.fth + fd00 ' limit >body ! f900 s0 ! fd00 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-lite-c16-.fth b/6502/C64/src/vf-lite-c16-.fth index 52d6597..1f2f6fe 100644 --- a/6502/C64/src/vf-lite-c16-.fth +++ b/6502/C64/src/vf-lite-c16-.fth @@ -10,6 +10,8 @@ include vf-cbm-core.fth include vf-sys-c16.fth include vf-cbm-file.fth include vf-finalize.fth + 8000 ' limit >body ! 7c00 s0 ! 8000 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-lite-c64.fth b/6502/C64/src/vf-lite-c64.fth index fd668b9..4a956d8 100644 --- a/6502/C64/src/vf-lite-c64.fth +++ b/6502/C64/src/vf-lite-c64.fth @@ -10,6 +10,8 @@ include vf-cbm-core.fth include vf-sys-c64.fth include vf-cbm-file.fth include vf-finalize.fth + c000 ' limit >body ! bc00 s0 ! c000 r0 ! +include vf-memsetup.fth include vf-pr-target.fth quit diff --git a/6502/C64/src/vf-memsetup.fth b/6502/C64/src/vf-memsetup.fth new file mode 100644 index 0000000..5debb6e --- /dev/null +++ b/6502/C64/src/vf-memsetup.fth @@ -0,0 +1,18 @@ + +\ *** Block No. 125, Hexblock 7d +7d fthpage + +\ System patchup clv06aug87 + +s0 @ dup s0 2- ! 6 + s0 7 - ! +here dp ! + +Host Tudp @ Target udp ! +Host Tvoc-link @ Target voc-link ! +Host move-threads + +\ Final part of loadscreen + +Assembler nonrelocate + +.unresolved From f11c246d2c1bf21868d95ca51691046313a338a9 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Tue, 4 Aug 2020 11:46:07 +0200 Subject: [PATCH 2/3] Run full test suite for C16+, now that we have enough memory there. --- 6502/C64/Makefile | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index d64edad..4f1fc7c 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -96,14 +96,14 @@ test-lite-c64.log: emulator/vf-lite-c64.T64 "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ -test-full-c16+.log: emulator/vf-full-c16+.T64 +test-full-c16+.log: emulator/vf-full-c16+.T64 disks/scratch.d64 VICE=xplus4 emulator/run-in-vice.sh vf-full-c16+ \ - "include run-min-tests.fth\n1234567890\n" + "include run-full-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-lite-c16+.log: emulator/vf-lite-c16+.T64 VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16+ \ - "include run-min-tests.fth\n1234567890\n" + "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-full-c16-.log: emulator/vf-full-c16-.T64 @@ -132,19 +132,20 @@ test-lite-c64.golden: $(patsubst %, tests/golden/%.golden, \ prelim core coreext double report-noblk) cat $? > $@ -c16_golden_parts = $(patsubst %, tests/golden/%.golden, \ - prelim core) - -test-full-c16+.golden: $(c16_golden_parts) +test-full-c16+.golden: $(patsubst %, tests/golden/%.golden, \ + prelim core coreext double block report-blk) cat $? > $@ -test-lite-c16+.golden: $(c16_golden_parts) +test-lite-c16+.golden: $(patsubst %, tests/golden/%.golden, \ + prelim core coreext double report-noblk) cat $? > $@ -test-full-c16-.golden: $(c16_golden_parts) +test-full-c16-.golden: $(patsubst %, tests/golden/%.golden, \ + prelim core) cat $? > $@ -test-lite-c16-.golden: $(c16_golden_parts) +test-lite-c16-.golden: $(patsubst %, tests/golden/%.golden, \ + prelim core) cat $? > $@ # Rules for building Forth binaries on top of the plain vanilla From 2d488ffa8d5932e6f85f6ff7e6848a85ee5ece66 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Tue, 4 Aug 2020 12:46:39 +0200 Subject: [PATCH 3/3] Run lite instead of min test for vf-lite-c16-. With buffer memory and block code removed we now have sufficient dictionary space. --- 6502/C64/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/6502/C64/Makefile b/6502/C64/Makefile index 4f1fc7c..bd29ec8 100644 --- a/6502/C64/Makefile +++ b/6502/C64/Makefile @@ -113,7 +113,7 @@ test-full-c16-.log: emulator/vf-full-c16-.T64 test-lite-c16-.log: emulator/vf-lite-c16-.T64 VICE=xplus4 emulator/run-in-vice.sh vf-lite-c16- \ - "include run-min-tests.fth\n1234567890\n" + "include run-lite-tests.fth\n1234567890\n" petscii2ascii cbmfiles/test.log $@ test-%.result: test-%.log test-%.golden tests/evaluate-test.sh @@ -145,7 +145,7 @@ test-full-c16-.golden: $(patsubst %, tests/golden/%.golden, \ cat $? > $@ test-lite-c16-.golden: $(patsubst %, tests/golden/%.golden, \ - prelim core) + prelim core coreext double report-noblk) cat $? > $@ # Rules for building Forth binaries on top of the plain vanilla