X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM-2003%2Fvend.asm;h=fe7d7b2a890f9ee7bd66a7a0c818af6062fd5f23;hb=b075a442ec22cd782dc7ff73985d7eb1321924c2;hp=f945890d6b7886c2a9014adb49f76fcc965f1d75;hpb=02660a62ba05d1b5b55da5a1f8634d9ae3ca472d;p=uccvend-snackrom.git diff --git a/ROM-2003/vend.asm b/ROM-2003/vend.asm index f945890..fe7d7b2 100644 --- a/ROM-2003/vend.asm +++ b/ROM-2003/vend.asm @@ -61,7 +61,7 @@ ;0bbd ;0bd8 related to 0017 and 0021 (only lower 3 bits used) ;0bd9 also related -;0bc0 machine capabilities flags +;0bc0 machine peripheral configuration flags ; bit0: have dumb mech ; bit1: have a changer ; bit2: have card reader @@ -143,6 +143,8 @@ +;0800 - 0x0fff memory bank 2k +; ;1800 Internal switches ; 7 changer INT' ; 6 Sold out. @@ -1667,6 +1669,7 @@ goto7: 8C72 39 9 rts jump75: +;fetches a price for the given slot? 8C73 F6 00 06 ... ldab 0006 8C76 4F O clra 8C77 05 . asld @@ -1882,17 +1885,20 @@ jump19: 8E5A F6 00 09 ... ldab 0009 8E5D 4F O clra 8E5E BD FE 32 ..2 jsr fe32 ;jump25 -8E61 8E 7B 00 00 .{.. ; array data for jump25 -8E65 8E 81 00 01 .... -8E69 8E 87 00 04 .... -8E6D 8F 01 00 05 .... -8E71 8F 09 00 01 .... -8E75 8F 0C FF F5 .... +8E61 8E 7B 00 00 .{.. ; no key +8E65 8E 81 00 01 .... ; key 1 - toggle? +8E69 8E 87 00 04 .... ; key 5 - save and next +8E6D 8F 01 00 05 .... ; key 0 - exit +8E71 8F 09 00 01 .... ; key reset - exit +8E75 8F 0C FF F5 .... ; default 8E79 00 00 .. ; end of array data -8E7B BD 9C 15 ... jsr 9c15 ;jump111 +; +8E7B BD 9C 15 ... jsr 9c15 ;jump111 - write the option name 8E7E 7E 8F 0C ~.. jmp 8f0c ;goto12 +; 8E81 BD A7 5F .._ jsr a75f ;jump133 8E84 7E 8F 0C ~.. jmp 8f0c ;goto12 +; 8E87 F6 00 48 ..H ldab 0048 8E8A C1 08 .. cmpb #08 8E8C 25 05 %. bcs 05 @@ -1906,12 +1912,14 @@ jump19: 8EA0 F6 00 48 ..H ldab 0048 8EA3 C1 01 .. cmpb #01 8EA5 26 0F &. bne 0f +; 8EA7 F6 00 67 ..g ldab 0067 8EAA C4 02 .. andb #02 8EAC 26 08 &. bne 08 8EAE F6 00 48 ..H ldab 0048 8EB1 CB 02 .. addb #02 8EB3 F7 00 48 ..H stab 0048 +; 8EB6 F6 00 48 ..H ldab 0048 8EB9 C1 02 .. cmpb #02 8EBB 26 0A &. bne 0a @@ -1940,8 +1948,9 @@ jump19: 8EF3 7F 00 48 ..H clr 0048 8EF6 F6 0B C0 ... ldab 0bc0 8EF9 F7 00 67 ..g stab 0067 -8EFC BD 9C 15 ... jsr 9c15 ;jump111 +8EFC BD 9C 15 ... jsr 9c15 ;jump111 - write the next option 8EFF 20 0B . bra 0b +; 8F01 BD A4 59 ..Y jsr a459 ;jump110 8F04 BD 85 AF ... jsr 85af ;jump14 8F07 20 03 . bra 03 @@ -2620,13 +2629,10 @@ jump203: 9551 CC B0 B8 ... ldd #b0b8 ; "SELECTION?" 9554 BD C0 BA ... jsr c0ba ;display: 9557 CE 00 19 ... ldx #0019 -955A 1D 00 .. bclr add,x 00,x -955C 80 CE .. suba #ce -955E 00 . test -955F 1D 1D 00 ... bclr 1d,x, #00 -9562 80 7F .. suba #7f -9564 00 . test -9565 54 T lsrb +955A 1D 00 80 .. bclr 00,x, #80 +955D CE 00 1D .. ldx #001d +9560 1D 00 80 ... bclr 00,x, #80 +9562 7F 00 54 .. clr 0054 9566 C6 32 .2 ldab #32 9568 F7 00 3A ..: stab 003a 956B F6 00 0A ... ldab 000a @@ -2682,10 +2688,8 @@ jump203: 95DF F7 00 3A ..: stab 003a 95E2 20 09 . bra 09 95E4 CE 00 19 ... ldx #0019 -95E7 1C 00 .. bset add,x 00,x -95E9 80 7F .. suba #7f -95EB 00 . test -95EC 3A : abx +95E7 1C 00 80 .. bset 00,x, #80 +95E9 7F 00 3A .. clr 003a 95ED BD BE 01 ... jsr be01 ;jump70 95F0 7C 00 54 |.T inc 0054 95F3 F6 00 54 ..T ldab 0054 @@ -2721,23 +2725,19 @@ jump203: 9638 CE 00 1F ... ldx #001f 963B 1D 00 40 ... bclr 00,x, #40 963E 7F 00 2C .., clr 002c -9641 BD 9A 47 ..G jsr 9a47 ;jump39 +9641 BD 9A 47 ..G jsr 9a47 ;jump39 - display price on screen 9644 20 0C . bra 0c 9646 CE 00 1D ... ldx #001d -9649 1D 00 .. bclr add,x 00,x -964B 80 CE .. suba #ce -964D 00 . test -964E 19 . daa -964F 1C 00 .. bset add,x 00,x -9651 80 20 . suba #20 -9653 06 . tap +9649 1D 00 80 .. bclr 00,x, #80 +964C CE 00 19 .. ldx #0019 +964F 1C 00 80 .. bset 00,x, #80 +9652 20 06 . bra 06 9654 CE 00 1D ... ldx #001d -9657 1D 00 .. bclr add,x 00,x -9659 80 20 . suba #20 -; 965a goto93 -965B 2B F6 +. bmi f6 -; 965C -;goto16 +9657 1D 00 80 .. bclr 00,x, #80 +goto93: +965A 20 2B . bra 2b +goto16: +965C F6 00 +. bmi f6 965D 00 . test 965E 1D 2C ., bclr add,x 2c,x 9660 26 BD &. bne bd @@ -3170,6 +3170,7 @@ jump102: 9A46 39 9 rts jump39: +; write a slot, price, etc to screen. 9A47 BD BE 4B ..K jsr be4b ;displayblank 9A4A F6 00 06 ... ldab 0006 9A4D 4F O clra @@ -3196,7 +3197,7 @@ jump39: 9A87 F6 00 19 ... ldab 0019 9A8A C4 10 .. andb #10 9A8C 27 07 '. beq 07 -9A8E C6 2A .* ldab #2a +9A8E C6 2A .* ldab #2a ; '*' 9A90 F7 0B 92 ... stab 0b92 9A93 20 05 . bra 05 9A95 C6 20 . ldab #20 @@ -3272,7 +3273,7 @@ jump39: 9B47 20 0B . bra 0b 9B49 CE 00 01 ... ldx #0001 9B4C 3C < pshx -9B4D CC 00 58 ..X ldd #0058 +9B4D CC 00 58 ..X ldd #0058 ; 'X' 9B50 BD BD B5 ... jsr bdb5 ;jump78 9B53 38 8 pulx 9B54 CE 10 28 ..( ldx #1028 @@ -3359,23 +3360,21 @@ jump111: 9C18 F6 00 48 ..H ldab 0048 9C1B 4F O clra 9C1C BD FE 16 ... jsr fe16 ;jump2 -9C1F 00 . test -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 -9C2B 9C 83 9C ... cmpx 83 -9C2E 9B 9C B2 ... adda 9c -9C31 9C C9 9C ... cmpx c9 -9C34 E0 9C .. subb 9c,x -9C36 F7 9D 0E ... stab 9d0e -9C39 9D 23 F6 .#. jsr 23 -9C3C 00 . test -9C3D 67 C4 g. asr c4,x -9C3F 02 . idiv +9C1F 00 00 00 0A . 0..10 +9C23 9D 29 .). ; +9C25 9C 3B ; ; +9C27 9C 53 .S. ; +9C29 9C 6B k ; +9C2B 9C 83 ... ; +9C2D 9C 9B ... ; +9C2F 9C B2 ... ; +9C31 9C C9 ... ; +9C33 9C E0 ... ; +9C35 9C F7 .. ; +9C37 9D 0E ... ; +9C39 9D 23 .#. ; +9C3B F6 00 67 . ldab 0067 +9C3D C4 02 g. andb #02 9C40 27 08 '. beq 08 9C42 CC AF 00 ... ldd #af00 ; "LNK MSTR Y" 9C45 BD C0 BA ... jsr c0ba ;display: @@ -3383,6 +3382,7 @@ jump111: 9C4A CC AF 0B ... ldd #af0b ; "LNK MSTR N" 9C4D BD C0 BA ... jsr c0ba ;display: 9C50 7E 9D 29 ~.) jmp 9d29 ;goto18 +; 9C53 F6 00 67 ..g ldab 0067 9C56 C4 10 .. andb #10 9C58 27 08 '. beq 08 @@ -3392,6 +3392,7 @@ jump111: 9C62 CC AF 4D ..M ldd #af4d ; "PRC HOLD N" 9C65 BD C0 BA ... jsr c0ba ;display: 9C68 7E 9D 29 ~.) jmp 9d29 ;goto18 +; 9C6B F6 00 67 ..g ldab 0067 9C6E C4 20 . andb #20 9C70 27 08 '. beq 08 @@ -3401,6 +3402,7 @@ jump111: 9C7A CC AF 63 ..c ldd #af63 ; "PRC DISP N" 9C7D BD C0 BA ... jsr c0ba ;display: 9C80 7E 9D 29 ~.) jmp 9d29 ;goto18 +; 9C83 F6 00 67 ..g ldab 0067 9C86 C4 01 .. andb #01 9C88 27 08 '. beq 08 @@ -4683,24 +4685,23 @@ jump133: A75F F6 00 48 ..H ldab 0048 A762 4F O clra A763 BD FE 16 ... jsr fe16 ;jump2 -A766 00 . test -A767 00 . test -A768 00 . test -A769 09 . dex -A76A A7 DC .. staa dc,x -A76C A7 80 .. staa 80,x -A76E A7 87 .. staa 87,x -A770 A7 8E .. staa 8e,x -A772 A7 95 .. staa 95,x -A774 A7 9C .. staa 9c,x -A776 A7 A3 .. staa a3,x -A778 A7 AA .. staa aa,x -A77A A7 B1 .. staa b1,x -A77C A7 C4 .. staa c4,x -A77E A7 D7 .. staa d7,x +A766 00 00 00 09 . test +A76A A7 DC .. ; +A76C A7 80 .. ; +A76E A7 87 .. ; +A770 A7 8E .. ; +A772 A7 95 .. ; +A774 A7 9C .. ; +A776 A7 A3 .. ; +A778 A7 AA .. ; +A77A A7 B1 .. ; +A77C A7 C4 .. ; +A77E A7 D7 .. ; +; A780 C6 02 .. ldab #02 A782 F7 00 02 ... stab 0002 A785 20 55 U bra 55 +; A787 C6 10 .. ldab #10 A789 F7 00 02 ... stab 0002 A78C 20 4E N bra 4e @@ -7936,7 +7937,7 @@ BDB4 39 9 rts jump78: ; start/finish sending a byte to the display -; stack parameter - 0 to disable clock (finish), 1 to enable clock (start) +; stack parameter - 0 to disable display clock (for reading keypad), 1 to enable ; lower 8-bits of D - byte to write to display. ; bytes with bit 7 unset are characters (0-127) ; bytes with bit 7 set are control commands. @@ -8046,15 +8047,15 @@ BE68 39 9 rts displayreset: ; Reset the display -; Clear bit 7 of PortA - display reset +; Clear bit 7 of PortA - display reset (active low) BE69 CE 10 00 ... ldx #1000 BE6C 1D 00 80 .. bclr x,#80 BE6F BD E5 96 ... jsr e596 ;jump115 - 100ms delay -; Clear bit 7 of PortA - reset line back to high (not active) +; Clear bit 7 of PortA - reset line back to high BE72 CE 10 00 ... ldx #1000 BE75 1C 00 80 .. bset 00,x, #80 -; set clock polarity +; set SPI enable BE78 CE 10 28 ... ldx #1028 BE7B 1C 00 40 ... bset 00,x, #40 @@ -8074,7 +8075,7 @@ BE90 CC 00 E0 ... ldd #00e0 ;11100000 BE93 BD BD B5 ... jsr bdb5 ;jump78 BE96 38 8 pulx -; revert clock polarity +; revert SPI enable BE97 CE 10 28 ..( ldx #1028 BE9A 1D 00 40 ... bclr 00,x, #40 BE9D 39 9 rts @@ -8441,7 +8442,7 @@ C0F8 1D 00 20 .. bclr 00,x, #20 C0FB 5F . clrb C0FC 4F O clra C0FD 39 9 rts - +; C0FE CE 00 14 ... ldx #0014 C101 1C 00 01 ... bset 00,x, #01 C104 F6 00 14 ... ldab 0014 @@ -8463,7 +8464,7 @@ C12B 1D 00 20 .. bclr 00,x, #20 C12D 5F _ clrb C12F 4F O clra C130 39 9 rts - +; C131 20 E6 . bra e6 C133 FC 00 3E ..> ldd 003e C136 F3 00 40 ..@ addd 0040 @@ -8562,7 +8563,7 @@ C1F6 A3 04 .. subd 04,x C1F8 38 8 pulx C1F9 38 8 pulx C1FA 24 11 $. bcc 11 -C1FC CE 00 C8 ... ldx #00c8 +C1FC CE 00 C8 ... ldx #00c8 ; 200 C1FF 3C < pshx C200 CC FF 38 ..8 ldd #ff38 ; -200 C203 37 7 pshb @@ -8640,7 +8641,7 @@ C28E 3C < pshx C28F FC 0C FF ... ldd 0cff C292 37 7 pshb C293 36 6 psha -C294 CE FC 18 ... ldx #fc18 +C294 CE FC 18 ... ldx #fc18 ; -1000 C297 3C < pshx C298 CC 03 E7 ... ldd #03e7 C29B 30 0 tsx @@ -8652,9 +8653,9 @@ C2A2 A3 04 .. subd 04,x C2A4 38 8 pulx C2A5 38 8 pulx C2A6 24 11 $. bcc 11 -C2A8 CE 03 E8 ... ldx #03e8 +C2A8 CE 03 E8 ... ldx #03e8 ; 1000 C2AB 3C < pshx -C2AC CC FC 18 ... ldd #fc18 +C2AC CC FC 18 ... ldd #fc18 ; -1000 C2AF 37 7 pshb C2B0 36 6 psha C2B1 CC 0C FF ... ldd #0cff @@ -8663,7 +8664,7 @@ C2B7 31 1 ins C2B8 31 1 ins C2B9 20 53 S bra 53 C2BB FC 0C E5 ... ldd 0ce5 -C2BE 83 C3 4F ..O subd #c34f +C2BE 83 C3 4F ..O subd #c34f ; 49999 C2C1 26 05 &. bne 05 C2C3 5F _ clrb C2C4 4F O clra @@ -8671,12 +8672,12 @@ C2C5 FD 0C E5 ... std 0ce5 C2C8 FE 0C E5 ... ldx 0ce5 C2CB 08 . inx C2CC FF 0C E5 ... stx 0ce5 -C2CF CE 07 D0 ... ldx #07d0 +C2CF CE 07 D0 ... ldx #07d0 ; 2000 C2D2 3C < pshx C2D3 CC 00 00 ... ldd #0000 C2D6 37 7 pshb C2D7 36 6 psha -C2D8 CC 0D 03 ... ldd #0d03 +C2D8 CC 0D 03 ... ldd #0d03 ; 3331 C2DB BD FB DF ... jsr fbdf ;jump46 C2DE 31 1 ins C2DF 31 1 ins @@ -8685,9 +8686,9 @@ C2E3 3C < pshx C2E4 FC 0D 03 ... ldd 0d03 C2E7 37 7 pshb C2E8 36 6 psha -C2E9 CE D9 30 ..0 ldx #d930 +C2E9 CE D9 30 ..0 ldx #d930 ; -9936 C2EC 3C < pshx -C2ED CC 05 F5 ... ldd #05f5 +C2ED CC 05 F5 ... ldd #05f5 ; 1525 C2F0 30 0 tsx C2F1 A3 02 .. subd 02,x C2F3 32 2 pula @@ -8697,12 +8698,12 @@ C2F7 A3 04 .. subd 04,x C2F9 38 8 pulx C2FA 38 8 pulx C2FB 24 11 $. bcc 11 -C2FD CE 26 D0 .&. ldx #26d0 +C2FD CE 26 D0 .&. ldx #26d0 ; 9936 C300 3C < pshx -C301 CC FA 0A ... ldd #fa0a +C301 CC FA 0A ... ldd #fa0a ; -1526 C304 37 7 pshb C305 36 6 psha -C306 CC 0D 03 ... ldd #0d03 +C306 CC 0D 03 ... ldd #0d03 ; 3331 C309 BD FB DF ... jsr fbdf ;jump46 C30C 31 1 ins C30D 31 1 ins @@ -8711,14 +8712,11 @@ C30E F6 00 15 ... ldab 0015 C311 2C 02 ,. bge 02 C313 20 F9 . bra f9 C315 CE 00 15 ... ldx #0015 -C318 1D 00 .. bclr add,x 00,x -C31A 1F CE 00 1D .... brclr ce,x 00 1d -;goto34 -; c31b??? -C31E 1D 00 .. bclr add,x 00,x -C320 20 CC . bra cc -C322 00 . test -C323 01 . nop +C318 1D 00 1F .. bclr 00,x, #1f +goto34: +C31B CE 00 1D ... ldx #001d +C31E 1D 00 20 .. bclr 00,x, #20 +C320 CC 00 01 . ldd #0001 C324 39 9 rts jump64: @@ -9063,10 +9061,10 @@ C67C 39 9 rts jump124: ; chat to changer C67D F6 00 30 ..0 ldab 0030 -C680 26 55 &U bne 55 +C680 26 55 &U bne 55 ; to c6d7 C682 F6 0B C0 ... ldab 0bc0 -C685 C4 04 .. andb #04 -C687 26 4E &N bne 4e +C685 C4 04 .. andb #04 ; have a card reader +C687 26 4E &N bne 4e ; to c6d7 C689 C6 27 .' ldab #27 C68B F7 10 2D ..- stab 102d ; disable SCI transmission C68E C6 07 .. ldab #07 @@ -9078,7 +9076,7 @@ C69C F7 30 00 .0. stab 3000 ; keypad strobe C69F CC 00 14 ... ldd #0014 C6A2 BD E5 71 ..q jsr e571 ;msdelay C6A5 F6 0B C0 ... ldab 0bc0 -C6A8 C4 01 .. andb #01 +C6A8 C4 01 .. andb #01 ; have a dumb mech C6AA 27 06 '. beq 06 C6AC CE 0B C1 ... ldx #0bc1 C6AF 1C 00 01 ... bset 00,x, #01 ; set changer powerup error bit @@ -9096,6 +9094,7 @@ C6CD F7 00 30 ..0 stab 0030 C6D0 C6 1E .. ldab #1e C6D2 F7 00 35 ..5 stab 0035 C6D5 20 5D ] bra 5d +; C6D7 F6 18 00 ... ldab 1800 C6DA 2D 2A -* blt 2a C6DC F6 00 07 ... ldab 0007 @@ -9238,7 +9237,7 @@ C7E6 39 9 rts jump37: C7E7 37 7 pshb C7E8 36 6 psha -C7E9 C6 32 .2 ldab #32 ; 50 +C7E9 C6 32 .2 ldab #32 ; 50 00110010 C7EB F7 00 31 ..1 stab 0031 C7EE 30 0 tsx C7EF E6 01 .. ldab 01,x @@ -9270,6 +9269,7 @@ C81B 39 9 rts sciinterrupt: C81C 34 4 des +; make sure this interrupt is valid C81D F6 0B C0 ... ldab 0bc0 C820 C4 01 .. andb #01 ; do we have a dumb mech? C822 26 0A &. bne 0a ; if so, to c82e @@ -9280,7 +9280,7 @@ C829 26 03 &. bne 03 ; if so, to c82e C82B 7E CB FF ~.. jmp cbff ; else to goto44 ; C82E C6 96 .. ldab #96 ; 150 -C830 F7 00 30 ..0 stab 0030 ; changer related still +C830 F7 00 30 ..0 stab 0030 ; changer related still? C833 F6 10 2E ... ldab 102e ; SCI status C836 C4 02 .. andb #02 ; test for Framing Error C838 26 0B &. bne 0b ; if so, to c845 @@ -9737,22 +9737,25 @@ CBF6 F7 00 26 ..& stab 0026 CBF9 7F 00 3D ..= clr 003d CBFC 7E CE 46 ~.F jmp ce46 ;goto47 (exit) ; +; +; +; +; goto44: CBFF F6 0B C0 ... ldab 0bc0 ; do we have a changer? CC02 C4 02 .. andb #02 CC04 26 03 &. bne 03 ; if so, swallow & exit CC06 7E CE 3B ~.; jmp ce3b ; goto54 - swallow a byte & exit - ; else ; CC09 F6 10 2F ../ ldab 102f ; read SCI data -CC0C C4 E0 .. andb #e0 -CC0E C1 20 . cmpb #20 +CC0C C4 E0 .. andb #e0 ; 11100000 +CC0E C1 20 . cmpb #20 ; 00100000 CC10 27 03 '. beq 03 CC12 7E CE 3B ~.; jmp ce3b ;goto54 - swallow a byte & exit ; -CC15 C6 32 .2 ldab #32 ; 50 +CC15 C6 32 .2 ldab #32 ; 50 00110010 CC17 F7 00 2F ../ stab 002f -CC1A CE 00 1B ... ldx #001b +CC1A CE 00 1B ... ldx #001b ; say we have a link master? CC1D 1C 00 02 ... bset 00,x, #02 CC20 F6 10 2E ... ldab 102e ; SCI status CC23 C4 02 .. andb #02 ; test for Framing Error @@ -9778,9 +9781,10 @@ CC4C 7E CE 39 ~.9 jmp ce39 ;goto55 - exit CC4F F6 00 08 ... ldab 0008 CC52 26 03 &. bne 03 CC54 7E CD 94 ~.. jmp cd94 ;goto56 +; CC57 F6 10 2F ../ ldab 102f ; read SCI data -CC5A C4 F0 .. andb #f0 -CC5C C1 20 . cmpb #20 +CC5A C4 F0 .. andb #f0 ; 11110000 +CC5C C1 20 . cmpb #20 ; 00100000 CC5E 27 03 '. beq 03 CC60 7E CD 94 ~.. jmp cd94 ;goto56 CC63 F6 10 2F ../ ldab 102f ; read SCI data @@ -9970,7 +9974,7 @@ CDC3 F6 00 1F ... ldab 001f CDC6 C4 08 .. andb #08 CDC8 27 0C '. beq 0c CDCA F6 0B C0 ... ldab 0bc0 -CDCD C4 10 .. andb #10 +CDCD C4 10 .. andb #10 ; have link master price holding CDCF 27 05 '. beq 05 CDD1 7C 00 75 |.u inc 0075 CDD4 20 03 . bra 03 @@ -9988,7 +9992,7 @@ CDEF F6 00 1F ... ldab 001f CDF2 C4 08 .. andb #08 CDF4 27 0A '. beq 0a CDF6 F6 0B C0 ... ldab 0bc0 -CDF9 C4 10 .. andb #10 +CDF9 C4 10 .. andb #10 ; have link master price holding CDFB 27 03 '. beq 03 CDFD 7C 00 75 |.u inc 0075 CE00 20 1C . bra 1c @@ -10518,7 +10522,7 @@ D213 F6 00 1F ... ldab 001f D216 C4 04 .. andb #04 D218 26 12 &. bne 12 D21A F6 0B C0 ... ldab 0bc0 -D21D C4 10 .. andb #10 ; am i link master? +D21D C4 10 .. andb #10 ; have link master price holding D21F 26 0B &. bne 0b D221 CE 00 00 ... ldx #0000 D224 3C < pshx @@ -12083,11 +12087,11 @@ DE0F C6 14 .. ldab #14 DE11 F7 00 2C .., stab 002c DE14 39 9 rts -dump118: +jump118: DE15 F6 00 1B ... ldab 001b DE18 C4 01 .. andb #01 DE1A 26 03 &. bne 03 -DE1C 7E DE A4 ~.. jmp dea4 ;goto70 +DE1C 7E DE A4 ~.. jmp dea4 ;goto70 - return DE1F F6 00 06 ... ldab 0006 DE22 4F O clra DE23 05 . asld @@ -12098,29 +12102,31 @@ DE2A 84 08 .. anda #08 DE2C 27 76 'v beq 76 DE2E F6 00 11 ... ldab 0011 DE31 C4 08 .. andb #08 -DE33 26 33 &3 bne 33 +DE33 26 33 &3 bne 33 ; to de68 DE35 F6 00 06 ... ldab 0006 DE38 F1 0B AF ... cmpb 0baf -DE3B 27 20 ' beq 20 +DE3B 27 20 ' beq 20 ; to de5d DE3D F6 00 06 ... ldab 0006 DE40 F1 0B AE ... cmpb 0bae -DE43 27 18 '. beq 18 +DE43 27 18 '. beq 18 ; to de5d DE45 F6 00 06 ... ldab 0006 DE48 F1 0B AD ... cmpb 0bad -DE4B 27 10 '. beq 10 +DE4B 27 10 '. beq 10 ; to de5d DE4D F6 00 06 ... ldab 0006 DE50 F1 0B AC ... cmpb 0bac -DE53 27 08 '. beq 08 +DE53 27 08 '. beq 08 ; to de5d DE55 F6 00 06 ... ldab 0006 DE58 F1 0B AB ... cmpb 0bab -DE5B 26 0B &. bne 0b +DE5B 26 0B &. bne 0b ; to de68 +; DE5D CE 00 1B ... ldx #001b DE60 1D 00 01 ... bclr 00,x, #01 DE63 7F 00 4F ..O clr 004f -DE66 20 3C < bra 3c +DE66 20 3C < bra 3c ; return +; DE68 FC 00 44 ..D ldd 0044 DE6B B3 0B B7 ... subd 0bb7 -DE6E 23 2B #+ bls 2b +DE6E 23 2B #+ bls 2b ; to de99 - return DE70 FC 00 40 ..@ ldd 0040 DE73 F3 00 3E ..> addd 003e DE76 37 7 pshb @@ -12132,14 +12138,15 @@ DE81 30 0 tsx DE82 A3 00 .. subd 00,x DE84 31 1 ins DE85 31 1 ins -DE86 22 13 ". bhi 13 +DE86 22 13 ". bhi 13 ; to de9b DE88 FC 0B B7 ... ldd 0bb7 -DE8B 27 0E '. beq 0e +DE8B 27 0E '. beq 0e ; to de9b DE8D FC 00 44 ..D ldd 0044 DE90 B3 0B B7 ... subd 0bb7 DE93 F3 00 44 ..D addd 0044 DE96 FD 00 44 ..D std 0044 -DE99 20 09 . bra 09 +DE99 20 09 . bra 09 ; return +; DE9B CE 00 1B ... ldx #001b DE9E 1D 00 01 ... bclr 00,x, #01 DEA1 7F 00 4F ..O clr 004f @@ -12183,33 +12190,36 @@ DEE6 39 9 rts jump116: ; revolves around coinage DEE7 F6 0B C0 ... ldab 0bc0 -DEEA C4 01 .. andb #01 -DEEC 26 07 &. bne 07 +DEEA C4 01 .. andb #01 ; have a dumb mech +DEEC 26 07 &. bne 07 ; to def5 DEEE F6 0B C0 ... ldab 0bc0 -DEF1 C4 04 .. andb #04 -DEF3 27 15 '. beq 15 +DEF1 C4 04 .. andb #04 ; have a card reader +DEF3 27 15 '. beq 15 ; if not to df0a +; have dumb mech: DEF5 C6 FF .. ldab #ff DEF7 F7 0B BC ... stab 0bbc DEFA F6 00 15 ... ldab 0015 -DEFD 2D 03 -. blt 03 +DEFD 2D 03 -. blt 03 ; to df02 DEFF BD C6 7D ..} jsr c67d ;jump124 - chat to changer DF02 BD D6 6B ..k jsr d66b ;jump107 - chat to bill acceptor DF05 BD DC A3 ... jsr dca3 ;jump29 -DF08 20 25 % bra 25 +DF08 20 25 % bra 25 ; to df2f +; test the link master? DF0A F6 0B C0 ... ldab 0bc0 -DF0D C4 02 .. andb #02 -DF0F 27 1E '. beq 1e +DF0D C4 02 .. andb #02 ;have link master +DF0F 27 1E '. beq 1e ; to df2f DF11 F6 00 2F ../ ldab 002f -DF14 26 19 &. bne 19 +DF14 26 19 &. bne 19 ; to df2f DF16 F6 00 1B ... ldab 001b DF19 C4 02 .. andb #02 -DF1B 26 12 &. bne 12 +DF1B 26 12 &. bne 12 ; to df2f DF1D CC 00 FF ... ldd #00ff DF20 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port DF23 CE 00 1B ... ldx #001b DF26 1C 00 02 .. bset 00,x, #02 DF29 CE 0B C1 ... ldx #0bc1 DF2C 1C 00 04 .. bset 00,x, #04 ; set link powerup error bit +; DF2F F6 00 21 ..! ldab 0021 DF32 C4 20 . andb #20 DF34 27 07 '. beq 07 @@ -12262,7 +12272,7 @@ DFA5 F6 0C D9 ... ldab 0cd9 DFA8 C1 04 .. cmpb #04 DFAA 24 07 $. bcc 07 DFAC F6 0B C0 ... ldab 0bc0 -DFAF C4 01 .. andb #01 +DFAF C4 01 .. andb #01 ; have a dumb mech DFB1 26 07 &. bne 07 DFB3 F6 00 21 ..! ldab 0021 DFB6 C4 40 .@ andb #40 @@ -12299,7 +12309,7 @@ DFF7 BD C0 2E ... jsr c02e ;jump71 - display DFFA 38 8 pulx DFFB 20 66 f bra 66 DFFD F6 0B C0 ... ldab 0bc0 -E000 C4 08 .. andb #08 +E000 C4 08 .. andb #08 ; have link master price holding E002 27 52 'R beq 52 E004 F6 0B C1 ... ldab 0bc1 E007 C4 08 .. andb #08 ; test bill error bit @@ -12394,33 +12404,33 @@ E0CD C4 7F .. andb #7f E0CF 4F O clra E0D0 FD 00 4D ..M std 004d E0D3 F6 0B C0 ... ldab 0bc0 -E0D6 2C 05 ,. bge 05 +E0D6 2C 05 ,. bge 05 ; free vend E0D8 5F _ clrb E0D9 4F O clra E0DA FD 00 44 ..D std 0044 E0DD F6 0B C0 ... ldab 0bc0 -E0E0 C4 02 .. andb #02 +E0E0 C4 02 .. andb #02 ; have a changer E0E2 26 03 &. bne 03 -E0E4 BD DE 15 ... jsr de15 ;dump118 +E0E4 BD DE 15 ... jsr de15 ;jump118 E0E7 F6 00 11 ... ldab 0011 E0EA C4 20 . andb #20 E0EC 26 1A &. bne 1a E0EE F6 0B C0 ... ldab 0bc0 -E0F1 C4 02 .. andb #02 +E0F1 C4 02 .. andb #02 ; have a changer E0F3 26 13 &. bne 13 E0F5 FC 00 40 ..@ ldd 0040 E0F8 F3 00 3E ..> addd 003e E0FB B3 00 44 ..D subd 0044 E0FE 25 08 %. bcs 08 E100 F6 0B C0 ... ldab 0bc0 -E103 2D 03 -. blt 03 +E103 2D 03 -. blt 03 ; no free vend E105 BD DA 64 ..d jsr da64 ;jump122 E108 FC 00 40 ..@ ldd 0040 E10B F3 00 3E ..> addd 003e E10E B3 00 44 ..D subd 0044 E111 24 50 $P bcc 50 E113 F6 0B C0 ... ldab 0bc0 -E116 C4 10 .. andb #10 +E116 C4 10 .. andb #10 ; have link master price holding E118 26 49 &I bne 49 E11A F6 00 2B ..+ ldab 002b E11D C1 00 .. cmpb #00 @@ -12452,13 +12462,13 @@ E15B C6 0C .. ldab #0c E15D F7 00 2C .., stab 002c E160 7E E5 5E ~.^ jmp e55e ;goto74 E163 F6 0B C0 ... ldab 0bc0 -E166 C4 01 .. andb #01 +E166 C4 01 .. andb #01 ; have a dumb mech E168 26 11 &. bne 11 E16A F6 0B C0 ... ldab 0bc0 -E16D C4 04 .. andb #04 +E16D C4 04 .. andb #04 ; have a card reader E16F 26 0A &. bne 0a E171 F6 0B C0 ... ldab 0bc0 -E174 C4 0F .. andb #0f +E174 C4 0F .. andb #0f ; have any coin input mechanism E176 27 03 '. beq 03 E178 7E E3 35 ~.5 jmp e335 ;goto75 E17B FC 00 40 ..@ ldd 0040 @@ -12469,31 +12479,31 @@ E187 F6 00 15 ... ldab 0015 E18A C4 01 .. andb #01 E18C 27 08 '. beq 08 E18E FC 10 16 ... ldd 1016 -E191 83 00 64 ..d subd #0064 +E191 83 00 64 ..d subd #0064 ; 100 E194 25 3C %< bcs 3c E196 F6 00 15 ... ldab 0015 E199 C4 02 .. andb #02 E19B 27 08 '. beq 08 E19D FC 10 16 ... ldd 1016 -E1A0 83 00 C8 ... subd #00c8 +E1A0 83 00 C8 ... subd #00c8 ; 200 E1A3 25 2D %- bcs 2d E1A5 F6 00 15 ... ldab 0015 E1A8 C4 04 .. andb #04 E1AA 27 08 '. beq 08 E1AC FC 10 16 ... ldd 1016 -E1AF 83 01 F4 ... subd #01f4 +E1AF 83 01 F4 ... subd #01f4 ; 500 E1B2 25 1E %. bcs 1e E1B4 F6 00 15 ... ldab 0015 E1B7 C4 08 .. andb #08 E1B9 27 08 '. beq 08 E1BB FC 10 16 ... ldd 1016 -E1BE 83 03 E8 ... subd #03e8 +E1BE 83 03 E8 ... subd #03e8 ; 1000 E1C1 25 0F %. bcs 0f E1C3 F6 00 15 ... ldab 0015 E1C6 C4 10 .. andb #10 E1C8 27 13 '. beq 13 E1CA FC 10 16 ... ldd 1016 -E1CD 83 07 D0 ... subd #07d0 +E1CD 83 07 D0 ... subd #07d0 ; 2000 E1D0 24 0B $. bcc 0b E1D2 BD C0 E0 ... jsr c0e0 ;jump94 E1D5 83 00 00 ... subd #0000 @@ -12568,7 +12578,7 @@ E25E BD FB DF ... jsr fbdf ;jump46 E261 31 1 ins E262 31 1 ins E263 F6 0B C0 ... ldab 0bc0 -E266 2C 78 ,x bge 78 +E266 2C 78 ,x bge 78 ; free vend E268 F6 00 06 ... ldab 0006 E26B 4F O clra E26C 05 . asld @@ -12670,7 +12680,7 @@ E32F 1D 00 08 ... bclr 00,x, #08 ; clear bill error bit E332 7E E5 5E ~.^ jmp e55e ;goto74 goto75: E335 F6 0B C0 ... ldab 0bc0 -E338 C4 02 .. andb #02 +E338 C4 02 .. andb #02 ; have a changer E33A 26 03 &. bne 03 E33C 7E E5 5E ~.^ jmp e55e ;goto74 E33F 5F _ clrb @@ -12683,7 +12693,7 @@ E34D 1D 00 02 ... bclr 00,x, #02 E350 FC 00 44 ..D ldd 0044 E353 26 1C &. bne 1c E355 F6 0B C0 ... ldab 0bc0 -E358 C4 10 .. andb #10 +E358 C4 10 .. andb #10 ; have link master price holding E35A 26 08 &. bne 08 E35C CE 00 21 ..! ldx #0021 E35F 1C 00 .. bset add,x 00,x @@ -12696,12 +12706,12 @@ E36B 05 . asld E36C F7 00 75 ..u stab 0075 E36F 20 57 W bra 57 E371 F6 0B C0 ... ldab 0bc0 -E374 C4 10 .. andb #10 +E374 C4 10 .. andb #10 ; have link master price holding E376 27 50 'P beq 50 E378 FC 00 40 ..@ ldd 0040 E37B 26 4B &K bne 4b E37D F6 0B C0 ... ldab 0bc0 -E380 C4 20 . andb #20 +E380 C4 20 . andb #20 ; have link master price holding - price display E382 27 3E '> beq 3e E384 CE 00 17 ... ldx #0017 E387 1C 00 01 ... bset 00,x, #01 @@ -12772,7 +12782,7 @@ E429 CE 00 21 ..! ldx #0021 E42C 1D 00 .. bclr add,x 00,x E42E 80 39 .9 suba #39 E430 F6 0B C0 ... ldab 0bc0 -E433 C4 20 . andb #20 +E433 C4 20 . andb #20 ; link master - price display E435 27 34 '4 beq 34 E437 F6 00 17 ... ldab 0017 E43A C4 01 .. andb #01 @@ -12838,10 +12848,10 @@ E4CC 5F _ clrb E4CD 4F O clra E4CE BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port E4D1 F6 0B C0 ... ldab 0bc0 -E4D4 2D 03 -. blt 03 -E4D6 7E E5 58 ~.X jmp e558 ;goto78 +E4D4 2D 03 -. blt 03 ; free vend +E4D6 7E E5 58 ~.X jmp e558 ;goto78 if not E4D9 F6 0B C0 ... ldab 0bc0 -E4DC C4 10 .. andb #10 +E4DC C4 10 .. andb #10 ; link master - price holding E4DE 26 78 &x bne 78 E4E0 F6 00 06 ... ldab 0006 E4E3 4F O clra @@ -13425,19 +13435,23 @@ E89C FD 00 0F ... std 000f E89F CC 3F FF .?. ldd #3fff E8A2 FD 00 50 ..P std 0050 E8A5 7F 00 06 ... clr 0006 +; E8A8 F6 00 06 ... ldab 0006 -E8AB C1 64 .d cmpb #64 -E8AD 24 64 $d bcc 64 +E8AB C1 64 .d cmpb #64 ; 100 +E8AD 24 64 $d bcc 64 ; to e913 - break +; E8AF F6 00 06 ... ldab 0006 E8B2 4F O clra E8B3 CE 00 05 ... ldx #0005 E8B6 02 . idiv E8B7 5D ] tstb -E8B8 27 54 'T beq 54 +E8B8 27 54 'T beq 54 ; to e90e - continue +; E8BA F6 00 06 ... ldab 0006 E8BD BD D7 A0 ... jsr d7a0 ;is_invalid_slot E8C0 83 00 00 ... subd #0000 -E8C3 26 49 &I bne 49 +E8C3 26 49 &I bne 49 ; continue +; E8C5 F6 00 06 ... ldab 0006 E8C8 4F O clra E8C9 05 . asld @@ -13449,14 +13463,14 @@ E8D2 84 3F .? anda #3f E8D4 FD 10 16 ... std 1016 E8D7 FC 10 16 ... ldd 1016 E8DA 83 27 10 .'. subd #2710 ; 10000 -E8DD 24 2F $/ bcc 2f +E8DD 24 2F $/ bcc 2f ; to e90e - continue E8DF F6 00 06 ... ldab 0006 -E8E2 BD D4 68 ..h jsr d468 ;jump51 +E8E2 BD D4 68 ..h jsr d468 ;jump51 - test bit 6 of array[0006] at 0800 E8E5 83 00 00 ... subd #0000 -E8E8 27 24 '$ beq 24 -E8EA BD D5 61 ..a jsr d561 ;jump42 +E8E8 27 24 '$ beq 24 ; to e90e - continue +E8EA BD D5 61 ..a jsr d561 ;jump42 - test bit 7 of array[0006] at 0800 E8ED 83 00 00 ... subd #0000 -E8F0 26 1C &. bne 1c +E8F0 26 1C &. bne 1c ; to e90e - continue E8F2 FC 10 16 ... ldd 1016 E8F5 B3 00 0F ... subd 000f E8F8 23 06 #. bls 06 @@ -13467,8 +13481,10 @@ E903 B3 00 50 ..P subd 0050 E906 24 06 $. bcc 06 E908 FC 10 16 ... ldd 1016 E90B FD 00 50 ..P std 0050 +; E90E 7C 00 06 |.. inc 0006 -E911 20 95 . bra 95 +E911 20 95 . bra 95 ; to e8a8 +; E913 FC 0B B7 ... ldd 0bb7 E916 27 12 '. beq 12 E918 FC 00 0F ... ldd 000f @@ -13966,7 +13982,7 @@ ECC5 FD 0B B7 ... std 0bb7 ECC8 7F 00 06 ... clr 0006 ECCB BD A6 4E ..N jsr a64e ;jump135 ECCE C6 09 .. ldab #09 -ECD0 F7 0B C0 ... stab 0bc0 +ECD0 F7 0B C0 ... stab 0bc0 ; defaults to having a bill validator & dumb mech ECD3 7F 0E 6D ..m clr 0e6d ECD6 C6 01 .. ldab #01 ECD8 F7 0E 6E ..n stab 0e6e @@ -15306,7 +15322,7 @@ F89F C6 2E .. ldab #2e F8A1 F7 10 2D ..- stab 102d ; enable SCI transmission F8A4 C6 03 .. ldab #03 F8A6 F7 10 2B ..+ stab 102b ; set 9600 baud -F8A9 C6 46 .F ldab #46 ; 70 +F8A9 C6 46 .F ldab #46 ; 70 01000110 F8AB F7 00 2F ../ stab 002f F8AE CC 07 D0 ... ldd #07d0 F8B1 BD E5 71 ..q jsr e571 ;msdelay @@ -15429,7 +15445,7 @@ F9B9 1C 00 10 ... bset 00,x, #10 F9BC F6 00 1F ... ldab 001f F9BF C4 20 . andb #20 F9C1 26 03 &. bne 03 -F9C3 7E FA 74 ~.t jmp fa74 ;goto84 +F9C3 7E FA 74 ~.t jmp fa74 ;goto84 if 001f is clear F9C6 F6 0B C0 ... ldab 0bc0 F9C9 C4 01 .. andb #01 F9CB 27 08 '. beq 08 @@ -15452,8 +15468,9 @@ F9F6 CE 00 1B ... ldx #001b F9F9 1D 00 02 ... bclr 00,x, #02 F9FC F6 0B C0 ... ldab 0bc0 F9FF C4 02 .. andb #02 -FA01 27 27 '' beq 27 -FA03 C6 3C .< ldab #3c +FA01 27 27 '' beq 27 ; to fa2a +; +FA03 C6 3C .< ldab #3c ; 62 00111100 FA05 F7 00 31 ..1 stab 0031 FA08 0E . cli FA09 CC 00 FF ... ldd #00ff @@ -15467,9 +15484,10 @@ FA19 C6 2E .. ldab #2e FA1B F7 10 2D ..- stab 102d ; enable SCI transmission FA1E C6 03 .. ldab #03 FA20 F7 10 2B ..+ stab 102b ; 9600 baud -FA23 C6 46 .F ldab #46 ; 70 +FA23 C6 46 .F ldab #46 ; 70 01000110 FA25 F7 00 2F ../ stab 002f -FA28 20 31 1 bra 31 +FA28 20 31 1 bra 31 ; to fa5b +; FA2A CE 00 21 ..! ldx #0021 FA2D 1D 00 40 ... bclr 00,x, #40 FA30 BD D0 94 ... jsr d094 ;jump66 - init variables @@ -15487,7 +15505,8 @@ FA4F CE 00 1A ... ldx #001a FA52 1D 00 04 ... bclr 00,x, #04 FA55 F6 00 1A ... ldab 001a FA58 F7 30 00 .0. stab 3000 ; changer reset line low -FA5B BD D4 79 ..y jsr d479 ;jump67 +; +FA5B BD D4 79 ..y jsr d479 ;jump67 - query all motors? FA5E BD E8 9A ... jsr e89a ;jump68 FA61 BD BE 69 ..i jsr be69 ;displayreset FA64 7F 00 06 ... clr 0006 @@ -15511,13 +15530,13 @@ FA8A CE 00 1F ... ldx #001f FA8D 1C 00 .. bset 00,x, #20 FA8F F6 00 12 ... ldab 0012 FA93 C4 01 .. andb #01 -FA95 26 33 &3 bne 33 +FA95 26 33 &3 bne 33 ; to faca FA97 F6 00 1D ... ldab 001d FA9A C4 08 .. andb #08 FA9C 27 2A '* beq 2a ; to fac8, to fad0 FA9E F6 00 1F ... ldab 001f FAA1 C4 04 .. andb #04 -FAA3 26 14 &. bne 14 +FAA3 26 14 &. bne 14 ; to fab9 FAA5 CE 00 1F ... ldx #001f FAA8 1C 00 04 ... bset 00,x, #04 FAAB CE 00 1F ... ldx #001f @@ -15532,6 +15551,7 @@ FABF 1D 00 04 ... bclr 00,x, #04 FAC2 CE 00 1D ... ldx #001d FAC5 1D 00 08 ... bclr 00,x, #08 FAC8 20 06 . bra 06 ; to fad0 +; FACA CE 00 1D ... ldx #001d FACD 1C 00 08 ... bset 00,x, #08 FAD0 F6 00 1F ... ldab 001f