;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
; 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)
;0bbd
;0bd8 related to 0017 and 0021 (only lower 3 bits used)
;0bd9 also related
-;0bc0 machine capabilities flags
+;0bc0 machine peripheral configuration flags
; bit0: have dumb mech
; bit1: have a changer
; bit2: have card reader
+;0800 - 0x0fff memory bank 2k
+;
;1800 Internal switches
; 7 changer INT'
; 6 Sold out.
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
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
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
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
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
+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:
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
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:
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
C69F CC 00 14 ... ldd #0014
C6A2 BD E5 71 ..q jsr e571 ;msdelay
C6A5 F6 0B C0 ... ldab 0bc0
-C6A8 C4 01 .. andb #01
+C6A8 C4 01 .. andb #01 ; have a dumb mech
C6AA 27 06 '. beq 06
C6AC CE 0B C1 ... ldx #0bc1
C6AF 1C 00 01 ... bset 00,x, #01 ; set changer powerup error bit
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
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
sciinterrupt:
C81C 34 4 des
+; make sure this interrupt is valid
C81D F6 0B C0 ... ldab 0bc0
C820 C4 01 .. andb #01 ; do we have a dumb mech?
C822 26 0A &. bne 0a ; if so, to c82e
C82B 7E CB FF ~.. jmp cbff ; else to goto44
;
C82E C6 96 .. ldab #96 ; 150
-C830 F7 00 30 ..0 stab 0030 ; changer related still
+C830 F7 00 30 ..0 stab 0030 ; changer related still?
C833 F6 10 2E ... ldab 102e ; SCI status
C836 C4 02 .. andb #02 ; test for Framing Error
C838 26 0B &. bne 0b ; if so, to c845
CBF9 7F 00 3D ..= clr 003d
CBFC 7E CE 46 ~.F jmp ce46 ;goto47 (exit)
;
+;
+;
+;
+;
goto44:
CBFF F6 0B C0 ... ldab 0bc0 ; do we have a changer?
CC02 C4 02 .. andb #02
CC04 26 03 &. bne 03 ; if so, swallow & exit
CC06 7E CE 3B ~.; jmp ce3b ; goto54 - swallow a byte & exit
- ; else
;
CC09 F6 10 2F ../ ldab 102f ; read SCI data
-CC0C C4 E0 .. andb #e0
-CC0E C1 20 . cmpb #20
+CC0C C4 E0 .. andb #e0 ; 11100000
+CC0E C1 20 . cmpb #20 ; 00100000
CC10 27 03 '. beq 03
CC12 7E CE 3B ~.; jmp ce3b ;goto54 - swallow a byte & exit
;
-CC15 C6 32 .2 ldab #32 ; 50
+CC15 C6 32 .2 ldab #32 ; 50 00110010
CC17 F7 00 2F ../ stab 002f
-CC1A CE 00 1B ... ldx #001b
+CC1A CE 00 1B ... ldx #001b ; say we have a link master?
CC1D 1C 00 02 ... bset 00,x, #02
CC20 F6 10 2E ... ldab 102e ; SCI status
CC23 C4 02 .. andb #02 ; test for Framing Error
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
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
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
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
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
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
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
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
jump116:
; revolves around coinage
DEE7 F6 0B C0 ... ldab 0bc0
-DEEA C4 01 .. andb #01
-DEEC 26 07 &. bne 07
+DEEA C4 01 .. andb #01 ; have a dumb mech
+DEEC 26 07 &. bne 07 ; to def5
DEEE F6 0B C0 ... ldab 0bc0
-DEF1 C4 04 .. andb #04
-DEF3 27 15 '. beq 15
+DEF1 C4 04 .. andb #04 ; have a card reader
+DEF3 27 15 '. beq 15 ; if not to df0a
+; have dumb mech:
DEF5 C6 FF .. ldab #ff
DEF7 F7 0B BC ... stab 0bbc
DEFA F6 00 15 ... ldab 0015
-DEFD 2D 03 -. blt 03
+DEFD 2D 03 -. blt 03 ; to df02
DEFF BD C6 7D ..} jsr c67d ;jump124 - chat to changer
DF02 BD D6 6B ..k jsr d66b ;jump107 - chat to bill acceptor
DF05 BD DC A3 ... jsr dca3 ;jump29
-DF08 20 25 % bra 25
+DF08 20 25 % bra 25 ; to df2f
+; test the link master?
DF0A F6 0B C0 ... ldab 0bc0
-DF0D C4 02 .. andb #02
-DF0F 27 1E '. beq 1e
+DF0D C4 02 .. andb #02 ;have link master
+DF0F 27 1E '. beq 1e ; to df2f
DF11 F6 00 2F ../ ldab 002f
-DF14 26 19 &. bne 19
+DF14 26 19 &. bne 19 ; to df2f
DF16 F6 00 1B ... ldab 001b
DF19 C4 02 .. andb #02
-DF1B 26 12 &. bne 12
+DF1B 26 12 &. bne 12 ; to df2f
DF1D CC 00 FF ... ldd #00ff
DF20 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
DF23 CE 00 1B ... ldx #001b
DF26 1C 00 02 .. bset 00,x, #02
DF29 CE 0B C1 ... ldx #0bc1
DF2C 1C 00 04 .. bset 00,x, #04 ; set link powerup error bit
+;
DF2F F6 00 21 ..! ldab 0021
DF32 C4 20 . andb #20
DF34 27 07 '. beq 07
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
DFFA 38 8 pulx
DFFB 20 66 f bra 66
DFFD F6 0B C0 ... ldab 0bc0
-E000 C4 08 .. andb #08
+E000 C4 08 .. andb #08 ; have link master price holding
E002 27 52 'R beq 52
E004 F6 0B C1 ... ldab 0bc1
E007 C4 08 .. andb #08 ; test bill error bit
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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