X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM-2003%2Fvend.asm;h=72a69097a7364d9aeff592dc16f1cbf085bb1242;hb=3c028aa7c0a5f826866d71c7d6a5c6bbb8838c97;hp=8c71e3b80ce59fff8b6edc568468ba3dc70e9a55;hpb=88788ad9a4cf025f7ba6e6b6cce519e7491e0a29;p=uccvend-snackrom.git diff --git a/ROM-2003/vend.asm b/ROM-2003/vend.asm index 8c71e3b..72a6909 100644 --- a/ROM-2003/vend.asm +++ b/ROM-2003/vend.asm @@ -9,13 +9,16 @@ ;000a ;000c ;0012 another buffer for 1800 - what change to give? -;0013 +;0013 location of decimal point? ;0014 buffer for 3800 register ;0015 ;0016 new key state (cf 0029) ;0017 bits 5-7 used mostly ;0018 -;0019 +;0019 error statuses: +; bit 0 - over current +; bit 1 - home sensor failure +; bit 2 - check prices ;001a buffer for 3000 register - initialised to 7F ;001b bit 3 - denote motor fault? ;001c used for loop variables @@ -25,6 +28,7 @@ ; bit 5 denotes machine out of order ;0023 buffer for 1800 ;0026 used exclusively in SCI interrupt handler +;0027 price of current item ;0029 previous key state (cf 0016) ;002c inhibits display writes? ;0032 to do with the beeper (see jump52) @@ -143,6 +147,8 @@ +;0800 - 0x0fff memory bank 2k +; ;1800 Internal switches ; 7 changer INT' ; 6 Sold out. @@ -1667,6 +1673,7 @@ goto7: 8C72 39 9 rts jump75: +;fetches a price & other info for the given slot? 8C73 F6 00 06 ... ldab 0006 8C76 4F O clra 8C77 05 . asld @@ -1694,7 +1701,7 @@ jump75: 8CA1 84 08 .. anda #08 8CA3 27 08 '. beq 08 8CA5 CE 00 19 ... ldx #0019 -8CA8 1C 00 10 ... bset 00,x, #10 +8CA8 1C 00 10 ... bset 00,x, #10 ; corresponds to whatever '*' is on price display 8CAB 20 06 . bra 06 8CAD CE 00 19 ... ldx #0019 8CB0 1D 00 10 ... bclr 00,x, #10 @@ -2175,7 +2182,7 @@ jump21: 9126 7F 00 09 ... clr 0009 9129 7F 00 0A ... clr 000a 912C 39 9 rts - +; 912D F6 00 19 ... ldab 0019 9130 2C 28 ,( bge 28 9132 BD A9 CF ... jsr a9cf ;jump131 @@ -2255,10 +2262,8 @@ jump76: 91E2 7F 00 54 ..T clr 0054 91E5 7F 00 60 ..` clr 0060 91E8 CE 00 19 ... ldx #0019 -91EB 1D 00 .. bclr add,x 00,x -91ED 80 7F .. suba #7f -91EF 00 . test -91F0 36 6 psha +91EB 1D 00 80 .. bclr 00,x, #80 +91EE 7F 00 36 .. clr 0036 91F1 20 66 f bra 66 91F3 F6 00 0A ... ldab 000a 91F6 4F O clra @@ -2626,13 +2631,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 @@ -2688,10 +2690,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 @@ -2719,49 +2719,41 @@ jump203: 9623 26 21 &! bne 21 9625 BD D3 11 ... jsr d311 ;jump30 - test position exists 9628 83 00 00 ... subd #0000 -962B 26 0B &. bne 0b +962B 26 0B &. bne 0b ; to 9638 962D CE 00 1F ... ldx #001f -9630 1C 00 40 ... bset 00,x, #40 -9633 BD 8C 73 ..s jsr 8c73 ;jump75 -9636 20 06 . bra 06 +9630 1C 00 40 ... bset 00,x, #40 ; denotes an invalid slot or unmarked price? (fills display with XXX.XX) +9633 BD 8C 73 ..s jsr 8c73 ;jump75 - fetch slot info +9636 20 06 . bra 06 ; to 963e 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 -965D 00 . test -965E 1D 2C ., bclr add,x 2c,x -9660 26 BD &. bne bd -9662 D2 13 83 ... sbcb 13 -9665 00 . test -9666 00 . test +9657 1D 00 80 .. bclr 00,x, #80 +goto93: +965A 20 2B . bra 2b +goto16: +965C F6 00 1D +. ldab 001d +965F 2C 26 ., bge 26 +9661 BD D2 13 &. jsr d213 ;jump45 +9664 83 00 00 ... subd #0000 9667 26 0F &. bne 0f 9669 CC 00 64 ..d ldd #0064 966C BD E5 71 ..q jsr e571 ;msdelay 966F BD E5 D1 ... jsr e5d1 ;jump52 - triple beep -9672 CC 03 84 ... ldd #0384 +9672 CC 03 84 ... ldd #0384 ; 900 9675 BD E5 71 ..q jsr e571 ;msdelay 9678 7F 00 2E ... clr 002e 967B CE 00 1D ... ldx #001d -967E 1D 00 .. bclr add,x 00,x -9680 80 CE .. suba #ce -9682 00 . test -9683 1F 1C 00 02 .... brclr 1c,x 00 02 +967E 1D 00 80 .. bclr 00,x, #80 +9680 CE 00 1F .. ldx #001f +9683 1C 00 02 ... bset 00,x #02 9687 39 9 rts jump148: @@ -3176,6 +3168,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 @@ -3188,7 +3181,7 @@ jump39: 9A5F F7 0B 97 ... stab 0b97 9A62 F6 00 1F ... ldab 001f 9A65 C4 40 .@ andb #40 -9A67 27 45 'E beq 45 +9A67 27 45 'E beq 45 ; to 9aae 9A69 FC 00 27 ..' ldd 0027 9A6C BD E7 45 ..E jsr e745 ;jump55 - number to string 9A6F F6 00 5A ..Z ldab 005a @@ -3202,7 +3195,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 @@ -3213,22 +3206,24 @@ jump39: 9AA3 F7 0B 91 ... stab 0b91 9AA6 F6 00 5F .._ ldab 005f 9AA9 F7 0B 90 ... stab 0b90 -9AAC 20 1E . bra 1e -9AAE C6 58 .X ldab #58 : "X" +9AAC 20 1E . bra 1e ; to 9acc +; +9AAE C6 58 .X ldab #58 ; "X" 9AB0 F7 0B 96 ... stab 0b96 -9AB3 C6 58 .X ldab #58 : "X" +9AB3 C6 58 .X ldab #58 ; "X" 9AB5 F7 0B 95 ... stab 0b95 -9AB8 C6 58 .X ldab #58 : "X" +9AB8 C6 58 .X ldab #58 ; "X" 9ABA F7 0B 94 ... stab 0b94 -9ABD C6 58 .X ldab #58 : "X" +9ABD C6 58 .X ldab #58 ; "X" 9ABF F7 0B 93 ... stab 0b93 -9AC2 C6 58 .X ldab #58 : "X" +9AC2 C6 58 .X ldab #58 ; "X" 9AC4 F7 0B 91 ... stab 0b91 -9AC7 C6 58 .X ldab #58 : "X" +9AC7 C6 58 .X ldab #58 ; "X" 9AC9 F7 0B 90 ... stab 0b90 +; 9ACC F6 00 13 ... ldab 0013 9ACF C1 01 .. cmpb #01 -9AD1 23 4C #L bls 4c +9AD1 23 4C #L bls 4c ; to 9b1f 9AD3 F6 0B 91 ... ldab 0b91 9AD6 F7 0B 90 ... stab 0b90 9AD9 F6 0B 92 ... ldab 0b92 @@ -3242,7 +3237,7 @@ jump39: 9AF0 26 07 &. bne 07 9AF2 C6 2E .. ldab #2e ; "." 9AF4 F7 0B 94 ... stab 0b94 -9AF7 20 26 & bra 26 +9AF7 20 26 & bra 26 ; to 9b1f 9AF9 C1 04 .. cmpb #04 9AFB 26 0D &. bne 0d 9AFD F6 0B 95 ... ldab 0b95 @@ -3258,9 +3253,12 @@ jump39: 9B17 F7 0B 95 ... stab 0b95 9B1A C6 2E .. ldab #2e 9B1C F7 0B 96 ... stab 0b96 +; 9B1F F6 00 2C .., ldab 002c 9B22 26 3E &> bne 3e 9B24 BD BE 69 ..i jsr be69 ;displayreset +95EB 00 . test +95EC 3A : abx 9B27 F6 00 13 ... ldab 0013 9B2A C1 01 .. cmpb #01 9B2C 23 2C #, bls 2c @@ -3278,7 +3276,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 @@ -3508,7 +3506,7 @@ jump89: 9D77 F7 0B 90 ... stab 0b90 9D7A BD BE 01 ... jsr be01 ;jump70 9D7D 39 9 rts - +; 9D7E BD BE 4B ..K jsr be4b ;displayblank 9D81 F6 00 60 ..` ldab 0060 9D84 4F O clra @@ -4813,7 +4811,7 @@ A87B 31 1 ins A87C 31 1 ins A87D 2C 0A ,. bge 0a A87F F6 00 60 ..` ldab 0060 -A882 C1 F9 .. cmpb #f9 +A882 C1 F9 .. cmpb #f9 ; -7 A884 24 03 $. bcc 03 A886 7C 00 60 |.` inc 0060 A889 20 0A . bra 0a @@ -4827,19 +4825,19 @@ jump98: A896 F6 00 36 ..6 ldab 0036 A899 26 39 &9 bne 39 A89B F6 00 54 ..T ldab 0054 -A89E C1 27 .' cmpb #27 +A89E C1 27 .' cmpb #27 ; 39 A8A0 24 20 $ bcc 20 A8A2 7C 00 54 |.T inc 0054 A8A5 F6 00 09 ... ldab 0009 A8A8 C1 01 .. cmpb #01 A8AA 26 0C &. bne 0c A8AC F6 00 54 ..T ldab 0054 -A8AF C1 27 .' cmpb #27 +A8AF C1 27 .' cmpb #27 ; 39 A8B1 26 03 &. bne 03 A8B3 7F 00 54 ..T clr 0054 A8B6 20 0A . bra 0a A8B8 F6 00 54 ..T ldab 0054 -A8BB C1 24 .$ cmpb #24 +A8BB C1 24 .$ cmpb #24 ; 36 A8BD 26 03 &. bne 03 A8BF 7F 00 54 ..T clr 0054 A8C2 F6 00 54 ..T ldab 0054 @@ -5004,11 +5002,11 @@ AA06 F7 00 61 ..a stab 0061 AA09 39 9 rts jump130: -AA0A C6 53 .S ldab #53 +AA0A C6 53 .S ldab #53 ; 'S' AA0C F7 0C B9 ... stab 0cb9 -AA0F C6 29 .) ldab #29 +AA0F C6 29 .) ldab #29 ; ')' AA11 F7 0C BA ... stab 0cba -AA14 C6 20 . ldab #20 +AA14 C6 20 . ldab #20 ; ' ' AA16 F7 0C BB ... stab 0cbb AA19 7F 00 54 ..T clr 0054 AA1C F6 00 54 ..T ldab 0054 @@ -7942,7 +7940,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. @@ -8052,15 +8050,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 @@ -8080,7 +8078,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 @@ -8447,7 +8445,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 @@ -8456,7 +8454,7 @@ C10A F6 00 15 ... ldab 0015 C10D C4 1F .. andb #1f C10F 26 03 &. bne 03 C111 7E C3 1B ~.. jmp c31b ;goto34 -C114 C6 14 .. ldab #14 +C114 C6 14 .. ldab #14 ; 20 C116 F7 00 31 ..1 stab 0031 C119 F6 00 15 ... ldab 0015 C11C 2D 15 -. blt 15 @@ -8469,7 +8467,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 @@ -8568,7 +8566,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 @@ -8646,7 +8644,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 @@ -8658,9 +8656,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 @@ -8669,7 +8667,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 @@ -8677,12 +8675,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 @@ -8691,9 +8689,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 @@ -8703,12 +8701,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 @@ -8717,14 +8715,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: @@ -9069,10 +9064,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 ; have a card reader -C687 26 4E &N bne 4e +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 @@ -9102,6 +9097,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 @@ -9244,7 +9240,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 @@ -9760,9 +9756,9 @@ 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 @@ -10525,80 +10521,83 @@ D210 ED 00 .. std 00,x D212 39 9 rts jump45: +; dispense an item from slot 0006 D213 F6 00 1F ... ldab 001f D216 C4 04 .. andb #04 -D218 26 12 &. bne 12 +D218 26 12 &. bne 12 ; to d22c D21A F6 0B C0 ... ldab 0bc0 D21D C4 10 .. andb #10 ; have link master price holding -D21F 26 0B &. bne 0b +D21F 26 0B &. bne 0b ; to d22c D221 CE 00 00 ... ldx #0000 D224 3C < pshx D225 FC 00 44 ..D ldd 0044 D228 BD BE 9E ... jsr be9e ;jump50 - write slot & price to screen? D22B 38 8 pulx +; D22C BD D3 11 ... jsr d311 ;jump30 - test position exists D22F 83 00 00 ... subd #0000 -D232 27 13 '. beq 13 +D232 27 13 '. beq 13 ; to d247 D234 F6 00 06 ... ldab 0006 D237 BD D4 68 ..h jsr d468 ;jump51 - lookup in 0800 table & and with 8000 D23A 83 00 00 ... subd #0000 D23D 27 05 '. beq 05 -D23F 8D BC .. bsr bc ;jump90 -D241 BD D6 3C ..< jsr d63c ;jump33 +D23F 8D BC .. bsr bc ;jump90 - or entry in 0800 table of slot with #4000 +D241 BD D6 3C ..< jsr d63c ;jump33 - as above, but with #0400 D244 5F _ clrb D245 4F O clra D246 39 9 rts - +; D247 BD D1 3D ..= jsr d13d ;jump34 - motor on -D24A C6 3C .< ldab #3c +D24A C6 3C .< ldab #3c ; 60 D24C F7 00 2E ... stab 002e -D24F C6 41 .A ldab #41 +D24F C6 41 .A ldab #41 ; 65 D251 F7 00 31 ..1 stab 0031 D254 CE 00 1B ... ldx #001b D257 1D 00 08 ... bclr 00,x #08 goto59: D25A F6 00 1B ... ldab 001b D25D C4 08 .. andb #08 -D25F 26 22 &" bne 22 +D25F 26 22 &" bne 22 ; to d283 D261 F6 00 2E ... ldab 002e -D264 C1 35 .5 cmpb #35 +D264 C1 35 .5 cmpb #35 ; 53 D266 23 10 #. bls 10 -D268 BD D5 70 ..p jsr d570 ;jump35 +D268 BD D5 70 ..p jsr d570 ;jump35 - check home sensor departed D26B 83 00 00 ... subd #0000 -D26E 27 06 '. beq 06 +D26E 27 06 '. beq 06 ; to d276 D270 CE 00 1B ... ldx #001b D273 1C 00 08 ... bset 00,x, #08 -D276 20 0B . bra 0b +D276 20 0B . bra 0b ; to d283 +; something went afoul. mark the motor as bad? D278 BD D1 05 ... jsr d105 ;motors_off -D27B 8D 80 .. bsr 80 ;jump90 -D27D BD D6 3C ..< jsr d63c ;jump33 +D27B 8D 80 .. bsr 80 ;jump90 - mark motor as faulty? +D27D BD D6 3C ..< jsr d63c ;jump33 - mark motor as faulty? D280 5F _ clrb D281 4F O clra D282 39 9 rts - +; D283 F6 00 2E ... ldab 002e -D286 C1 36 .6 cmpb #36 +D286 C1 36 .6 cmpb #36 ; 54 D288 24 56 $V bcc 56 ; to d2e0 -D28A BD D5 F7 ... jsr d5f7 ;jump108 +D28A BD D5 F7 ... jsr d5f7 ;jump108 - check motor overcurrent D28D 83 00 00 ... subd #0000 D290 27 4E 'N beq 4e ; to d2e0 -D292 BD D5 B0 ... jsr d5b0 ;jump31 +D292 BD D5 B0 ... jsr d5b0 ;jump31 - check home sensor returned D295 83 00 00 ... subd #0000 D298 27 46 'F beq 46 ; to d2e0 D29A BD D1 05 ... jsr d105 ;motors_off D29D F6 00 2E ... ldab 002e D2A0 C1 32 .2 cmpb #32 -D2A2 22 07 ". bhi 07 -D2A4 8D 6B .k bsr dest 6b +D2A2 22 07 ". bhi 07 ; to d2ab +D2A4 8D 6B .k bsr 6b ;jump30 - test motor overvoltage? D2A6 83 00 00 ... subd #0000 -D2A9 27 0C '. beq 0c +D2A9 27 0C '. beq 0c ; to d2b7 D2AB BD D1 05 ... jsr d105 ;motors_off -D2AE BD D1 FD ... jsr d1fd ;jump90 -D2B1 BD D6 3C ..< jsr d63c ;jump33 +D2AE BD D1 FD ... jsr d1fd ;jump90 - mark motor as faulty? +D2B1 BD D6 3C ..< jsr d63c ;jump33 - mark motor as faulty? D2B4 5F _ clrb D2B5 4F O clra D2B6 39 9 rts - +; D2B7 F6 00 06 ... ldab 0006 D2BA 4F O clra D2BB C3 0E 06 ... addd #0e06 @@ -10621,10 +10620,10 @@ D2D9 33 3 pulb D2DA E7 00 .. stab 00,x D2DC CC 00 01 ... ldd #0001 D2DF 39 9 rts - +; D2E0 F6 00 2E ... ldab 002e D2E3 26 14 &. bne 14 -D2E5 BD D5 F7 ... jsr d5f7 ;jump108 +D2E5 BD D5 F7 ... jsr d5f7 ;jump108 - check motor overcurrent status D2E8 83 00 00 ... subd #0000 D2EB 26 0C &. bne 0c D2ED BD D1 05 ... jsr d105 ;motors_off @@ -10633,7 +10632,7 @@ D2F3 BD D6 26 ..& jsr d626 ;jump91 D2F6 5F _ clrb D2F7 4F O clra D2F8 39 9 rts - +; D2F9 F6 00 2E ... ldab 002e D2FC 26 0C &. bne 0c D2FE BD D1 05 ... jsr d105 ;motors_off @@ -10642,8 +10641,8 @@ D304 BD D6 3C ..< jsr d63c ;jump33 D307 5F _ clrb D308 4F O clra D309 39 9 rts - -D30A 7E D2 5A ~.Z jmp d25a ;goto59 +; +D30A 7E D2 5A ~.Z jmp d25a ;goto59 - try again? D30D BD E6 1B ... jsr e61b ;jump4 D310 39 9 rts @@ -11051,15 +11050,16 @@ D5F5 4F O clra D5F6 39 9 rts jump108: +; check motor overcurrent status D5F7 C6 07 .. ldab #07 D5F9 F7 00 1C ... stab 001c D5FC 7F 00 18 ... clr 0018 ; D5FF F6 00 1C ... ldab 001c -D602 27 1E '. beq 1e ; to d620 +D602 27 1E '. beq 1e ; to d622 D604 7A 00 1C z.. dec 001c D607 F6 10 0A ... ldab 100a -D60A C4 01 .. andb #01 +D60A C4 01 .. andb #01 ; motor overcurrent sense! D60C 26 12 &. bne 12 ; to d620 D60E C6 07 .. ldab #07 D610 F7 00 1C ... stab 001c @@ -12094,11 +12094,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 @@ -12109,29 +12109,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 @@ -12143,14 +12145,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 @@ -12195,32 +12198,35 @@ jump116: ; revolves around coinage DEE7 F6 0B C0 ... ldab 0bc0 DEEA C4 01 .. andb #01 ; have a dumb mech -DEEC 26 07 &. bne 07 +DEEC 26 07 &. bne 07 ; to def5 DEEE F6 0B C0 ... ldab 0bc0 DEF1 C4 04 .. andb #04 ; have a card reader -DEF3 27 15 '. beq 15 +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 ;have changer -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 @@ -12412,7 +12418,7 @@ E0DA FD 00 44 ..D std 0044 E0DD F6 0B C0 ... ldab 0bc0 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 @@ -12480,31 +12486,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 @@ -13436,19 +13442,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 @@ -13460,14 +13470,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 @@ -13478,8 +13488,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 @@ -15317,7 +15329,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 @@ -15440,7 +15452,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 @@ -15463,8 +15475,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 @@ -15478,9 +15491,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 @@ -15498,7 +15512,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 @@ -15522,13 +15537,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 @@ -15543,6 +15558,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