makeasm.pl will create vendas11.asm, which, so far, includes every byte
authorNick Bannon <[email protected]>
Fri, 16 Nov 2001 17:38:39 +0000 (17:38 +0000)
committerNick Bannon <[email protected]>
Fri, 16 Nov 2001 17:38:39 +0000 (17:38 +0000)
of mapped.asm as a FCB command. This can be assembled and compared to
vend.bin with a "make test".

It appears that mapped.asm had lost some lines somewhere along the
line - fixed.

"masm" is a version of the as11 assembler I found...

ROM/Makefile [new file with mode: 0644]
ROM/makeasm.pl [new file with mode: 0755]
ROM/mapped.asm

diff --git a/ROM/Makefile b/ROM/Makefile
new file mode 100644 (file)
index 0000000..a11b1c7
--- /dev/null
@@ -0,0 +1,32 @@
+HEXDUMP=xxd
+HEXDUMP=od -A x -x
+
+.SUFFIXES: .asm .obj
+
+all: vendas11.asm
+       @true
+
+.asm.obj:
+       masm $? - bl > $*.listing
+
+vendas11.asm: mapped.asm
+       ./makeasm.pl $? > $@
+
+64kvend.bin: vend.bin
+       dd if=/dev/zero bs=32768 count=1 of=$@
+       cat $? >> $@
+
+check: test
+       @true
+
+test: vendas11.obj 64kvend.bin
+       cmp vendas11.obj 64kvend.bin
+
+x1: vendas11.obj
+       $(HEXDUMP) $? > $@
+
+x2: 64kvend.bin
+       $(HEXDUMP) $? > $@
+
+hex: x1 x2
+       diff -u x1 x2
diff --git a/ROM/makeasm.pl b/ROM/makeasm.pl
new file mode 100755 (executable)
index 0000000..c278881
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/local/bin/perl -w
+
+print "\tORG\t\$8000\n";
+
+LINE: while (<>) {
+  if (/^\s*$/) { print "\n"; next LINE; }
+  if (/^\s*;/) { print; next LINE; }
+  if (/^\s*((loop|jump82|goto91):)/) { print "${1}_$.\n"; next LINE; }
+  if (/^\s*(\w*:)/) { print "$1\n"; next LINE; }
+  if (/^\t\.word\t([a-f0-9]{4})$/) { print "\tFDB\t\$\U$1\n"; next LINE; }
+  if (/^([A-F0-9]{4}) ((([A-F0-9]{2}) )*[A-F0-9]{2})/) {
+    print ";$_";
+    @_=split(' ',$2);
+    print "\tFCB\t\$".join(', $',@_)."\n";
+
+#    print "\tFCB\t\$$3, \$$5, \$$7, \$$9\n";
+    next LINE;
+  }
+#  if (/^([A-F0-9]{4}) (([A-F0-9]{2}) )(([A-F0-9]{2}) )(([A-F0-9]{2}) )/) {
+#    print ";$_";
+#    print "\tFCB\t\$$3, \$$5, \$$7\n";
+#    next LINE;
+#  }
+#  if (/^([A-F0-9]{4}) (([A-F0-9]{2}) )(([A-F0-9]{2}) )/) {
+#    print ";$_";
+#    print "\tFCB\t\$$3, \$$5\n";
+#    next LINE;
+#  }
+#  if (/^([A-F0-9]{4}) ([A-F0-9]{2})/) {
+#    print ";$_";
+#    print "\tFCB\t\$$2\n";
+#    next LINE;
+#  }
+  if (/^\cZ$/) { next LINE; }
+  print ";$_";
+}
index 913a899..5f924c2 100644 (file)
@@ -365,6 +365,7 @@ goto1:
 821D 62              b     illegal 
 821E 83 A5 83        ...   subd #a583
 8221 C2 83           ..    sbcb #83
 821D 62              b     illegal 
 821E 83 A5 83        ...   subd #a583
 8221 C2 83           ..    sbcb #83
+8223 DF 83 FC        ...   stx 83
 8226 84 19           ..    anda #19
 8228 84 35           .5    anda #35
 822A 84 51           .Q    anda #51
 8226 84 19           ..    anda #19
 8228 84 35           .5    anda #35
 822A 84 51           .Q    anda #51
@@ -1280,6 +1281,7 @@ jump17:
 8A06 8C 72 8B        .r.   cpx #728b
 8A09 FC 8C 67        ..g   ldd 8c67
 8A0C 8C 6F BD        .o.   cpx #6fbd
 8A06 8C 72 8B        .r.   cpx #728b
 8A09 FC 8C 67        ..g   ldd 8c67
 8A0C 8C 6F BD        .o.   cpx #6fbd
