;0009
;000a
;000c
+;0011 another reflection of 2000
;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
;001d
;001f display related? bit 2. bit 4 denotes service mode
+;0020 reflection of 2000
;0021 lower 3 bits taken from SCI data somewhere
; bit 5 denotes machine out of order
;0023 buffer for 1800
+;0025 timer of some sort? - set to #0a and decremented by RTI
;0026 used exclusively in SCI interrupt handler
+;0027 price of current item
;0029 previous key state (cf 0016)
+;002b machine language. 3 = english. 0,1,2 = german, spanish, french or something
;002c inhibits display writes?
;0032 to do with the beeper (see jump52)
;0033
;0035 only ever contains #1e
;003b commonly contains $0233
;003d
-;003e mask for 0040? (see f996)
-;003f
-;0040
+;003e cash in bill acceptor?
+;003f word from above
+;0040 cash in european coin mech?
+;0041 word from above
;0042 current key press
+;0043 current byte being sent out serial port
;0048 error status
;004a
;0052 win-a-snack odds (in ram)
; 005f
;0067 working space of 0bc0
;0073
+;0075 something about link master price holding
;0076-0077 word
;007f
;00c8
8B18 20 2D - bra 2d
8B1A FC 00 27 ..' ldd 0027
8B1D 26 0D &. bne 0d
-8B1F CC 27 10 .'. ldd #2710
+8B1F CC 27 10 .'. ldd #2710 ;10000
8B22 F0 0B AA ... subb 0baa
8B25 82 00 .. sbca #00
8B27 FD 00 27 ..' std 0027
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
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
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
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
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
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
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 - vend it!
+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:
9701 C1 63 .c cmpb #63
9703 26 03 &. bne 03
9705 7F 00 2C .., clr 002c
-9708 BD D2 13 ... jsr d213 ;jump45
+9708 BD D2 13 ... jsr d213 ;jump45 - vend it!
970B 83 00 00 ... subd #0000
970E 27 03 '. beq 03
9710 7C 00 05 |.. inc 0005
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
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
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
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
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
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
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
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
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
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
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
jump50:
; writes a slot and price to the screen?
+; writes the slot number iff 0 pushed on to the stack
BE9E 37 7 pshb
BE9F 36 6 psha
BEA0 8D A9 .. bsr a9 ; to be4b - displayblank
BEA2 30 0 tsx
BEA3 E6 05 .. ldab 05,x
-BEA5 26 1B &. bne 1b
+BEA5 26 1B &. bne 1b ; to bec2
BEA7 F6 00 06 ... ldab 0006
BEAA 4F O clra
BEAB CE 00 0A ... ldx #000a
BEBC 02 . idiv
BEBD CB 30 .0 addb #30
BEBF F7 0B 98 ... stab 0b98 ; write slotnumber%10
+;
BEC2 30 0 tsx
BEC3 EC 00 .. ldd 00,x
BEC5 C4 FF .. andb #ff
C0D6 3C < pshx
C0D7 30 0 tsx
C0D8 EC 02 .. ldd 02,x
-C0DA BD C0 2E ... jsr c02e ;jump71
+C0DA BD C0 2E ... jsr c02e ;jump71 - display
C0DD 38 8 pulx
C0DE 38 8 pulx
C0DF 39 9 rts
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
C7BF 39 9 rts
jump49:
-; parity tester. returns 0 if good
+; parity tester. returns 1 if good
C7C0 F6 10 2F ../ ldab 102f ; sci data
C7C3 4F O clra
C7C4 8D CE .. bsr c794 ; parity test?
;
;
goto44:
-CBFF F6 0B C0 ... ldab 0bc0 ; do we have a changer?
+CBFF F6 0B C0 ... ldab 0bc0 ; do we have our changer (link master)?
CC02 C4 02 .. andb #02
-CC04 26 03 &. bne 03 ; if so, swallow & exit
+CC04 26 03 &. bne 03 ; if not, swallow & exit
CC06 7E CE 3B ~.; jmp ce3b ; goto54 - swallow a byte & exit
;
CC09 F6 10 2F ../ ldab 102f ; read SCI data
;
CC15 C6 32 .2 ldab #32 ; 50 00110010
CC17 F7 00 2F ../ stab 002f
-CC1A CE 00 1B ... ldx #001b ; say we have a link master?
+CC1A CE 00 1B ... ldx #001b ; say we have a link master packet?
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
-CC25 26 08 &. bne 08
+CC25 26 08 &. bne 08 ; if not, perform parity test. else to cc2f
CC27 BD C7 C0 ... jsr c7c0 ;jump49 - parity test
CC2A 83 00 00 ... subd #0000
-CC2D 26 0F &. bne 0f ; if failed, to cc3e
+CC2D 26 0F &. bne 0f ; if good, to cc3e
CC2F F6 10 2F ../ ldab 102f ; read SCI data
CC32 30 0 tsx
CC33 E7 00 .. stab 00,x
CC49 BD C7 E7 ... jsr c7e7 ;jump37 - send 0043 to coin mech - retry?
CC4C 7E CE 39 ~.9 jmp ce39 ;goto55 - exit
;
-CC4F F6 00 08 ... ldab 0008
+CC4F F6 00 08 ... ldab 0008 ; already in a packet?
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 ; 11110000
-CC5C C1 20 . cmpb #20 ; 00100000
+CC5C C1 20 . cmpb #20 ; 00100000 ; 4th bit clear
CC5E 27 03 '. beq 03
CC60 7E CD 94 ~.. jmp cd94 ;goto56
CC63 F6 10 2F ../ ldab 102f ; read SCI data
-CC66 C4 0F .. andb #0f
+CC66 C4 0F .. andb #0f ; place lower nibble (data) onto stack var
CC68 30 0 tsx
CC69 E7 00 .. stab 00,x
CC6B F6 00 08 ... ldab 0008
CC7E CC EE .. ; if 0017 0076+=sp<<16, else 0040+=sp<16, then same as above
CC80 CD 19 .. ; 0baa = sp, then same as above
CC82 CD 21 . ; 0baa = sp<<4, then same as above
-CC83 CD 30 !. ; 0013 = sp, then same as above
-CC85 CD 38 0 ; read byte & #01,
+CC83 CD 30 !. ; 0013 = sp, then same as above - location of dec point?
+CC85 CD 38 0 ; read byte & #01, - have change
;
CC88 F6 00 17 ... ldab 0017
CC8B C4 01 .. andb #01
CD33 F7 00 13 ... stab 0013
CD36 20 42 B bra 42 ; to cd7a - goto57
;
+;
+; coin mech has no change if bit is set (displays EXACT COINS ONLY)
CD38 F6 10 2F ../ ldab 102f ; read SCI data
CD3B C4 01 .. andb #01
CD3D 27 08 '. beq 08 ; to cd47
CD94 F6 10 2F ../ ldab 102f ; read SCI data
CD97 4F O clra
CD98 BD FE 32 ..2 jsr fe32 ;jump25
-CD9B CD B1 00 31 ...1 ; 49 "1"
-CD9F CD DB 00 01 .... ; 50 "2"
-CDA3 CE 20 00 01 . .. ; 51 "3"
-CDA7 CE 28 00 05 .(.. ; 56 "8"
+CD9B CD B1 00 31 ...1 ; 49 "1" 00110001
+CD9F CD DB 00 01 .... ; 50 "2" 00110010
+CDA3 CE 20 00 01 . .. ; 51 "3" 00110011
+CDA7 CE 28 00 05 .(.. ; 56 "8" 00111000
CDAB CE 34 FF C8 .4.. ; 0
CDAF 00 00 .. ; end of array data
+;
+; got 00110001 - "1"
CDB1 F6 00 21 ..! ldab 0021
CDB4 2C 08 ,. bge 08
CDB6 CC 00 80 ... ldd #0080
CDB9 BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech
-CDBC 20 1B . bra 1b
+CDBC 20 1B . bra 1b ; to cdd9 - exit
CDBE 5F _ clrb
CDBF 4F O clra
CDC0 BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech
CDD1 7C 00 75 |.u inc 0075
CDD4 20 03 . bra 03
CDD6 7F 00 75 ..u clr 0075
-CDD9 20 5E ^ bra 5e
+CDD9 20 5E ^ bra 5e ; to ce39 - exit
+;
+; got 00110001 - "2"
CDDB F6 00 1D ... ldab 001d
CDDE C4 02 .. andb #02
CDE0 27 07 '. beq 07
CDEC BD C7 E7 ... jsr c7e7 ;jump37 - send #fe to coin mech
CDEF F6 00 1F ... ldab 001f
CDF2 C4 08 .. andb #08
-CDF4 27 0A '. beq 0a
+CDF4 27 0A '. beq 0a ; to ce00, to exit
CDF6 F6 0B C0 ... ldab 0bc0
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
+CE00 20 1C . bra 1c ; to ce1e, to ce39, exit
+;
CE02 FC 00 44 ..D ldd 0044
CE05 37 7 pshb
CE06 36 6 psha
CE15 1D 00 08 ... bclr 00,x, #08
CE18 CE 00 1F ... ldx #001f
CE1B 1C 00 08 ... bset 00,x, #08
-CE1E 20 19 . bra 19
+CE1E 20 19 . bra 19 ; to ce39, exit
+;
+; got 00110001 - "3"
CE20 CE 00 1D ... ldx #001d
CE23 1D 00 02 ... bclr 00,x, #02
CE26 20 11 . bra 11
+;
+; got 00110001 - "8"
CE28 C6 01 .. ldab #01
CE2A F7 00 08 ... stab 0008
CE2D 5F _ clrb
CE2E 4F O clra
CE2F BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech
CE32 20 05 . bra 05
+;
CE34 5F _ clrb
CE35 4F O clra
CE36 BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech
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
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
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
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
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
jump106:
; puts (0cdb+0bdd)+(0cda*0bdf)+(0cd9*0be1) => 0bef
-; calculates how much money we have in the coin mech!!!!
+; calculates how much money we have in some coin mech.
D6F6 F6 0C DB ... ldab 0cdb
D6F9 4F O clra
D6FA 37 7 pshb
D85D FC 0D EB ... ldd 0deb
D860 37 7 pshb
D861 36 6 psha
-D862 CE E1 00 ... ldx #e100
+D862 CE E1 00 ... ldx #e100 ; 100000000
D865 3C < pshx
D866 CC 05 F5 ... ldd #05f5
D869 37 7 pshb
D8A2 FC 0D E7 ... ldd 0de7
D8A5 37 7 pshb
D8A6 36 6 psha
-D8A7 CE E1 00 ... ldx #e100 ; 57600
+D8A7 CE E1 00 ... ldx #e100 ; 100000000
D8AA 3C < pshx
D8AB CC 05 F5 ... ldd #05f5
D8AE 37 7 pshb
D8BF 25 11 %. bcs 11
D8C1 CE 1F 00 ... ldx #1f00
D8C4 3C < pshx
-D8C5 CC FA 0A ... ldd #fa0a
+D8C5 CC FA 0A ... ldd #fa0a ; -100000000
D8C8 37 7 pshb
D8C9 36 6 psha
D8CA CC 0D E7 ... ldd #0de7
D9D4 4F O clra
D9D5 FD 00 4D ..M std 004d
D9D8 7E DA 63 ~.c jmp da63 ;goto67
-D9DB BD D2 13 ... jsr d213 ;jump45
+D9DB BD D2 13 ... jsr d213 ;jump45 - vend it!
D9DE 83 00 00 ... subd #0000
D9E1 26 0A &. bne 0a
D9E3 7F 00 06 ... clr 0006
DB44 F6 00 2B ..+ ldab 002b
DB47 C1 00 .. cmpb #00
DB49 26 08 &. bne 08
-DB4B CC AC DF ... ldd #acdf
+DB4B CC AC DF ... ldd #acdf ; "CAMBIO"
DB4E BD C0 BA ... jsr c0ba ;display:
DB51 20 1E . bra 1e
DB53 C1 01 .. cmpb #01
DB5D 20 12 . bra 12
DB5F C1 02 .. cmpb #02
DB61 26 08 &. bne 08
-DB63 CC AC EA ... ldd #acea
+DB63 CC AC EA ... ldd #acea ; "MONNAIE"
DB66 BD C0 BA ... jsr c0ba ;display:
DB69 20 06 . bra 06
-DB6B CC AC D4 ... ldd #acd4
+DB6B CC AC D4 ... ldd #acd4 ; "CHANGE"
DB6E BD C0 BA ... jsr c0ba ;display:
+;
DB71 BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
DB74 CE 00 01 ... ldx #0001
DB77 3C < pshx
DEAC CE 00 12 ... ldx #0012
DEAF 3C < pshx
DEB0 CC AE 7E ..~ ldd #ae7e
-DEB3 BD C0 2E ... jsr c02e ;jump71
+DEB3 BD C0 2E ... jsr c02e ;jump71 - display
DEB6 38 8 pulx
DEB7 20 2D - bra 2d
DEB9 C1 01 .. cmpb #01
DEBD CE 00 0F ... ldx #000f
DEC0 3C < pshx
DEC1 CC AE 6D ..m ldd #ae6d ; something german
-DEC4 BD C0 2E ... jsr c02e ;jump71
+DEC4 BD C0 2E ... jsr c02e ;jump71 - display
DEC7 38 8 pulx
DEC8 20 1C . bra 1c
DECA C1 02 .. cmpb #02
DECE CE 00 10 ... ldx #0010
DED1 3C < pshx
DED2 CC AE 5B ..[ ldd #ae5b ; more german
-DED5 BD C0 2E ... jsr c02e ;jump71
+DED5 BD C0 2E ... jsr c02e ;jump71 - display
DED8 38 8 pulx
DED9 20 0B . bra 0b
DEDB CE 00 15 ... ldx #0015
DEDE 3C < pshx
DEDF CC AE 44 ..D ldd #ae44 ; "MACHINE OUT OF ORDER"
-DEE2 BD C0 2E ... jsr c02e ;jump71
+DEE2 BD C0 2E ... jsr c02e ;jump71 - display
DEE5 38 8 pulx
DEE6 39 9 rts
DF42 CE 00 1B ... ldx #001b
DF45 1D 00 01 ... bclr 00,x, #01
DF48 F6 00 25 ..% ldab 0025
-DF4B 26 20 & bne 20
+DF4B 26 20 & bne 20 ; to df6d
DF4D F6 00 1B ... ldab 001b
DF50 C4 40 .@ andb #40
DF52 27 19 '. beq 19
DF5C FC 00 3E ..> ldd 003e
DF5F 27 03 '. beq 03
DF61 BD DB 44 ..D jsr db44 ;jump104 - say thanks
-DF64 BD D6 6B ..k jsr d66b ;jump107
+DF64 BD D6 6B ..k jsr d66b ;jump107 - chat to bill validator
DF67 CE 00 1B ... ldx #001b
DF6A 1D 00 40 ... bclr 00,x, #40
+;
DF6D F6 00 2C .., ldab 002c
DF70 27 03 '. beq 03
DF72 7E E0 66 ~.f jmp e066 ;goto71
DF75 F6 00 34 ..4 ldab 0034
-DF78 26 0B &. bne 0b
+DF78 26 0B &. bne 0b ; to df85
DF7A BD BE 69 ..i jsr be69 ;displayreset
-DF7D C6 32 .2 ldab #32
+DF7D C6 32 .2 ldab #32 ; 50
DF7F F7 00 34 ..4 stab 0034
-DF82 7E E0 63 ~.c jmp e063 ;goto72
+DF82 7E E0 63 ~.c jmp e063 ;goto72 - bail
+;
DF85 FC 00 40 ..@ ldd 0040
DF88 26 05 &. bne 05
DF8A FC 00 3E ..> ldd 003e
DF92 3C < pshx
DF93 FC 00 40 ..@ ldd 0040
DF96 F3 00 3E ..> addd 003e
-DF99 BD BE 9E ... jsr be9e ;jump50
+DF99 BD BE 9E ... jsr be9e ;jump50 - write slot & price to screen?
DF9C 38 8 pulx
DF9D C6 05 .. ldab #05
DF9F F7 00 2C .., stab 002c
DFA2 7E E0 63 ~.c jmp e063 ;goto72
+;
DFA5 F6 0C D9 ... ldab 0cd9
DFA8 C1 04 .. cmpb #04
-DFAA 24 07 $. bcc 07
+DFAA 24 07 $. bcc 07 ; to dfb3
DFAC F6 0B C0 ... ldab 0bc0
DFAF C4 01 .. andb #01 ; have a dumb mech
-DFB1 26 07 &. bne 07
+DFB1 26 07 &. bne 07 ; to dfba
DFB3 F6 00 21 ..! ldab 0021
DFB6 C4 40 .@ andb #40
-DFB8 27 43 'C beq 43
+DFB8 27 43 'C beq 43 ; to dffd
+;
DFBA F6 00 2B ..+ ldab 002b
DFBD C1 00 .. cmpb #00
DFBF 26 0D &. bne 0d
DFC1 CE 00 19 ... ldx #0019
DFC4 3C < pshx
DFC5 CC AD E7 ... ldd #ade7 ; "INTRODUZCA"
-DFC8 BD C0 2E ... jsr c02e ;jump71
+DFC8 BD C0 2E ... jsr c02e ;jump71 - display
DFCB 38 8 pulx
DFCC 20 2D - bra 2d
DFCE C1 01 .. cmpb #01
DFD2 CE 00 12 ... ldx #0012
DFD5 3C < pshx
DFD6 CC AD D3 ... ldd #add3 ; "NICT UEBERZAHLEN"
-DFD9 BD C0 2E ... jsr c02e ;jump71
+DFD9 BD C0 2E ... jsr c02e ;jump71 - display
DFDC 38 8 pulx
DFDD 20 1C . bra 1c
DFDF C1 02 .. cmpb #02
DFE3 CE 00 19 ... ldx #0019
DFE6 3C < pshx
DFE7 CC AD B8 ... ldd #adb8 ; "MONNAIE EXACT"
-DFEA BD C0 2E ... jsr c02e ;jump71
+DFEA BD C0 2E ... jsr c02e ;jump71 - display
DFED 38 8 pulx
DFEE 20 0B . bra 0b
DFF0 CE 00 11 ... ldx #0011 ; length of
DFF4 CC AD A5 ... ldd #ada5 ; " EXACT COINS ONLY "
DFF7 BD C0 2E ... jsr c02e ;jump71 - display
DFFA 38 8 pulx
-DFFB 20 66 f bra 66
+DFFB 20 66 f bra 66 ;goto72
+;
DFFD F6 0B C0 ... ldab 0bc0
E000 C4 08 .. andb #08 ; have link master price holding
-E002 27 52 'R beq 52
+E002 27 52 'R beq 52 ; to e056
E004 F6 0B C1 ... ldab 0bc1
E007 C4 08 .. andb #08 ; test bill error bit
E009 26 08 &. bne 08
E01A CE 00 12 ... ldx #0012
E01D 3C < pshx
E01E CC AE 30 ..0 ldd #ae30 ; "MONEDA UNICAMENTE"
-E021 BD C0 2E ... jsr c02e ;jump71
+E021 BD C0 2E ... jsr c02e ;jump71 - display
E024 38 8 pulx
E025 20 2D - bra 2d
E027 C1 01 .. cmpb #01
E02B CE 00 0B ... ldx #000b
E02E 3C < pshx
E02F CC AE 23 ..# ldd #ae23 ; "NUR MUNZEN"
-E032 BD C0 2E ... jsr c02e ;jump71
+E032 BD C0 2E ... jsr c02e ;jump71 - display
E035 38 8 pulx
E036 20 1C . bra 1c
E038 C1 02 .. cmpb #02
E03C CE 00 12 ... ldx #0012
E03F 3C < pshx
E040 CC AE 0F ... ldd #ae0f ; "MONNAIES SEULEMENT"
-E043 BD C0 2E ... jsr c02e ;jump71
+E043 BD C0 2E ... jsr c02e ;jump71 - display
E046 38 8 pulx
E047 20 0B . bra 0b
E049 CE 00 0B ... ldx #000b
E04C 3C < pshx
E04D CC AE 02 ... ldd #ae02 ; "COINS ONLY"
-E050 BD C0 2E ... jsr c02e ;jump71
+E050 BD C0 2E ... jsr c02e ;jump71 - display
E053 38 8 pulx
E054 20 0D . bra 0d
+;
E056 F6 0B BF ... ldab 0bbf
E059 4F O clra
E05A 37 7 pshb
E05B 36 6 psha
E05C CC 09 93 ... ldd #0993 ; some custom message?
-E05F BD C0 2E ... jsr c02e ;jump71
+E05F BD C0 2E ... jsr c02e ;jump71 - display
E062 38 8 pulx
goto72:
-E063 7E E5 6A ~.j jmp e56a ;goto73
+E063 7E E5 6A ~.j jmp e56a ;goto73 - bail
goto71:
E066 F6 00 06 ... ldab 0006
E069 26 03 &. bne 03
-E06B 7E E5 6A ~.j jmp e56a ;goto73
+E06B 7E E5 6A ~.j jmp e56a ;goto73 - bail
E06E CE 00 1D ... ldx #001d
E071 1C 00 40 ... bset 00,x, #40
E074 BD E7 C7 ... jsr e7c7 ;jump114
E07A C1 59 .Y cmpb #59 ; 89
E07C 26 06 &. bne 06
E07E BD DE 09 ... jsr de09 ;jump119 - display machine id
-E081 7E E5 5E ~.^ jmp e55e ;goto74
+E081 7E E5 5E ~.^ jmp e55e ;goto74 - bail
+;
E084 F6 00 06 ... ldab 0006
E087 BD D4 68 ..h jsr d468 ;jump51
E08A 83 00 00 ... subd #0000
-E08D 27 18 '. beq 18
+E08D 27 18 '. beq 18 ; to e097
+;
E08F BD D5 61 ..a jsr d561 ;jump42
E092 83 00 00 ... subd #0000
-E095 26 10 &. bne 10
+E095 26 10 &. bne 10 ; to e0a7
+;
E097 BD D3 46 ..F jsr d346 ;jump43
E09A 83 00 00 ... subd #0000
E09D 26 08 &. bne 08
E09F BD D7 83 ... jsr d783 ;jump44
E0A2 83 00 00 ... subd #0000
E0A5 27 09 '. beq 09
+;
E0A7 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
-E0AA BD D8 E9 ... jsr d8e9 ;jump92
-E0AD 7E E5 5E ~.^ jmp e55e ;goto74
+E0AA BD D8 E9 ... jsr d8e9 ;jump92 - "SELECT OTHER ITEM"
+E0AD 7E E5 5E ~.^ jmp e55e ;goto74 - bail
+;
E0B0 F6 00 06 ... ldab 0006
E0B3 4F O clra
E0B4 05 . asld
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 ; have a changer
+E0E0 C4 02 .. andb #02 ; have a link master! (thats us!)
E0E2 26 03 &. bne 03
E0E4 BD DE 15 ... jsr de15 ;jump118
E0E7 F6 00 11 ... ldab 0011
-E0EA C4 20 . andb #20
-E0EC 26 1A &. bne 1a
+E0EA C4 20 . andb #20 ; win a snack?
+E0EC 26 1A &. bne 1a ;to e108
E0EE F6 0B C0 ... ldab 0bc0
E0F1 C4 02 .. andb #02 ; have a changer
-E0F3 26 13 &. bne 13
+E0F3 26 13 &. bne 13 ; to e108
E0F5 FC 00 40 ..@ ldd 0040
E0F8 F3 00 3E ..> addd 003e
E0FB B3 00 44 ..D subd 0044
-E0FE 25 08 %. bcs 08
+E0FE 25 08 %. bcs 08 ; to e108
E100 F6 0B C0 ... ldab 0bc0
-E103 2D 03 -. blt 03 ; no free vend
+E103 2D 03 -. blt 03 ; no free vend - to e108
E105 BD DA 64 ..d jsr da64 ;jump122
-E108 FC 00 40 ..@ ldd 0040
+;
+E108 FC 00 40 ..@ ldd 0040 ; have sufficient funds?
E10B F3 00 3E ..> addd 003e
E10E B3 00 44 ..D subd 0044
-E111 24 50 $P bcc 50
+E111 24 50 $P bcc 50 ; to e163
E113 F6 0B C0 ... ldab 0bc0
E116 C4 10 .. andb #10 ; have link master price holding
E118 26 49 &I bne 49
E14A CE 00 00 ... ldx #0000
E14D 3C < pshx
E14E FC 00 44 ..D ldd 0044
-E151 BD BE 9E ... jsr be9e ;jump50
+E151 BD BE 9E ... jsr be9e ;jump50 - write price to screen
E154 38 8 pulx
E155 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
E158 BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
E15B C6 0C .. ldab #0c
E15D F7 00 2C .., stab 002c
-E160 7E E5 5E ~.^ jmp e55e ;goto74
+E160 7E E5 5E ~.^ jmp e55e ;goto74 - return
+;
E163 F6 0B C0 ... ldab 0bc0
E166 C4 01 .. andb #01 ; have a dumb mech
-E168 26 11 &. bne 11
+E168 26 11 &. bne 11 ; to e17b
E16A F6 0B C0 ... ldab 0bc0
E16D C4 04 .. andb #04 ; have a card reader
-E16F 26 0A &. bne 0a
+E16F 26 0A &. bne 0a ; to e17b
E171 F6 0B C0 ... ldab 0bc0
E174 C4 0F .. andb #0f ; have any coin input mechanism
-E176 27 03 '. beq 03
+E176 27 03 '. beq 03 ; to e17b
E178 7E E3 35 ~.5 jmp e335 ;goto75
+;
E17B FC 00 40 ..@ ldd 0040
E17E F3 00 3E ..> addd 003e
E181 B3 00 44 ..D subd 0044
-E184 FD 10 16 ... std 1016
+E184 FD 10 16 ... std 1016 ; change required to give?
E187 F6 00 15 ... ldab 0015
E18A C4 01 .. andb #01
-E18C 27 08 '. beq 08
+E18C 27 08 '. beq 08 ; to e196
E18E FC 10 16 ... ldd 1016
E191 83 00 64 ..d subd #0064 ; 100
-E194 25 3C %< bcs 3c
+E194 25 3C %< bcs 3c ; to e1d2
E196 F6 00 15 ... ldab 0015
E199 C4 02 .. andb #02
-E19B 27 08 '. beq 08
+E19B 27 08 '. beq 08 ; to e1a5
E19D FC 10 16 ... ldd 1016
E1A0 83 00 C8 ... subd #00c8 ; 200
-E1A3 25 2D %- bcs 2d
+E1A3 25 2D %- bcs 2d ; to e1d2
E1A5 F6 00 15 ... ldab 0015
E1A8 C4 04 .. andb #04
-E1AA 27 08 '. beq 08
+E1AA 27 08 '. beq 08 ; to e1b4
E1AC FC 10 16 ... ldd 1016
E1AF 83 01 F4 ... subd #01f4 ; 500
-E1B2 25 1E %. bcs 1e
+E1B2 25 1E %. bcs 1e ; to e1d2
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 ; 1000
-E1C1 25 0F %. bcs 0f
+E1C1 25 0F %. bcs 0f ; to e1d2
E1C3 F6 00 15 ... ldab 0015
E1C6 C4 10 .. andb #10
-E1C8 27 13 '. beq 13
+E1C8 27 13 '. beq 13 ; to e1dd
E1CA FC 10 16 ... ldd 1016
E1CD 83 07 D0 ... subd #07d0 ; 2000
-E1D0 24 0B $. bcc 0b
+E1D0 24 0B $. bcc 0b ; to e1dd
+;
E1D2 BD C0 E0 ... jsr c0e0 ;jump94
E1D5 83 00 00 ... subd #0000
E1D8 26 01 &. bne 01
E1E3 FC 00 40 ..@ ldd 0040
E1E6 B3 00 44 ..D subd 0044
E1E9 F3 00 3E ..> addd 003e
-E1EC FD 00 40 ..@ std 0040
+E1EC FD 00 40 ..@ std 0040 ; credit left
E1EF 5F _ clrb
E1F0 4F O clra
E1F1 FD 00 3E ..> std 003e
E1F4 CE 00 1B ... ldx #001b
E1F7 1C 00 80 .. bset 00,x, #80
-E1F9 BD D2 13 .. jsr d213 ;jump45
+E1F9 BD D2 13 .. jsr d213 ;jump45 - vend it!
E1FC 83 00 00 ... subd #0000
-E200 26 12 &. bne 12
+E200 26 12 &. bne 12 ; to e214
E202 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
E205 BD D8 E9 ... jsr d8e9 ;jump92 - "SELECT OTHER ITEM"
E208 FC 00 40 ..@ ldd 0040
E214 BD DB CB ... jsr dbcb ;jump121
E217 F6 00 1B ... ldab 001b
E21A C4 20 . andb #20
-E21C 27 45 'E beq 45
+E21C 27 45 'E beq 45 ; to e263
E21E FC 00 44 ..D ldd 0044
E221 37 7 pshb
E222 36 6 psha
E237 36 6 psha
E238 CE E1 00 ... ldx #e100
E23B 3C < pshx
-E23C CC 05 F5 ... ldd #05f5
+E23C CC 05 F5 ... ldd #05f5 ; 100000000 (with above)
E23F 37 7 pshb
E240 36 6 psha
E241 30 0 tsx
E250 25 11 %. bcs 11
E252 CE 1F 00 ... ldx #1f00
E255 3C < pshx
-E256 CC FA 0A ... ldd #fa0a
+E256 CC FA 0A ... ldd #fa0a ; -100000000 (with above)
E259 37 7 pshb
E25A 36 6 psha
E25B CC 0D FB ... ldd #0dfb
-E25E BD FB DF ... jsr fbdf ;jump46
+E25E BD FB DF ... jsr fbdf ;jump46 - update accounting info?
E261 31 1 ins
E262 31 1 ins
+;
E263 F6 0B C0 ... ldab 0bc0
-E266 2C 78 ,x bge 78 ; free vend
+E266 2C 78 ,x bge 78 ; free vend - to e2e0
E268 F6 00 06 ... ldab 0006
E26B 4F O clra
E26C 05 . asld
E281 26 05 &. bne 05
E283 5F _ clrb
E284 4F O clra
-E285 FD 0D 0D ... std 0d0d
+E285 FD 0D 0D ... std 0d0d ; update number of free vends?
E288 FE 0D 0D ... ldx 0d0d
E28B 08 . inx
E28C FF 0D 0D ... stx 0d0d
E2A2 37 7 pshb
E2A3 36 6 psha
E2A4 CC 0D 1B ... ldd #0d1b
-E2A7 BD FB DF ... jsr fbdf ;jump46
+E2A7 BD FB DF ... jsr fbdf ;jump46 - update accounting info?
E2AA 31 1 ins
E2AB 31 1 ins
E2AC FE 0D 1D ... ldx 0d1d
E2B4 36 6 psha
E2B5 CE E1 00 ... ldx #e100
E2B8 3C < pshx
-E2B9 CC 05 F5 ... ldd #05f5
+E2B9 CC 05 F5 ... ldd #05f5 ; 100000000
E2BC 37 7 pshb
E2BD 36 6 psha
E2BE 30 0 tsx
E2CD 25 11 %. bcs 11
E2CF CE 1F 00 ... ldx #1f00
E2D2 3C < pshx
-E2D3 CC FA 0A ... ldd #fa0a
+E2D3 CC FA 0A ... ldd #fa0a ; -100000000
E2D6 37 7 pshb
E2D7 36 6 psha
E2D8 CC 0D 1B ... ldd #0d1b
-E2DB BD FB DF ... jsr fbdf ;jump46
+E2DB BD FB DF ... jsr fbdf ;jump46 - update accounting info?
E2DE 31 1 ins
E2DF 31 1 ins
+;
E2E0 F6 00 11 ... ldab 0011
-E2E3 C4 10 .. andb #10
-E2E5 26 14 &. bne 14
+E2E3 C4 10 .. andb #10 ; multi dip switch
+E2E5 26 14 &. bne 14 ; to e2fb
E2E7 FC 00 40 ..@ ldd 0040
-E2EA 27 0F '. beq 0f
+E2EA 27 0F '. beq 0f ; to e2fb
E2EC FC 00 40 ..@ ldd 0040
E2EF B3 00 50 ..P subd 0050
-E2F2 24 15 $. bcc 15
+E2F2 24 15 $. bcc 15 ; to e309
E2F4 F6 00 11 ... ldab 0011
E2F7 C4 10 .. andb #10
E2F9 26 0E &. bne 0e
+;
E2FB BD DB 44 ..D jsr db44 ;jump104 - say thanks
E2FE CE 00 1B ... ldx #001b
E301 1D 00 40 ... bclr 00,x, #40
E304 7F 00 25 ..% clr 0025
-E307 20 1A . bra 1a
+E307 20 1A . bra 1a ; to e323
+;
E309 7F 00 2C .., clr 002c
E30C CC 01 F4 ... ldd #01f4
E30F BD E5 71 ..q jsr e571 ;msdelay
-E312 BD E5 AA ... jsr e5aa ;jump12
-E315 BD D8 E9 ... jsr d8e9 ;jump92
+E312 BD E5 AA ... jsr e5aa ;jump12 - beep if keypressed?
+E315 BD D8 E9 ... jsr d8e9 ;jump92 - select other item
E318 CE 00 1B ... ldx #001b
E31B 1C 00 40 ... bset 00,x, #40
E31E C6 0A .. ldab #0a
E320 F7 00 25 ..% stab 0025
+;
E323 BD D7 FF ... jsr d7ff ;jump80
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 ; clear bill error bit
-E332 7E E5 5E ~.^ jmp e55e ;goto74
+E332 7E E5 5E ~.^ jmp e55e ;goto74 - bail
goto75:
E335 F6 0B C0 ... ldab 0bc0
-E338 C4 02 .. andb #02 ; have a changer
+E338 C4 02 .. andb #02 ; have changer - european link master type!
E33A 26 03 &. bne 03
-E33C 7E E5 5E ~.^ jmp e55e ;goto74
+E33C 7E E5 5E ~.^ jmp e55e ;goto74 - bail
E33F 5F _ clrb
E340 4F O clra
E341 FD 00 76 ..v std 0076
E34A CE 00 17 ... ldx #0017
E34D 1D 00 02 ... bclr 00,x, #02
E350 FC 00 44 ..D ldd 0044
-E353 26 1C &. bne 1c
+E353 26 1C &. bne 1c ; to e371
E355 F6 0B C0 ... ldab 0bc0
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
-E361 80 20 . suba #20
-E363 0B . sev
+E35F 1C 00 80 .. bset 00,x, #80
+E362 20 0B . bra 0b
E364 CE 00 21 ..! ldx #0021
-E367 1D 00 .. bclr add,x 00,x
-E369 80 C6 .. suba #c6
-E36B 05 . asld
+E367 1D 00 80 .. bclr 00,x, #80
+E369 C6 05 .. ldab #05
E36C F7 00 75 ..u stab 0075
-E36F 20 57 W bra 57
+E36F 20 57 W bra 57 ; to e3c8
+;
E371 F6 0B C0 ... ldab 0bc0
E374 C4 10 .. andb #10 ; have link master price holding
-E376 27 50 'P beq 50
+E376 27 50 'P beq 50 ; to e3c8
E378 FC 00 40 ..@ ldd 0040
-E37B 26 4B &K bne 4b
+E37B 26 4B &K bne 4b ; to e3c8
E37D F6 0B C0 ... ldab 0bc0
E380 C4 20 . andb #20 ; have link master price holding - price display
-E382 27 3E '> beq 3e
+E382 27 3E '> beq 3e ; e3c2
E384 CE 00 17 ... ldx #0017
E387 1C 00 01 ... bset 00,x, #01
E38A F6 00 2B ..+ ldab 002b
E3BA CE 00 17 ... ldx #0017
E3BD 1C 00 02 ... bset 00,x, #02
E3C0 20 06 . bra 06
+;
E3C2 CE 00 1F ... ldx #001f
E3C5 1C 00 08 ... bset 00,x, #08
+;
E3C8 CE 00 1D ... ldx #001d
E3CB 1C 00 02 ... bset 00,x, #02
E3CE CE 00 19 ... ldx #0019
E40B CE 00 19 ... ldx #0019
E40E 1D 00 08 ... bclr 00,x, #08
E411 CE 00 1B ... ldx #001b
-E414 1D 00 .. bclr add,x 00,x
-E416 80 CE .. suba #ce
-E418 00 . test
-E419 1D 1D 00 ... bclr 1d,x, #00
-E41C 40 @ nega
+E414 1D 00 80 .. bclr 00,x, #80
+E416 CE 00 1D .. ldx #001d
+E41A 1D 00 40 ... bclr 00,x, #40
E41D CE 00 1D ... ldx #001d
E420 1D 00 02 ... bclr 00,x, #02
E423 CE 00 1F ... ldx #001f
E426 1D 00 08 ... bclr 00,x, #08
E429 CE 00 21 ..! ldx #0021
-E42C 1D 00 .. bclr add,x 00,x
-E42E 80 39 .9 suba #39
+E42C 1D 00 80 .. bclr 00,x, #80
+E42F 39 .9 rts
+;
E430 F6 0B C0 ... ldab 0bc0
E433 C4 20 . andb #20 ; link master - price display
E435 27 34 '4 beq 34
E46B 7E E3 DE ~.. jmp e3de ;goto77
goto76:
E46E CE 00 21 ..! ldx #0021
-E471 1D 00 .. bclr add,x 00,x
-E473 80 CE .. suba #ce
-E475 00 . test
-E476 1F 1D 00 08 .... brclr 1d,x 00 08
-E47A BD D2 13 ... jsr d213 ;jump45
+E471 1D 00 80 .. bclr 00,x, #80
+E474 CE 00 1F .. ldx #001f
+E477 1D 00 08 .... bclr 00,x, #08
+E47A BD D2 13 ... jsr d213 ;jump45 - vend it!
E47D 83 00 00 ... subd #0000
E480 26 0F &. bne 0f
E482 CC 00 80 ... ldd #0080
E485 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
E488 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
-E48B BD D8 E9 ... jsr d8e9 ;jump92
-E48E 7E E5 5E ~.^ jmp e55e ;goto74
+E48B BD D8 E9 ... jsr d8e9 ;jump92 - "SELECT OTHER ITEM"
+E48E 7E E5 5E ~.^ jmp e55e ;goto74 - bail
E491 F6 00 2B ..+ ldab 002b
E494 C1 00 .. cmpb #00
E496 26 08 &. bne 08
E561 7F 00 2E ... clr 002e
E564 CE 00 1B ... ldx #001b
E567 1D 00 80 .. bclr 00,x, #80
-;goto73
+goto73:
E56A CE 00 1D ... ldx #001d
E56C 1D 00 40 .. bclr 00,x, #40
E570 39 9 rts