X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM-2003%2Fvend.asm;h=72a69097a7364d9aeff592dc16f1cbf085bb1242;hb=3c028aa7c0a5f826866d71c7d6a5c6bbb8838c97;hp=e0c0428f1992142c9e8d1c162663c261b34114dd;hpb=4ea08a808de214d65129b5e3240b6de4a60b8db6;p=uccvend-snackrom.git diff --git a/ROM-2003/vend.asm b/ROM-2003/vend.asm index e0c0428..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) @@ -61,9 +65,9 @@ ;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: +; bit1: have a changer ; bit2: have card reader ; bit3: have bill validator ; bit4: link master - price holding enabled @@ -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 @@ -1882,17 +1889,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 +1916,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 +1952,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 @@ -2169,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 @@ -2249,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 @@ -2620,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 @@ -2682,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 @@ -2713,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: @@ -3170,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 @@ -3182,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 @@ -3196,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 @@ -3207,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 @@ -3236,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 @@ -3252,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 @@ -3272,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 @@ -3359,23 +3363,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 +3385,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 +3395,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 +3405,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 @@ -3501,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 @@ -4683,24 +4688,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 @@ -4807,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 @@ -4821,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 @@ -4998,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 @@ -5193,7 +5197,7 @@ AB92 BD E5 71 ..q jsr e571 ;msdelay AB95 BD D4 79 ..y jsr d479 ;jump67 AB98 BD E8 9A ... jsr e89a ;jump68 AB9B BD E9 EA ... jsr e9ea ;jump113 -AB9E 7F 0B C1 ... clr 0bc1 +AB9E 7F 0B C1 ... clr 0bc1 ; clear all errors ABA1 39 9 rts jump8: @@ -5311,7 +5315,7 @@ AC81 F6 00 19 ... ldab 0019 AC84 C4 07 .. andb #07 AC86 26 0A &. bne 0a AC88 F6 0B C1 ... ldab 0bc1 -AC8B C4 7F .. andb #7f +AC8B C4 7F .. andb #7f ; have errors? AC8D 26 03 &. bne 03 AC8F 5F _ clrb AC90 20 02 . bra 02 @@ -7936,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. @@ -8046,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 @@ -8074,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 @@ -8441,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 @@ -8450,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 @@ -8463,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 @@ -8562,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 @@ -8640,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 @@ -8652,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 @@ -8663,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 @@ -8671,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 @@ -8685,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 @@ -8697,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 @@ -8711,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: @@ -8755,7 +8756,7 @@ C36F 7E C4 2F ~./ jmp c42f ;goto36 C372 CE 00 15 ... ldx #0015 C375 1C 00 80 .. bset 00,x, #80 C378 CE 0B C1 ... ldx #0bc1 -C37B 1D 00 08 .. bclr 00,x #08 +C37B 1D 00 08 .. bclr 00,x #08 ; clear bill error bit C37E F6 00 1D ... ldab 001d C381 C4 20 . andb #20 C383 27 03 '. beq 03 @@ -9063,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 -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,15 +9079,15 @@ 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 +C6AF 1C 00 01 ... bset 00,x, #01 ; set changer powerup error bit C6B2 F6 0B C0 ... ldab 0bc0 C6B5 C4 04 .. andb #04 C6B7 27 06 '. beq 06 C6B9 CE 0B C1 ... ldx #0bc1 -C6BC 1C 00 02 ... bset 00,x, #02 +C6BC 1C 00 02 ... bset 00,x, #02 ; set card powerup error bit C6BF CE 00 1A ... ldx #001a C6C2 1D 00 04 ... bclr 00,x, #04 ; keypad strobe finish C6C5 F6 00 1A ... ldab 001a @@ -9096,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 @@ -9238,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 @@ -9270,15 +9272,18 @@ 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 -C822 26 0A &. bne 0e ; to c82e +C820 C4 01 .. andb #01 ; do we have a dumb mech? +C822 26 0A &. bne 0a ; if so, to c82e +; C824 F6 0B C0 ... ldab 0bc0 -C827 C4 04 .. andb #04 -C829 26 03 &. bne 03 ; to c82e -C82B 7E CB FF ~.. jmp cbff ;goto44 +C827 C4 04 .. andb #04 ; do we have a card reader? +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 +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 @@ -9323,7 +9328,8 @@ C889 1D 00 .. bclr 00,x, #20 C88C C6 04 . andb #04 C88E F7 0C DB ... stab 0cdb C891 CE 0B C1 ... ldx #0bc1 -C894 1C 00 40 ... bset 00,x, #40 ;endif +C894 1C 00 40 ... bset 00,x, #40 ; set tube error +; C897 F6 00 21 ..! ldab 0021 C89A F4 0B D8 ... andb 0bd8 C89D 27 08 '. beq 08 ; to c8a7 @@ -9339,7 +9345,7 @@ C8B1 1D 00 40 ... bclr 00,x, #40 C8B4 C6 04 .. ldab #04 C8B6 F7 0C DA ... stab 0cda C8B9 CE 0B C1 ... ldx #0bc1 -C8BC 1C 00 40 ... bset 00,x, #40 +C8BC 1C 00 40 ... bset 00,x, #40 ; set tube error ; if 0021 & 0bd9, then set bit 7 of 0017, else unset it. C8BF F6 00 21 ..! ldab 0021 C8C2 F4 0B D9 ... andb 0bd9 @@ -9357,7 +9363,7 @@ C8D9 C6 04 .. ldab #04 C8DC F7 0C D9 ... stab 0cd9 ; set tube error bit C8DF CE 0B C1 ... ldx #0bc1 -C8E2 1C 00 40 ... bset 00,x, #40 +C8E2 1C 00 40 ... bset 00,x, #40 ; set tube error bit C8E5 20 31 1 bra 31 ; to c918 ; goto46: ; pulse the send' line of the changer @@ -9548,7 +9554,7 @@ CA71 1C 00 04 ... bset 00,x, #04 CA74 C6 01 .. ldab #01 CA76 F7 00 08 ... stab 0008 CA79 CE 0B C1 ... ldx #0bc1 -CA7C 1D 00 01 ... bclr 00,x, #01 +CA7C 1D 00 01 ... bclr 00,x, #01 ; clear card powerup error bit CA7F 7E CB DA ~.. jmp cbda ;goto48 (clean exit) ; CA82 F6 10 2F ../ ldab 102f ; read SCI data @@ -9675,38 +9681,40 @@ CB78 C4 08 .. andb #08 CB7A 27 08 '. beq 08 CB7C CE 00 21 ..! ldx #0021 CB7F 1C 00 10 ... bset 00,x, #10 -CB82 20 56 V bra 56 ; to cbda - cleanup and exit +CB82 20 56 V bra 56 ;goto48 - cleanup and exit ; CB84 F6 10 2F ../ ldab 102f ; read SCI data CB87 C4 EF .. andb #ef ; 11101111 CB89 C1 E3 .. cmpb #e3 ; 11100111 CB8B 26 08 &. bne 08 ; to cb95 CB8D CE 0B C1 ... ldx #0bc1 -CB90 1D 00 02 ... bclr 00,x, #02 -CB93 20 45 E bra 45 +CB90 1D 00 02 ... bclr 00,x, #02 ; clear card powerup error bit +CB93 20 45 E bra 45 ;goto48 - cleanup and exit ; +; this could be the coin mech powerup message? CB95 F6 10 2F ../ ldab 102f ; read SCI data CB98 C4 EF .. andb #ef ; 11101111 CB9A C1 63 .c cmpb #63 ; 01101110 CB9C 26 1C &. bne 1c ; to cbba -CB9E CE 0B C1 ... ldx #0bc1 +CB9E CE 0B C1 ... ldx #0bc1 ; clear changer powerup error bit CBA1 1D 00 01 ... bclr 00,x, #01 CBA4 F6 0B C0 ... ldab 0bc0 -CBA7 C4 01 .. andb #01 -CBA9 27 0D '. beq 0d ; to cbb8 +CBA7 C4 01 .. andb #01 ; do we have a changer? +CBA9 27 0D '. beq 0d ; to cbb8 - cleanup & exit CBAB F6 0B C0 ... ldab 0bc0 -CBAE C4 04 .. andb #04 +CBAE C4 04 .. andb #04 ; if we don't have a card reader, we don't have an error reading from it. duh. CBB0 27 06 '. beq 06 ; to cbb8 CBB2 CE 0B C1 ... ldx #0bc1 -CBB5 1D 00 02 ... bclr 00,x, #02 +CBB5 1D 00 02 ... bclr 00,x, #02 ; clear card powerup error bit CBB8 20 20 bra 20 ;goto48 - cleanup & exit ; +; the coin mech is telling us it has a bad sensor CBBA F6 10 2F ../ ldab 102f ; read SCI data CBBD C4 EF .. andb #ef ; 11101111 CBBF C1 67 .g cmpb #67 ; 01100111 CBC1 26 08 &. bne 08 ; to cbcb CBC3 CE 0B C1 ... ldx #0bc1 -CBC6 1C 00 .. bset 00,x, #20 +CBC6 1C 00 .. bset 00,x, #20 ; set bad sensor error bit CBC9 20 0F bra 0f ;goto48 - cleanup & exit ; CBCB F6 10 2F ../ ldab 102f ; read SCI data @@ -9714,7 +9722,7 @@ CBCE C4 EF .. andb #ef ; 11101111 CBD0 C1 27 .' cmpb #27 ; 00100111 CBD2 26 06 &. bne 06 ;goto48 - cleanup & exit ; -CBD4 CE 0B C1 ... ldx #0bc1 +CBD4 CE 0B C1 ... ldx #0bc1 ; set coin jam error bit CBD7 1C 00 10 ... bset 00,x, #10 goto48: ; cleanup and exit CBDA CE 00 1A ... ldx #001a @@ -9732,19 +9740,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 +CBFF F6 0B C0 ... ldab 0bc0 ; do we have a changer? CC02 C4 02 .. andb #02 -CC04 26 03 &. bne 03 -CC06 7E CE 3B ~.; jmp ce3b ;goto54 - swallow 2 bytes & exit +CC04 26 03 &. bne 03 ; if so, swallow & exit +CC06 7E CE 3B ~.; jmp ce3b ; goto54 - swallow a byte & exit +; 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 2 bytes & exit -CC15 C6 32 .2 ldab #32 ; 50 +CC12 7E CE 3B ~.; jmp ce3b ;goto54 - swallow a byte & exit +; +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 @@ -9770,9 +9784,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 @@ -9962,7 +9977,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 @@ -9980,7 +9995,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 @@ -10013,7 +10028,7 @@ CE35 4F O clra CE36 BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech goto55: CE39 20 0B . bra 0b ; to ce46 (exit) -goto54: ; just swallow two bytes? +goto54: ; just swallow a byte? CE3B F6 10 2E ... ldab 102e ; SCI Status CE3E 30 0 tsx CE3F E7 00 .. stab 00,x ; store into stack variable @@ -10506,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 ; am i link master? -D21F 26 0B &. bne 0b +D21D C4 10 .. andb #10 ; have link master price holding +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 @@ -10602,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 @@ -10614,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 @@ -10623,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 @@ -11032,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 @@ -12075,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 @@ -12090,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 @@ -12124,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 @@ -12175,33 +12197,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 +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 @@ -12254,7 +12279,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 @@ -12291,10 +12316,10 @@ 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 +E007 C4 08 .. andb #08 ; test bill error bit E009 26 08 &. bne 08 E00B FC 0B EF ... ldd 0bef E00E 83 00 64 ..d subd #0064 @@ -12386,33 +12411,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 @@ -12444,13 +12469,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 @@ -12461,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 @@ -12560,7 +12585,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 @@ -12658,11 +12683,11 @@ E326 BD D8 40 ..@ jsr d840 ;jump105 goto92: E329 BD E8 9A ... jsr e89a ;jump68 E32C CE 0B C1 ... ldx #0bc1 -E32F 1D 00 08 ... bclr 00,x, #08 +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 @@ -12675,7 +12700,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 @@ -12688,12 +12713,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 @@ -12764,7 +12789,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 @@ -12830,10 +12855,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 @@ -13417,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 @@ -13441,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 @@ -13459,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 @@ -13958,7 +13989,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 @@ -15298,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 @@ -15421,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 @@ -15444,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 @@ -15459,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 @@ -15479,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 @@ -15503,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 @@ -15524,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