+8A0F 9A 47 7E        .G~   ora 47
 8A12 8C 72 F6        .r.   cpx #72f6
 8A15 00              .     test 
 8A16 36              6     psha 
 8A12 8C 72 F6        .r.   cpx #72f6
 8A15 00              .     test 
 8A16 36              6     psha 
@@ -2117,6 +2119,7 @@ jump21:
 9178 C5 91           ..    bitb #91
 917A B5 91 BA        ...   bita 91ba
 917D 91 C2 BD        ...   cmpa c2
 9178 C5 91           ..    bitb #91
 917A B5 91 BA        ...   bita 91ba
 917D 91 C2 BD        ...   cmpa c2
+9180 9D 7E 20        .~    jsr 7e
 9183 41              A     illegal 
 9184 BD A8 64        ..d   jsr a864            ;jump99
 9187 20 3C            <    bra 3c              ;91C5
 9183 41              A     illegal 
 9184 BD A8 64        ..d   jsr a864            ;jump99
 9187 20 3C            <    bra 3c              ;91C5
@@ -2186,6 +2189,7 @@ jump76:
 9212 92 59 92        .Y.   sbca 59
 9215 4E              N     illegal 
 9216 92 56 BD        .V.   sbca 56
 9212 92 59 92        .Y.   sbca 59
 9215 4E              N     illegal 
 9216 92 56 BD        .V.   sbca 56
+9219 9D 7E 20        .~    jsr 7e
 921C 3C              <     pshx 
 921D BD A8 64        ..d   jsr a864            ;jump99
 9220 20 37            7    bra 37              ;9259
 921C 3C              <     pshx 
 921D BD A8 64        ..d   jsr a864            ;jump99
 9220 20 37            7    bra 37              ;9259
@@ -2251,6 +2255,7 @@ jump149:
 92A7 ED 92           ..    stad 92,x
 92A9 E2 92           ..    sbcb 92,x
 92AB EA BD           ..    orb bd,x
 92A7 ED 92           ..    stad 92,x
 92A9 E2 92           ..    sbcb 92,x
 92AB EA BD           ..    orb bd,x
+92AD 9D 7E 20        .~    jsr 7e
 92B0 3C              <     pshx 
 92B1 BD A8 64        ..d   jsr a864            ;jump99
 92B4 20 37            7    bra 37              ;92ED
 92B0 3C              <     pshx 
 92B1 BD A8 64        ..d   jsr a864            ;jump99
 92B4 20 37            7    bra 37              ;92ED
@@ -3315,6 +3320,7 @@ jump111:
 9C20 00              .     test 
 9C21 00              .     test 
 9C22 0A              .     clv 
 9C20 00              .     test 
 9C21 00              .     test 
 9C22 0A              .     clv 
+9C23 9D 29 9C        .).   jsr 29
 9C26 3B              ;     rti 
 9C27 9C 53 9C        .S.   cmpx 53
 9C2A 6B              k     illegal 
 9C26 3B              ;     rti 
 9C27 9C 53 9C        .S.   cmpx 53
 9C2A 6B              k     illegal 
@@ -3323,6 +3329,7 @@ jump111:
 9C31 9C C9 9C        ...   cmpx c9
 9C34 E0 9C           ..    subb 9c,x
 9C36 F7 9D 0E        ...   stb 9d0e
 9C31 9C C9 9C        ...   cmpx c9
 9C34 E0 9C           ..    subb 9c,x
 9C36 F7 9D 0E        ...   stb 9d0e
+9C39 9D 23 F6        .#.   jsr 23
 9C3C 00              .     test 
 9C3D 67 C4           g.    asr c4,x
 9C3F 02              .     idiv 
 9C3C 00              .     test 
 9C3D 67 C4           g.    asr c4,x
 9C3F 02              .     idiv 
@@ -3581,13 +3588,21 @@ jump100:
 9E96 2D A1           -.    blt a1              ;9E39
 9E98 C4 9E           ..    andb #9e
 9E9A F5 9E FE        ...   bitb 9efe
 9E96 2D A1           -.    blt a1              ;9E39
 9E98 C4 9E           ..    andb #9e
 9E9A F5 9E FE        ...   bitb 9efe
+9E9D 9F 07 9F        ...   sts 07
 9EA0 10              .     sba 
 9EA0 10              .     sba 
+9EA1 9F 19 9F        ...   sts 19
 9EA4 3B              ;     rti 
 9EA4 3B              ;     rti 
+9EA5 9F 44 9F        .D.   sts 44
 9EA8 52              R     illegal 
 9EA8 52              R     illegal 
+9EA9 9F 5B 9F        .[.   sts 5b
 9EAC 69              i     rol 
 9EAC 69              i     rol 
+9EAD 9F 72 9F        .r.   sts 72
 9EB0 80 9F           ..    suba #9f
 9EB2 89 9F           ..    adca #9f
 9EB0 80 9F           ..    suba #9f
 9EB2 89 9F           ..    adca #9f
+9EB4 97 9F A0        ...   sta 9f
+9EB7 9F AE 9F        ...   sts ae
 9EBA B7 9F C5        ...   sta 9fc5
 9EBA B7 9F C5        ...   sta 9fc5
+9EBD 9F DD 9F        ...   sts dd
 9EC0 EB A0           ..    addb a0,x
 9EC2 03              .     fdiv 
 9EC3 A0 11           ..    suba 11,x
 9EC0 EB A0           ..    addb a0,x
 9EC2 03              .     fdiv 
 9EC3 A0 11           ..    suba 11,x
@@ -6215,11 +6230,13 @@ B0F6 4A              J     deca
 B0F7 56              V     rorb 
 B0F8 61              a     illegal 
 B0F9 08              .     inx 
 B0F7 56              V     rorb 
 B0F8 61              a     illegal 
 B0F9 08              .     inx 
+B0FA 13              .     brclr 
 B0FB 33              3     pulb 
 B0FC 3E              >     wai 
 B0FD 49              I     rola 
 B0FE 54              T     lsrb 
 B0FF 60 07           `.    neg 07,x
 B0FB 33              3     pulb 
 B0FC 3E              >     wai 
 B0FD 49              I     rola 
 B0FE 54              T     lsrb 
 B0FF 60 07           `.    neg 07,x
+B101 12              .     brset 
 B102 1D 3D           .=    bclr add,x 3d,x
 B104 48              H     asla 
 B105 53              S     comb 
 B102 1D 3D           .=    bclr add,x 3d,x
 B104 48              H     asla 
 B105 53              S     comb 
@@ -6383,6 +6400,7 @@ B1C4 44              D     lsra
 B1C5 20 2D            -    bra 2d              ;B1F4
 B1C7 00              .     test 
 B1C8 09              .     dex 
 B1C5 20 2D            -    bra 2d              ;B1F4
 B1C7 00              .     test 
 B1C8 09              .     dex 
+B1C9 12              .     brset 
 B1CA 1B              .     aba 
 B1CB 24 2C           $,    bcc 2c              ;B1F9
 B1CD 35              5     txs 
 B1CA 1B              .     aba 
 B1CB 24 2C           $,    bcc 2c              ;B1F9
 B1CD 35              5     txs 
@@ -14024,6 +14042,7 @@ EE08 BD C0 BA        ...   jsr c0ba             ;display:
 EE0B CE 10 16        ...   ldx #1016
 EE0E 1D 01           ..    bclr add,x 01,x
 EE10 FF CC 05        ...   stx cc05
 EE0B CE 10 16        ...   ldx #1016
 EE0E 1D 01           ..    bclr add,x 01,x
 EE10 FF CC 05        ...   stx cc05
+EE13 DC BD E5        ...   ldd bd
 EE16 71              q     illegal 
 EE17 38              8     pulx 
 EE18 39              9     rts 
 EE16 71              q     illegal 
 EE17 38              8     pulx 
 EE18 39              9     rts 
@@ -15409,6 +15428,7 @@ FA8A CE 00 1F        ...   ldx #001f
 FA8D 1C 00           ..    bset add,x 00,x
 FA8F 20 F6            .    bra f6              ;FA87
 FA91 00              .     test 
 FA8D 1C 00           ..    bset add,x 00,x
 FA8F 20 F6            .    bra f6              ;FA87
 FA91 00              .     test 
+FA92 12              .     brset 
 FA93 C4 01           ..    andb #01
 FA95 26 33           &3    bne 33              ;FACA
 FA97 F6 00 1D        ...   ldab 001d
 FA93 C4 01           ..    andb #01
 FA95 26 33           &3    bne 33              ;FACA
 FA97 F6 00 1D        ...   ldab 001d

UCC git Repository :: git.ucc.asn.au