-;0000
+;0000 set to 1 at the end of a keypad read and turned off at the next rti
;0001 coin mask? (cf 0x001a, 0x3000, 0xc430)
;0003 global only used in jump71
+;0005 number of motors we have
;0006 slot number
;0007 06 stored into it sometimes.
-;0008 used exclusively in SCI interrupt
+;0008 what byte of the packet we've read up to
;0009
;000a
;000c
-;0012 another buffer for 1800
+;0012 another buffer for 1800 - what change to give?
;0013
;0014 buffer for 3800 register
;0015
;001d
;001f display related? bit 2. bit 4 denotes service mode
;0021 lower 3 bits taken from SCI data somewhere
+; bit 5 denotes machine out of order
;0023 buffer for 1800
;0026 used exclusively in SCI interrupt handler
;0029 previous key state (cf 0016)
;002c inhibits display writes?
-;0032
+;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
;0042 current key press
;0048 error status
;004a
;0052 win-a-snack odds (in ram)
+;0054 0..100
;0056 last known keypad row 1 state
;005b last known keypad row 0 state
-;005d
-;005e Y in location XY (row?)
-;005f X in location XY (column?)
+;005a - result of number to string operations (jump55)
+; 005f
+;0067 working space of 0bc0
;0073
;0076-0077 word
;007f
;00c8
+;0800 motor information array - each is a 16-bit value
+;
;08c8 array of prices of each slot??
;0993 custom message?
;0b90 - 0b99 display buffer (backwards)
+;0b9a - some sort of id? press 89 on the machine
;0baa
+;0bae
;0bb5 win-a-snack odds (is this in NVRAM?)
;0bbd
;0bd8 related to 0017 and 0021 (only lower 3 bits used)
;0bd9 also related
-;0bc0 bit 0, 2, 1, 3
+;0bc0 machine peripheral configuration flags
+; bit0: have dumb mech
+; bit1: have a changer
+; bit2: have card reader
+; bit3: have bill validator
+; bit4: link master - price holding enabled
+; bit5: link master - price display enabled
+; bit6: have $1 changer
+; bit7: free vend
;0bc1 error status: (from jump72)
; bit0: changer powerup
; bit1: card powerup
; bit4: coin jam
; bit5: bad sensor
; bit6: tube error
-;0bc2 - 0bce SCI read into these locations
-;0cbc serial number
-;0ccc machine ID
+;
+; SCI read buffer:
+;
+;0bc2 multiplied by 10^0bc3 and stored into 0baa
+;0bc3 10 is raise to the power of this number shr 4, and multiplied by 0baa
+;0bc4 index of something
+;0bc5 index of something else
+;0bc6 index of another thing
+;0bc7 word number of something
+;0bc8
+;0bc9 word number of something else
+;0bca
+;0bcb word number of another thing
+;0bcc
+;0bcd word number of another else
+;0bce
+;
+;0bc4 array index into 0bc7
+;0bc5
+;0bc6 another array index into 0bc7
+;0bc7 word array
+;
+;0bdd value of coin mech quarters
+;0bdf value of coin mech dimes
+;0be1 value of coin mech nickels
+
+;
+;0bd7 init'd to 0x01
+;0bd8 init'd to 0x04
+;0bd9 init'd to 0x02
+;0bda init'd to 0x20
+;0bdb init'd to 0x08
+;0bdc init'd to 0x10
+;
+;0cbc serial number (string)
+;0ccc machine ID (string)
+;0ce7 audit number (word)
+;
;0cd9 counter of something - reset to 4 on some serial input
;0cda counter of something - reset to 4 on some serial input
;0cdb also counts something - reset to 4 on some serial input
+
+;0ce9 value or number of $1 coins
+;0ceb value or number of 20c coins
+;0ced value or number of 10c coins
+;0cef value or number of 5c coins
+
+;0cdc number of value of $1 coins
+;0cdb number or value of 20c coin
+;0cda number or value of 10c coins
+;0cd9 number or value of 5c coins
+
;0dff - 0e04 keypad buffer - most recent in 0e04
;0e05 array index of the array to follow
;0e06 - ?? array of digits*10
;1000
;1009
+;1016 - timer output compare 1 register
;1026
;1028 SPCR (Serial Peripheral Control Register)
;1030
;103c
-;1016 - timer output compare 1 register
+;0800 - 0x0fff memory bank 2k
+;
;1800 Internal switches
; 7 changer INT'
; 6 Sold out.
; PE6 <unused>
; PE5 <unused>
; PE4 <unused>
-; PE3 goes high when 24VUN line is too low
+; PE3 goes high when 24VUN line is *really* low (like 20V)
; PE2 remote no-sale switch (active low)
; PE1 motor overvoltage sense (active high)
; PE0 motor overcurrent sense (active low)
80FF 05 . asld
jump72:
+; initial menu when door opens?
8100 F6 00 1D ... ldab 001d
8103 C4 10 .. andb #10
-8105 27 3D '= beq 3d
+8105 27 3D '= beq 3d ; to 8144
8107 BD D6 52 ..R jsr d652 ;jump5
810A CE 00 1D ... ldx #001d
810D 1D 00 10 ... bclr 00,x, #10
813B 7F 0E 02 ... clr 0e02
813E 7F 0E 03 ... clr 0e03
8141 7F 0E 04 ... clr 0e04
+;
8144 F6 00 42 ..B ldab 0042
8147 C1 0B .. cmpb #0b
8149 26 0F &. bne 0f
825B F6 00 54 ..T ldab 0054
825E F7 00 06 ... stab 0006
8261 F6 00 06 ... ldab 0006
-8264 BD D7 A0 ... jsr d7a0 ;jump10
+8264 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8267 83 00 00 ... subd #0000
826A 27 15 '. beq 15
826C CC 7F FF ... ldd #7fff
82E4 F6 00 54 ..T ldab 0054
82E7 F7 00 06 ... stab 0006
82EA F6 00 06 ... ldab 0006
-82ED BD D7 A0 ... jsr d7a0 ;jump10
+82ED BD D7 A0 ... jsr d7a0 ;is_invalid_slot
82F0 83 00 00 ... subd #0000
82F3 27 15 '. beq 15
82F5 CC 7F FF ... ldd #7fff
836D F6 00 54 ..T ldab 0054
8370 F7 00 06 ... stab 0006
8373 F6 00 06 ... ldab 0006
-8376 BD D7 A0 ... jsr d7a0 ;jump10
+8376 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8379 83 00 00 ... subd #0000
837C 26 17 &. bne 17
837E F6 00 54 ..T ldab 0054
8518 BD FE 16 ... jsr fe16 ;jump2
851B 00 00 .
851C 00 0B .
-851F 85 80 ..
-8521 85 39 .9
+851F 85 80 .. ; default action - leave menu?
+8521 85 39 .9 ; 0 - no key pressed
8523 85 4A .J ; key 1 - changer loading & calibration
8525 85 4F .O ; key 2 - win-a-snack odds programming
8527 85 54 .T ; key 3 - set pricing
85BE 39 9 rts
jump28:
+; drop some change out of the changer?
85BF F6 00 12 ... ldab 0012
85C2 C4 1E .. andb #1e ; 00011110
85C4 4F O clra
85EC 7F 00 2C .., clr 002c
85EF F6 0C D9 ... ldab 0cd9
85F2 27 03 '. beq 03
-85F4 7A 0C D9 z.. dec 0cd9
+85F4 7A 0C D9 z.. dec 0cd9 ; decrement number of 5c coins
85F7 BD 97 F6 ... jsr 97f6 ;jump27
85FA CC 01 5E ..^ ldd #015e
85FD BD E5 71 ..q jsr e571 ;msdelay
8616 7F 00 2C .., clr 002c
8619 F6 0C DA ... ldab 0cda
861C 27 03 '. beq 03
-861E 7A 0C DA z.. dec 0cda
+861E 7A 0C DA z.. dec 0cda ; decrement number of 10c coins
8621 BD 97 F6 ... jsr 97f6 ;jump27
8624 CC 01 5E ..^ ldd #015e
8627 BD E5 71 ..q jsr e571 ;msdelay
8640 7F 00 2C .., clr 002c
8643 F6 0C DB ... ldab 0cdb
8646 27 03 '. beq 03
-8648 7A 0C DB z.. dec 0cdb
+8648 7A 0C DB z.. dec 0cdb ; decrement number of 20c coins
864B BD 97 F6 ... jsr 97f6 ;jump27
864E CC 01 5E ..^ ldd #015e
8651 BD E5 71 ..q jsr e571 ;msdelay
8669 7F 00 2C .., clr 002c
866C F6 0C DC ... ldab 0cdc
866F 27 03 '. beq 03
-8671 7A 0C DC z.. dec 0cdc
+8671 7A 0C DC z.. dec 0cdc ; decrement number of $1 coins
8674 BD 97 F6 ... jsr 97f6 ;jump27
8677 CC 01 5E ..^ ldd #015e
867A BD E5 71 ..q jsr e571 ;msdelay
87E8 39 9 rts
jump74:
+;motor count procedure
87E9 7F 00 05 ... clr 0005
87EC 7F 00 54 ..T clr 0054
87EF F6 00 54 ..T ldab 0054
-87F2 C1 50 .P cmpb #50
-87F4 24 2E $. bcc 2e
+87F2 C1 50 .P cmpb #50 ; 80 entries in lookup table
+87F4 24 2E $. bcc 2e ; to 8824
87F6 F6 00 54 ..T ldab 0054
87F9 4F O clra
-87FA C3 B0 D3 ... addd #b0d3
+87FA C3 B0 D3 ... addd #b0d3 ; lookup table
87FD 8F . xgdx
87FE E6 00 .. ldab 00,x
8800 F7 00 06 ... stab 0006
8803 F6 00 06 ... ldab 0006
-8806 BD D7 A0 ... jsr d7a0 ;jump10
+8806 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8809 83 00 00 ... subd #0000
880C 26 11 &. bne 11
-880E BD D3 11 ... jsr d311 ;jump30
+880E BD D3 11 ... jsr d311 ;jump30 - test it
8811 83 00 00 ... subd #0000
8814 26 03 &. bne 03
8816 7C 00 05 |.. inc 0005
881C BD E5 71 ..q jsr e571 ;msdelay
881F 7C 00 54 |.T inc 0054
8822 20 CB . bra cb
-8824 BD 99 81 ... jsr 9981 ;jump144
+8824 BD 99 81 ... jsr 9981 ;jump144 - write "MOTORS XX" (from 0005)
8827 CC 07 D0 ... ldd #07d0
882A BD E5 71 ..q jsr e571 ;msdelay
882D 39 9 rts
8978 CE 00 1D ... ldx #001d
897B 1C 00 80 .. bset 00,x, #80
897E F6 0B 94 .. ldab 0b94
-8980 CB D0 .. addb #d0
+8980 CB D0 .. addb #d0 ; -48 (unmake it a digit)
8983 37 7 pshb
8984 F6 0B 95 ... ldab 0b95
-8987 CB D0 .. addb #d0
+8987 CB D0 .. addb #d0 ; -48 (unmake it a digit)
8989 86 0A .. ldaa #0a
898B 3D = mul
898C 30 0 tsx
8993 C6 32 .2 ldab #32
8995 F7 00 3A ..: stab 003a
8998 F6 00 06 ... ldab 0006
-899B BD D7 A0 ... jsr d7a0 ;jump10
+899B BD D7 A0 ... jsr d7a0 ;is_invalid_slot
899E 83 00 00 ... subd #0000
-89A1 26 27 &' bne 27
-89A3 BD D3 11 ... jsr d311 ;jump30
+89A1 26 27 &' bne 27 ; to 89ca
+89A3 BD D3 11 ... jsr d311 ;jump30 - test position exists
89A6 83 00 00 ... subd #0000
89A9 26 0B &. bne 0b
89AB CE 00 1F ... ldx #001f
89B4 20 0F . bra 0f
89B6 CE 00 1F ... ldx #001f
89B9 1D 00 40 .. bclr 00,x, #40
-89BC CC 2A FF .*. ldd #2aff
+89BC CC 2A FF .*. ldd #2aff ; 00101010 11111111
89BF FD 00 27 ..' std 0027
89C2 BD A3 85 ... jsr a385 ;jump40
89C5 BD 9A 47 ..G jsr 9a47 ;jump39
89C8 20 0C . bra 0c
+;
89CA CE 00 1D ... ldx #001d
89CD 1D 00 .. bclr 00,x, #80
89D0 CE 00 1F ... ldx #001f
89D8 CE 00 1D ... ldx #001d
89DB 1D 00 80 ... bclr 00,x, #80
;goto6
-89DE 7E 8C 72 .~ jmp 8c72 ;goto7
+89DE 7E 8C 72 .~ jmp 8c72 ;goto7 (exit)
;goto5
89E1 F6 00 1D ... ldab 001d
89E4 2D 03 -. blt 03
-89E6 7E 8C 72 ~.r jmp 8c72 ;goto7
+89E6 7E 8C 72 ~.r jmp 8c72 ;goto7 (exit)
89E9 F6 00 09 ... ldab 0009
89EC 4F O clra
89ED BD FE 16 ... jsr fe16 ;jump2
89F0 00 00 00 0B .... ; params to jump2
-89F4 8C 72 ..
-89F6 8A 0E ..
-89F8 8A 14 ..
+89F4 8C 72 .. ; default action
+89F6 8A 0E .. ; 0 - display price on screen?
+89F8 8A 14 .. ; 1 -
89FA 8A AA ..
89FC 8B 5E .^
89FE 8B 9E ..
8A0A 8C 67 ..
8A0C 8C 6F ..
8A0E BD 9A 47 .. jsr 9a47 ;jump39
-8A11 7E 8C 72 ... jmp 8c72 ;goto7
+8A11 7E 8C 72 ... jmp 8c72 ;goto7 (exit)
8A14 F6 00 36 ... ldab 0036
8A17 27 03 '. beq 03
8A19 7E 8A 9B ~.. jmp 8a9b ;goto8
8A3E 4F O clra
8A3F 37 7 pshb
8A40 36 6 psha
-8A41 CC 00 FA ... ldd #00fa
-8A44 BD FB BA ... jsr fbba ;jump38
+8A41 CC 00 FA ... ldd #00fa ; 250 or -6
+8A44 BD FB BA ... jsr fbba ;jump38 - multiply?
8A47 B3 00 27 ..' subd 0027
8A4A 24 05 $. bcc 05
8A4C 5F _ clrb
8A67 4F O clra
8A68 37 7 pshb
8A69 36 6 psha
-8A6A CC 00 C7 ... ldd #00c7
+8A6A CC 00 C7 ... ldd #00c7 ; 199
8A6D BD FB BA ... jsr fbba ;jump38
8A70 B3 00 27 ..' subd 0027
8A73 24 05 $. bcc 05
8A93 BD 9A 47 ..G jsr 9a47 ;jump39
8A96 C6 02 .. ldab #02
8A98 F7 00 36 ..6 stab 0036
-
goto8:
8A9B CE 00 1B ... ldx #001b
8A9E 1C 00 10 ... bset 00,x, #10
8AA1 CC 02 33 ..3 ldd #0233
8AA4 FD 00 3B ..; std 003b
-8AA7 7E 8C 72 ~.r jmp 8c72 ;goto7
+8AA7 7E 8C 72 ~.r jmp 8c72 ;goto7 (exit)
+;
8AAA F6 00 36 ..6 ldab 0036
8AAD 27 03 '. beq 03
8AAF 7E 8B 4F ~.O jmp 8b4f ;goto9
8AD2 4F O clra
8AD3 37 7 pshb
8AD4 36 6 psha
-8AD5 CC 00 FA ... ldd #00fa
+8AD5 CC 00 FA ... ldd #00fa ; 250
8AD8 BD FB BA ... jsr fbba ;jump38
8ADB FD 00 27 ..' std 0027
8ADE 20 38 8 bra 38
8AEF 4F O clra
8AF0 37 7 pshb
8AF1 36 6 psha
-8AF2 CC 00 C7 ... ldd #00c7
+8AF2 CC 00 C7 ... ldd #00c7 ; 199
8AF5 BD FB BA ... jsr fbba ;jump38
8AF8 FD 00 27 ..' std 0027
8AFB 20 1B . bra 1b
8B52 1C 00 10 .. bset 00,x, #10
8B55 CC 02 33 ..3 ldd #0233
8B58 FD 00 3B ..; std 003b
-8B5B 7E 8C 72 ~.r jmp 8c72 ;goto7
+8B5B 7E 8C 72 ~.r jmp 8c72 ;goto7 (exit)
8B5E F6 00 36 ..6 ldab 0036
8B61 26 2C &, bne 2c
8B63 F6 00 1F ... ldab 001f
8B92 1C 00 10 .. bset 00,x, #10
8B95 CC 02 33 ..3 ldd #0233
8B98 FD 00 3B ..; std 003b
-8B9B 7E 8C 72 ~.r jmp 8c72 ;goto7
+8B9B 7E 8C 72 ~.r jmp 8c72 ;goto7 (exit)
8B9E F6 00 36 ..6 ldab 0036
8BA1 26 29 &) bne 29
8BA3 F6 00 1F ... ldab 001f
8BCF 1C 00 10 ... bset 00,x, #10
8BD2 CC 02 33 ..3 ldd #0233
8BD5 FD 00 3B ..; std 003b
-8BD8 7E 8C 72 ~.r jmp 8c72 ;goto7
+8BD8 7E 8C 72 ~.r jmp 8c72 ;goto7 (exit)
8BDB F6 00 1F ... ldab 001f
8BDE C4 40 .@ andb #40
8BE0 27 15 '. beq 15
8C04 24 24 $$ bcc 24
8C06 BD 97 6F ..o jsr 976f ;jump41
8C09 F6 00 06 ... ldab 0006
-8C0C BD D7 A0 ... jsr d7a0 ;jump10
+8C0C BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8C0F 83 00 00 ... subd #0000
8C12 27 16 '. beq 16
8C14 F6 00 06 ... ldab 0006
8C3C C4 7F .. andb #7f
8C3E 4F O clra
8C3F FD 00 46 ..F std 0046
-8C42 BD D3 11 ... jsr d311 ;jump30
+8C42 BD D3 11 ... jsr d311 ;jump30 - test position exists
8C45 83 00 00 ... subd #0000
8C48 26 12 &. bne 12
8C4A CE 00 1F ... ldx #001f
8D14 4F O clra
8D15 37 7 pshb
8D16 36 6 psha
-8D17 CC 00 FA ... ldd #00fa
+8D17 CC 00 FA ... ldd #00fa ; 250
8D1A BD FB BA ... jsr fbba ;jump38
8D1D B3 00 0D ... subd 000d
8D20 24 05 $. bcc 05
8D3D 4F O clra
8D3E 37 7 pshb
8D3F 36 6 psha
-8D40 CC 00 C7 ... ldd #00c7
+8D40 CC 00 C7 ... ldd #00c7 ; 199
8D43 BD FB BA ... jsr fbba ;jump38
8D46 B3 00 0D ... subd 000d
8D49 24 05 $. bcc 05
8D9E 4F O clra
8D9F 37 7 pshb
8DA0 36 6 psha
-8DA1 CC 00 FA ... ldd #00fa
+8DA1 CC 00 FA ... ldd #00fa ; 250
8DA4 BD FB BA ... jsr fbba ;jump38
8DA7 FD 00 0D ... std 000d
8DAA 20 38 8 bra 38
8DBB 4F O clra
8DBC 37 7 pshb
8DBD 36 6 psha
-8DBE CC 00 C7 ... ldd #00c7
+8DBE CC 00 C7 ... ldd #00c7 ; 199
8DC1 BD FB BA ... jsr fbba ;jump38
8DC4 FD 00 0D ... std 000d
8DC7 20 1B . bra 1b
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
8F6B F6 00 24 ..$ ldab 0024
8F6E F7 00 06 ... stab 0006
8F71 F6 00 06 ... ldab 0006
-8F74 BD D7 A0 ... jsr d7a0 ;jump10
+8F74 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8F77 83 00 00 ... subd #0000
8F7A 27 03 '. beq 03
8F7C 7C 00 24 |.$ inc 0024
8FD5 F6 00 24 ..$ ldab 0024
8FD8 F7 00 06 ... stab 0006
8FDB F6 00 06 ... ldab 0006
-8FDE BD D7 A0 ... jsr d7a0 ;jump10
+8FDE BD D7 A0 ... jsr d7a0 ;is_invalid_slot
8FE1 83 00 00 ... subd #0000
8FE4 27 03 '. beq 03
8FE6 7A 00 24 z.$ dec 0024
901B F6 00 2A ..* ldab 002a
901E F7 00 06 ... stab 0006
9021 F6 00 06 ... ldab 0006
-9024 BD D7 A0 ... jsr d7a0 ;jump10
+9024 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
9027 83 00 00 ... subd #0000
902A 27 03 '. beq 03
902C 7C 00 2A |.* inc 002a
9084 F6 00 2A ..* ldab 002a
9087 F7 00 06 ... stab 0006
908A F6 00 06 ... ldab 0006
-908D BD D7 A0 ... jsr d7a0 ;jump10
+908D BD D7 A0 ... jsr d7a0 ;is_invalid_slot
9090 83 00 00 ... subd #0000
9093 27 03 '. beq 03
9095 7A 00 2A z.* dec 002a
92F1 4F O clra
92F2 37 7 pshb
92F3 36 6 psha
-92F4 CC 00 64 ..d ldd #0064
-92F7 BD FB BA ... jsr fbba ;jump38
+92F4 CC 00 64 ..d ldd #0064 ; 100
+92F7 BD FB BA ... jsr fbba ;jump38 - multiplication
92FA FD 0C E9 ... std 0ce9
92FD BD D6 F6 ... jsr d6f6 ;jump106
9300 FC 0C E9 ... ldd 0ce9
936A F6 00 1F ... ldab 001f
936D C4 02 .. andb #02
936F 27 1F '. beq 1f
-9371 BD 97 E9 ... jsr 97e9 ;jump147
+9371 BD 97 E9 ... jsr 97e9 ;jump147 - print the report
9374 CE 00 1F ... ldx #001f
9377 1D 00 02 ... bclr 00,x, #02
937A CE 00 1F ... ldx #001f
94FB 4F O clra
94FC BD FE 32 ..2 jsr fe32 ;jump25
94FF 95 19 00 00 .... ; no key
-9503 95 21 00 01 .!.. ; key 1
-9507 95 2C 00 01 .,.. ; key 2
-950B 95 30 00 01 .0.. ; key 3
+9503 95 21 00 01 .!.. ; key 1 - motor count procedure
+9507 95 2C 00 01 .,.. ; key 2 - single test vend
+950B 95 30 00 01 .0.. ; key 3 - test vend everything
950F 95 35 00 08 .5.. ; reset
9513 95 38 FF F5 .8..
9517 00 00 .. ; end of array data
9519 CC B0 A2 ... ldd #b0a2 ; "MTR FUNCT?"
951C BD C0 BA ... jsr c0ba ;display:
951F 20 1D . bra 1d
-9521 BD 87 E9 ... jsr 87e9 ;jump74
+9521 BD 87 E9 ... jsr 87e9 ;jump74 - motor count procedure
9524 CE 00 1F ... ldx #001f
9527 1C 00 02 ... bset 00,x, #02
952A 20 12 . bra 12
-952C 8D 11 .. bsr dest 11
+952C 8D 11 .. bsr dest 11 ;jump203 - test single vend
952E 20 0E . bra 0e
-9530 BD 96 88 ... jsr 9688 ;jump148
+9530 BD 96 88 ... jsr 9688 ;jump148 - test all vends
9533 20 09 . bra 09
9535 BD 85 AF ... jsr 85af ;jump14
9538 7F 00 09 ... clr 0009
953B 7F 00 0A ... clr 000a
953E 39 9 rts
-;
+
+jump203:
+; test a single vend
953F F6 00 19 ... ldab 0019
9542 2D 0A -. blt 0a
9544 F6 00 3A ..: ldab 003a
9615 C6 32 .2 ldab #32
9617 F7 00 3A ..: stab 003a
961A F6 00 06 ... ldab 0006
-961D BD D7 A0 ... jsr d7a0 ;jump10
+961D BD D7 A0 ... jsr d7a0 ;is_invalid_slot
9620 83 00 00 ... subd #0000
9623 26 21 &! bne 21
-9625 BD D3 11 ... jsr d311 ;jump30
+9625 BD D3 11 ... jsr d311 ;jump30 - test position exists
9628 83 00 00 ... subd #0000
962B 26 0B &. bne 0b
962D CE 00 1F ... ldx #001f
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
+966F BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
9672 CC 03 84 ... ldd #0384
9675 BD E5 71 ..q jsr e571 ;msdelay
9678 7F 00 2E ... clr 002e
9687 39 9 rts
jump148:
+;tests all vends
9688 34 4 des
9689 F6 00 19 ... ldab 0019
968C 2C 19 ,. bge 19
968E CE 00 19 ... ldx #0019
-9691 1D 00 .. bclr add,x 00,x
-9693 80 CC .. suba #cc
-9695 B0 97 BD ... suba 97bd
-9698 C0 BA .. subb #ba
+9691 1D 00 80 .. bclr 00,x, #80
+9694 CC B0 97 ... ldd #b097 ; "TEST VEND"
+9697 BD C0 BA ... jsr c0ba ; display
969A C6 0A .. ldab #0a
969C F7 00 38 ..8 stab 0038
969F 7F 00 05 ... clr 0005
96A4 F7 00 06 ... stab 0006
96A7 F6 00 0A ... ldab 000a
96AA C1 0B .. cmpb #0b
-96AC 26 0C &. bne 0c
+96AC 26 0C &. bne 0c ; to 96ba
96AE CC 02 33 ..3 ldd #0233
96B1 FD 00 3B ..; std 003b
96B4 CE 00 1F ... ldx #001f
96B7 1C 00 02 ... bset 00,x, #02
96BA F6 00 38 ..8 ldab 0038
96BD 27 03 '. beq 03
-96BF 7E 97 6D ~.m jmp 976d ;goto17
+96BF 7E 97 6D ~.m jmp 976d ;goto17 - return
96C2 F6 00 06 ... ldab 0006
-96C5 C1 63 .c cmpb #63
+96C5 C1 63 .c cmpb #63 ; exit if >63
96C7 23 03 #. bls 03
-96C9 7E 97 6D ~.m jmp 976d ;goto17
+96C9 7E 97 6D ~.m jmp 976d ;goto17 - return
96CC F6 00 06 ... ldab 0006
96CF C1 63 .c cmpb #63
96D1 26 0F &. bne 0f
-96D3 BD 99 C3 ... jsr 99c3 ;jump143
-96D6 CC 07 D0 ... ldd #07d0
+96D3 BD 99 C3 ... jsr 99c3 ;jump143 - write "VENDS XXX" (from 0005)
+96D6 CC 07 D0 ... ldd #07d0 ; 2000
96D9 BD E5 71 ..q jsr e571 ;msdelay
96DC CE 00 1F ... ldx #001f
96DF 1C 00 02 ... bset 00,x, #02
-96E2 BD D3 11 ... jsr d311 ;jump30
+96E2 BD D3 11 ... jsr d311 ;jump30 - test position exists
96E5 83 00 00 ... subd #0000
96E8 26 0B &. bne 0b
96EA CE 00 1F ... ldx #001f
9743 C6 45 .E ldab #45
9745 F7 00 06 ... stab 0006
9748 F6 00 06 ... ldab 0006
-974B BD D7 A0 ... jsr d7a0 ;jump10
+974B BD D7 A0 ... jsr d7a0 ;is_invalid_slot
974E 83 00 00 ... subd #0000
9751 27 15 '. beq 15
9753 F6 00 06 ... ldab 0006
97E9 BD BE 4B ..K jsr be4b ;displayblank
97EC CC AF E7 ... ldd #afe7 ; "-PRINTING-"
97EF BD C0 BA ... jsr c0ba ;display:
-97F2 BD F4 15 ... jsr f415 ;jump112
+97F2 BD F4 15 ... jsr f415 ;jump112 - print a report
97F5 39 9 rts
jump27:
980C 98 65 ..
980E F6 0C D9 .. ldab 0cd9
9811 4F . clra
-9812 BD E7 95 ... jsr e795 ;jump54
+9812 BD E7 95 ... jsr e795 ;jump54 - number to string
9815 C6 4E .N ldab #4e
9817 F7 0B 99 ... stab 0b99
981A C6 49 .I ldab #49
9829 20 55 U bra 55
982B F6 0C DA ... ldab 0cda
982E 4F O clra
-982F BD E7 95 ... jsr e795 ;jump54
+982F BD E7 95 ... jsr e795 ;jump54 - number to string
9832 C6 44 .D ldab #44
9834 F7 0B 99 ... stab 0b99
9837 C6 49 .I ldab #49
9846 20 38 8 bra 38
9848 F6 0C DB ... ldab 0cdb
984B 4F O clra
-984C BD E7 95 ... jsr e795 ;jump54
+984C BD E7 95 ... jsr e795 ;jump54 - number to string
984F C6 51 .Q ldab #51
9851 F7 0B 99 ... stab 0b99
9854 C6 55 .U ldab #55
9863 20 1B . bra 1b
9865 F6 0C DC ... ldab 0cdc
9868 4F O clra
-9869 BD E7 95 ... jsr e795 ;jump54
+9869 BD E7 95 ... jsr e795 ;jump54 - number to string
986C C6 44 .D ldab #44 ; "D"
986E F7 0B 99 ... stab 0b99
9871 C6 4F .O ldab #4f ; "O"
98A4 39 9 rts
jump11:
+; prints contents of 0054 to display
98A5 BD BE 4B ..K jsr be4b ;displayblank
98A8 F6 00 54 ..T ldab 0054
98AB 4F O clra
-98AC BD E7 95 ... jsr e795 ;jump54
-98AF F6 00 5E ..^ ldab 005e
+98AC BD E7 95 ... jsr e795 ; slot number to digits
+98AF F6 00 5E ..^ ldab 005e
98B2 F7 0B 95 ... stab 0b95
98B5 F6 00 5F .._ ldab 005f
98B8 F7 0B 94 ... stab 0b94
-98BB BD BE 01 ... jsr be01 ;jump70
+98BB BD BE 01 ... jsr be01 ;jump70 - write to display
98BE 39 9 rts
jump146:
9980 39 9 rts
jump144:
+; writes "MOTORS XX" where XX is the slot number in 0005
9981 BD BE 4B ..K jsr be4b ;displayblank
9984 F6 00 05 ... ldab 0005
9987 4F O clra
-9988 BD E7 95 ... jsr e795 ;jump54
-998B C6 4D .M ldab #4d
+9988 BD E7 95 ... jsr e795 ;jump54 - number to string
+998B C6 4D .M ldab #4d ; "M"
998D F7 0B 99 ... stab 0b99
-9990 C6 4F .O ldab #4f
+9990 C6 4F .O ldab #4f ; "O"
9992 F7 0B 98 ... stab 0b98
-9995 C6 54 .T ldab #54
+9995 C6 54 .T ldab #54 ; "T"
9997 F7 0B 97 ... stab 0b97
-999A C6 4F .O ldab #4f
+999A C6 4F .O ldab #4f ; "O"
999C F7 0B 96 ... stab 0b96
-999F C6 52 .R ldab #52
+999F C6 52 .R ldab #52 ; "R"
99A1 F7 0B 95 ... stab 0b95
-99A4 C6 53 .S ldab #53
+99A4 C6 53 .S ldab #53 ; "S"
99A6 F7 0B 94 ... stab 0b94
-99A9 C6 20 . ldab #20
+99A9 C6 20 . ldab #20 ; " "
99AB F7 0B 93 ... stab 0b93
-99AE C6 20 . ldab #20
+99AE C6 20 . ldab #20 ; " "
99B0 F7 0B 92 ... stab 0b92
99B3 F6 00 5E ..^ ldab 005e
99B6 F7 0B 91 ... stab 0b91
99B9 F6 00 5F .._ ldab 005f
99BC F7 0B 90 ... stab 0b90
-99BF BD BE 01 ... jsr be01 ;jump70
+99BF BD BE 01 ... jsr be01 ;jump70 - display
99C2 39 9 rts
jump143:
+; writes VENDS XX where XX is contents of 0005
99C3 BD BE 4B ..K jsr be4b ;displayblank
99C6 F6 00 05 ... ldab 0005
99C9 4F O clra
-99CA BD E7 95 ... jsr e795 ;jump54
-99CD C6 56 .V ldab #56
+99CA BD E7 95 ... jsr e795 ;jump54 - number to string
+99CD C6 56 .V ldab #56 ; "V"
99CF F7 0B 99 ... stab 0b99
-99D2 C6 45 .E ldab #45
+99D2 C6 45 .E ldab #45 ; "E"
99D4 F7 0B 98 ... stab 0b98
-99D7 C6 4E .N ldab #4e
+99D7 C6 4E .N ldab #4e ; "N"
99D9 F7 0B 97 ... stab 0b97
-99DC C6 44 .D ldab #44
+99DC C6 44 .D ldab #44 ; "D"
99DE F7 0B 96 ... stab 0b96
-99E1 C6 53 .S ldab #53
+99E1 C6 53 .S ldab #53 ; "S"
99E3 F7 0B 95 ... stab 0b95
-99E6 C6 20 . ldab #20
+99E6 C6 20 . ldab #20 ; " "
99E8 F7 0B 94 ... stab 0b94
-99EB C6 20 . ldab #20
+99EB C6 20 . ldab #20 ; " "
99ED F7 0B 93 ... stab 0b93
-99F0 C6 20 . ldab #20
+99F0 C6 20 . ldab #20 ; " "
99F2 F7 0B 92 ... stab 0b92
99F5 F6 00 5E ..^ ldab 005e
99F8 F7 0B 91 ... stab 0b91
jump102:
9A05 BD BE 4B ..K jsr be4b ;displayblank
9A08 FC 00 52 ..R ldd 0052
-9A0B BD E7 45 ..E jsr e745 ;jump55
+9A0B BD E7 45 ..E jsr e745 ;jump55 - number to string
9A0E C6 4F .O ldab #4f ; "O"
9A10 F7 0B 99 ... stab 0b99
9A13 C6 44 .D ldab #44 ; "D"
9A47 BD BE 4B ..K jsr be4b ;displayblank
9A4A F6 00 06 ... ldab 0006
9A4D 4F O clra
-9A4E BD E7 95 ... jsr e795 ;jump54
+9A4E BD E7 95 ... jsr e795 ;jump54 - number to string
9A51 F6 00 5E ..^ ldab 005e
9A54 F7 0B 99 ... stab 0b99
9A57 F6 00 5F .._ ldab 005f
9A65 C4 40 .@ andb #40
9A67 27 45 'E beq 45
9A69 FC 00 27 ..' ldd 0027
-9A6C BD E7 45 ..E jsr e745 ;jump55
+9A6C BD E7 45 ..E jsr e745 ;jump55 - number to string
9A6F F6 00 5A ..Z ldab 005a
9A72 F7 0B 96 ... stab 0b96
9A75 F6 00 5D ..] ldab 005d
9A95 C6 20 . ldab #20
9A97 F7 0B 92 ... stab 0b92
9A9A FC 00 46 ..F ldd 0046
-9A9D BD E7 45 ..E jsr e745 ;jump55
+9A9D BD E7 45 ..E jsr e745 ;jump55 - number to string
9AA0 F6 00 5E ..^ ldab 005e
9AA3 F7 0B 91 ... stab 0b91
9AA6 F6 00 5F .._ ldab 005f
jump101:
9B63 BD BE 4B ..K jsr be4b ;displayblank
9B66 FC 00 0D ... ldd 000d
-9B69 BD E7 45 ..E jsr e745 ;jump55
+9B69 BD E7 45 ..E jsr e745 ;jump55 - number to string
9B6C C6 44 .D ldab #44
9B6E F7 0B 99 ... stab 0b99
9B71 C6 53 .S ldab #53
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
9D2A BD BE 4B ..K jsr be4b ;displayblank
9D2D F6 00 22 .." ldab 0022
9D30 4F O clra
-9D31 BD E7 95 ... jsr e795 ;jump54
+9D31 BD E7 95 ... jsr e795 ;jump54 - number to string
9D34 F6 00 5E ..^ ldab 005e
9D37 F7 0B 99 ... stab 0b99
9D3A F6 00 5F .._ ldab 005f
9D42 F7 0B 97 ... stab 0b97
9D45 F6 00 24 ..$ ldab 0024
9D48 4F O clra
-9D49 BD E7 95 ... jsr e795 ;jump54
+9D49 BD E7 95 ... jsr e795 ;jump54 - number to string
9D4C C6 50 .P ldab #50
9D4E F7 0B 96 ... stab 0b96
9D51 F6 00 5E ..^ ldab 005e
9D5F F7 0B 93 ... stab 0b93
9D62 F6 00 2A ..* ldab 002a
9D65 4F O clra
-9D66 BD E7 95 ... jsr e795 ;jump54
+9D66 BD E7 95 ... jsr e795 ;jump54 - number to string
9D69 C6 46 .F ldab #46
9D6B F7 0B 92 ... stab 0b92
9D6E F6 00 5E ..^ ldab 005e
9E88 39 9 rts
jump100:
+; print out information to display
9E89 BD BE 4B ..K jsr be4b ;displayblank
9E8C F6 00 48 ..H ldab 0048
9E8F 4F O clra
9E90 BD FE 16 ... jsr fe16 ;jump2
-9E93 00 . test
-9E94 01 . nop
-9E95 00 . test
-9E96 2D A1 -. blt a1
-9E98 C4 9E .. andb #9e
-9E9A F5 9E FE ... bitb 9efe
-9E9D 9F 07 9F ... sts 07
-9EA0 10 . sba
-9EA1 9F 19 9F ... sts 19
-9EA4 3B ; rti
-9EA5 9F 44 9F .D. sts 44
-9EA8 52 R illegal
-9EA9 9F 5B 9F .[. sts 5b
-9EAC 69 i rol
-9EAD 9F 72 9F .r. sts 72
-9EB0 80 9F .. suba #9f
-9EB2 89 9F .. adca #9f
-9EB4 97 9F A0 ... staa 9f
-9EB7 9F AE 9F ... sts ae
-9EBA B7 9F C5 ... staa 9fc5
-9EBD 9F DD 9F ... sts dd
-9EC0 EB A0 .. addb a0,x
-9EC2 03 . fdiv
-9EC3 A0 11 .. suba 11,x
-9EC5 A0 29 .) suba 29,x
-9EC7 A0 37 .7 suba 37,x
-9EC9 A0 54 .T suba 54,x
-9ECB A0 62 .b suba 62,x
-9ECD A0 7F .. suba 7f,x
-9ECF A0 8D .. suba 8d,x
-9ED1 A0 96 .. suba 96,x
-9ED3 A0 A4 .. suba a4,x
-9ED5 A0 AD .. suba ad,x
-9ED7 A0 BC .. suba bc,x
-9ED9 A0 C5 .. suba c5,x
-9EDB A0 D4 .. suba d4,x
-9EDD A0 DD .. suba dd,x
-9EDF A0 EC .. suba ec,x
-9EE1 A0 F5 .. suba f5,x
-9EE3 A1 04 .. cmpa 04,x
-9EE5 A1 26 .& cmpa 26,x
-9EE7 A1 34 .4 cmpa 34,x
-9EE9 A1 55 .U cmpa 55,x
-9EEB A1 62 .b cmpa 62,x
-9EED A1 83 .. cmpa 83,x
-9EEF A1 90 .. cmpa 90,x
-9EF1 A1 B1 .. cmpa b1,x
-9EF3 A1 BE .. cmpa be,x
+9E93 00 01 00 2D . ; 45 choices here
+9E97 A1 C4 -. ;
+9E99 9E F5 .. ;
+9E9B 9E FE .. ;
+9E9D 9F 07 .. ;
+9E9F 9F 10 .. ;
+9EA1 9F 19 .. ;
+9EA3 9F 3B ;. ;
+9EA5 9F 44 .D. ;
+9EA7 9F 52 R ;
+9EA9 9F 5B .[. ;
+9EAB 9F 69 i ;
+9EAD 9F 72 .r. ;
+9EBF 9F 80 .. ;
+9EB1 9F 89 .. ;
+9EB3 9F 97 .. ;
+9EB5 9F A0 ... ;
+9EB7 9F AE .. ;
+9EB9 9F B7 ... ;
+9EBB 9F C5 ... ;
+9EBD 9F DD ... ;
+9EBF 9F EB .. ;
+9EC1 A0 03 . ;
+9EC3 A0 11 .. ;
+9EC5 A0 29 .) ;
+9EC7 A0 37 .7 ;
+9EC9 A0 54 .T ;
+9ECB A0 62 .b ;
+9ECD A0 7F .. ;
+9ECF A0 8D .. ;
+9ED1 A0 96 .. ;
+9ED3 A0 A4 .. ;
+9ED5 A0 AD .. ;
+9ED7 A0 BC .. ;
+9ED9 A0 C5 .. ;
+9EDB A0 D4 .. ;
+9EDD A0 DD .. ;
+9EDF A0 EC .. ;
+9EE1 A0 F5 .. ;
+9EE3 A1 04 .. ;
+9EE5 A1 26 .& ;
+9EE7 A1 34 .4 ;
+9EE9 A1 55 .U ;
+9EEB A1 62 .b ;
+9EED A1 83 .. ;
+9EEF A1 90 .. ;
+9EF1 A1 B1 .. ;
+9EF3 A1 BE .. ;
9EF5 CC B2 90 ... ldd #b290 ; "SERIAL #"
9EF8 BD C0 BA ... jsr c0ba ;display:
9EFB 7E A1 C4 ~.. jmp a1c4 ;goto19
9F10 CC 0C CC ... ldd #0ccc ; machine id?
9F13 BD C0 BA ... jsr c0ba ;display:
9F16 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F19 C6 41 .A ldab #41
+9F19 C6 41 .A ldab #41 ; "A"
9F1B F7 0B 99 ... stab 0b99
-9F1E C6 55 .U ldab #55
+9F1E C6 55 .U ldab #55 ; "U"
9F20 F7 0B 98 ... stab 0b98
-9F23 C6 44 .D ldab #44
+9F23 C6 44 .D ldab #44 ; "D"
9F25 F7 0B 97 ... stab 0b97
-9F28 C6 54 .T ldab #54
+9F28 C6 54 .T ldab #54 ; "T"
9F2A F7 0B 96 ... stab 0b96
9F2D CE 00 00 ... ldx #0000
9F30 3C < pshx
9F34 BD A2 D4 ... jsr a2d4 ;jump79
9F37 38 8 pulx
9F38 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F3B CC B2 C6 ... ldd #b2c6
+9F3B CC B2 C6 ... ldd #b2c6 ; "SALES (R) "
9F3E BD C0 BA ... jsr c0ba ;display:
9F41 7E A1 C4 ~.. jmp a1c4 ;goto19
9F44 FE 0D E9 ... ldx 0de9
9F4B BD A3 41 ..A jsr a341 ;jump77
9F4E 38 8 pulx
9F4F 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F52 CC B2 D8 ... ldd #b2d8
+9F52 CC B2 D8 ... ldd #b2d8 ; "SALES (N) "
9F55 BD C0 BA ... jsr c0ba ;display:
9F58 7E A1 C4 ~.. jmp a1c4 ;goto19
9F5B FE 0D ED ... ldx 0ded
9F62 BD A3 41 ..A jsr a341 ;jump77
9F65 38 8 pulx
9F66 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F69 CC B2 EA ... ldd #b2ea
+9F69 CC B2 EA ... ldd #b2ea ; "BAG TOTAL"
9F6C BD C0 BA ... jsr c0ba ;display:
9F6F 7E A1 C4 ~.. jmp a1c4 ;goto19
9F72 FE 0D F1 ... ldx 0df1
9F79 BD A3 41 ..A jsr a341 ;jump77
9F7C 38 8 pulx
9F7D 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F80 CC B2 FC ... ldd #b2fc
+9F80 CC B2 FC ... ldd #b2fc ; "CASH BOX"
9F83 BD C0 BA ... jsr c0ba ;display:
9F86 7E A1 C4 ~.. jmp a1c4 ;goto19
9F89 FE 0D F9 ... ldx 0df9
9F90 BD A3 41 ..A jsr a341 ;jump77
9F93 38 8 pulx
9F94 7E A1 C4 ~.. jmp a1c4 ;goto19
-9F97 CC B3 0E ... ldd #b30e
+9F97 CC B3 0E ... ldd #b30e ; "CARD SALES"
9F9A BD C0 BA ... jsr c0ba ;display:
9F9D 7E A1 C4 ~.. jmp a1c4 ;goto19
9FA0 FE 0D FD ... ldx 0dfd
9FA7 BD A3 41 ..A jsr a341 ;jump77
9FAA 38 8 pulx
9FAB 7E A1 C4 ~.. jmp a1c4 ;goto19
-9FAE CC B3 35 ..5 ldd #b335
+9FAE CC B3 35 ..5 ldd #b335 ; "BILL TOTAL"
9FB1 BD C0 BA ... jsr c0ba ;display:
9FB4 7E A1 C4 ~.. jmp a1c4 ;goto19
9FB7 FE 0D F5 ... ldx 0df5
A086 BD A3 41 ..A jsr a341 ;jump77
A089 38 8 pulx
A08A 7E A1 C4 ~.. jmp a1c4 ;goto19
-A08D CC B3 B7 ... ldd #b3b7
+A08D CC B3 B7 ... ldd #b3b7 ; "TUBE TOTAL"
A090 BD C0 BA ... jsr c0ba ;display:
A093 7E A1 C4 ~.. jmp a1c4 ;goto19
A096 CE 00 01 ... ldx #0001
A09D BD A2 D4 ... jsr a2d4 ;jump79
A0A0 38 8 pulx
A0A1 7E A1 C4 ~.. jmp a1c4 ;goto19
-A0A4 CC B3 CE ... ldd #b3ce
+A0A4 CC B3 CE ... ldd #b3ce ; "$1 COIN"
A0A7 BD C0 BA ... jsr c0ba ;display:
A0AA 7E A1 C4 ~.. jmp a1c4 ;goto19
A0AD FE 0C E9 ... ldx 0ce9
A0B5 BD A3 1A ... jsr a31a ;jump93
A0B8 38 8 pulx
A0B9 7E A1 C4 ~.. jmp a1c4 ;goto19
-A0BC CC B3 E0 ... ldd #b3e0
+A0BC CC B3 E0 ... ldd #b3e0 ; "QUARTERS"
A0BF BD C0 BA ... jsr c0ba ;display:
A0C2 7E A1 C4 ~.. jmp a1c4 ;goto19
A0C5 FE 0C EB ... ldx 0ceb
A0CD BD A3 1A ... jsr a31a ;jump93
A0D0 38 8 pulx
A0D1 7E A1 C4 ~.. jmp a1c4 ;goto19
-A0D4 CC B3 F2 ... ldd #b3f2
+A0D4 CC B3 F2 ... ldd #b3f2 ; "DIMES"
A0D7 BD C0 BA ... jsr c0ba ;display:
A0DA 7E A1 C4 ~.. jmp a1c4 ;goto19
A0DD FE 0C ED ... ldx 0ced
A0E5 BD A3 1A ... jsr a31a ;jump93
A0E8 38 8 pulx
A0E9 7E A1 C4 ~.. jmp a1c4 ;goto19
-A0EC CC B4 04 ... ldd #b404
+A0EC CC B4 04 ... ldd #b404 ; "NICKELS"
A0EF BD C0 BA ... jsr c0ba ;display:
A0F2 7E A1 C4 ~.. jmp a1c4 ;goto19
A0F5 FE 0C EF ... ldx 0cef
A1B8 BD A3 41 ..A jsr a341 ;jump77
A1BB 38 8 pulx
A1BC 20 06 . bra 06
-A1BE CC B4 84 ... ldd #b484
+A1BE CC B4 84 ... ldd #b484 ; "VENDS/CODE"
A1C1 BD C0 BA ... jsr c0ba ;display:
goto19:
A1C4 F6 00 48 ..H ldab 0048
A1EF F6 00 48 ..H ldab 0048
A1F2 4F O clra
A1F3 C3 FF D2 ... addd #ffd2
-A1F6 BD E7 95 ... jsr e795 ;jump54
+A1F6 BD E7 95 ... jsr e795 ;jump54 - number to string
A1F9 F6 00 5E ..^ ldab 005e
A1FC F7 0B 99 ... stab 0b99
A1FF F6 00 5F .._ ldab 005f
A20A C3 0C C3 ... addd #0cc3
A20D 8F . xgdx
A20E EC 00 .. ldd 00,x
-A210 BD E7 45 ..E jsr e745 ;jump55
+A210 BD E7 45 ..E jsr e745 ;jump55 - number to string
A213 F6 00 57 ..W ldab 0057
A216 F7 0B 94 ... stab 0b94
A219 F6 00 5A ..Z ldab 005a
A246 F6 00 1F ... ldab 001f
A249 C4 10 .. andb #10
A24B 27 08 '. beq 08
-A24D CC AF 9A ... ldd #af9a
+A24D CC AF 9A ... ldd #af9a ; "CLR MIS Y"
A250 BD C0 BA ... jsr c0ba ;display:
A253 20 06 . bra 06
-A255 CC AF A5 ... ldd #afa5
+A255 CC AF A5 ... ldd #afa5 ; "CLR MIS N"
A258 BD C0 BA ... jsr c0ba ;display:
A25B 39 9 rts
-jump82:
+bigmodulus:
A25C 37 7 pshb
A25D 36 6 psha
A25E F6 00 2C .., ldab 002c
A2D3 39 9 rts
jump79:
+; displays a price on screen?
A2D4 37 7 pshb
A2D5 36 6 psha
A2D6 30 0 tsx
A2D7 EC 00 .. ldd 00,x
-A2D9 BD E7 45 ..E jsr e745 ;jump55
+A2D9 BD E7 45 ..E jsr e745 ;jump55 - number to string
A2DC F6 00 57 ..W ldab 0057
A2DF F7 0B 94 ... stab 0b94
A2E2 F6 00 5A ..Z ldab 005a
A2FD 27 14 '. beq 14
A2FF F6 00 17 ... ldab 0017
A302 C4 08 .. andb #08
-A304 26 05 &. bne 05
-A306 C6 24 .$ ldab #24
+A304 26 05 &. bne 05 ; to a30b
+A306 C6 24 .$ ldab #24 ; "$"
A308 F7 0B 95 ... stab 0b95
A30B CC 00 01 ... ldd #0001
-A30E BD A2 5C ..\ jsr a25c ;jump82
-A311 20 05 . bra 05
+A30E BD A2 5C ..\ jsr a25c ;bigmodulus
+A311 20 05 . bra 05 ; return
A313 5F _ clrb
A314 4F O clra
-A315 BD A2 5C ..\ jsr a25c ;jump82
+A315 BD A2 5C ..\ jsr a25c ;bigmodulus
A318 38 8 pulx
A319 39 9 rts
jump93:
+; write number to display
A31A 37 7 pshb
A31B 36 6 psha
A31C 30 0 tsx
A31D E6 01 .. ldab 01,x
A31F 4F O clra
-A320 BD E7 95 ... jsr e795 ;jump54
+A320 BD E7 95 ... jsr e795 ;jump54 - number to string
A323 F6 00 5D ..] ldab 005d
A326 F7 0B 99 ... stab 0b99
A329 F6 00 5E ..^ ldab 005e
A348 37 7 pshb
A349 36 6 psha
A34A EC 02 .. ldd 02,x
-A34C BD E6 21 ..! jsr e621 ;jump56
+A34C BD E6 21 ..! jsr e621 ;jump56 - write to display
A34F 38 8 pulx
-A350 C6 20 . ldab #20
+A350 C6 20 . ldab #20 ; " "
A352 F7 0B 99 ... stab 0b99
A355 F6 00 17 ... ldab 0017
A358 C4 08 .. andb #08
A35A 26 05 &. bne 05
-A35C C6 24 .$ ldab #24
+A35C C6 24 .$ ldab #24 ; "$"
A35E F7 0B 98 ... stab 0b98
A361 CC 00 01 ... ldd #0001
-A364 BD A2 5C ..\ jsr a25c ;jump82
+A364 BD A2 5C ..\ jsr a25c ;bigmodulus
A367 38 8 pulx
A368 31 1 ins
A369 31 1 ins
A3FA 8F . xgdx
A3FB ED 00 .. std 00,x
A3FD 20 22 " bra 22
-A3FF CC 2A FF .*. ldd #2aff
+A3FF CC 2A FF .*. ldd #2aff ; 00101010 11111111
A402 37 7 pshb
A403 36 6 psha
A404 F6 00 06 ... ldab 0006
A458 39 9 rts
jump110:
+; some sort of defaults setting loading? plays with 0067 an awful lot
A459 3C < pshx
A45A F6 00 67 ..g ldab 0067
A45D C4 02 .. andb #02
A66A F6 00 54 ..T ldab 0054
A66D 4F O clra
A66E BD FE 16 ... jsr fe16 ;jump2
-A671 00 . test
-A672 01 . nop
-A673 00 . test
-A674 07 . tpa
-A675 A6 ED .. ldaa ed,x
-A677 A6 87 .. ldaa 87,x
-A679 A6 95 .. ldaa 95,x
-A67B A6 A1 .. ldaa a1,x
-A67D A6 AF .. ldaa af,x
-A67F A6 BB .. ldaa bb,x
-A681 A6 C9 .. ldaa c9,x
-A683 A6 D5 .. ldaa d5,x
-A685 A6 E3 .. ldaa e3,x
+A671 00 01 00 07 . test
+A675 A6 ED ..
+A677 A6 87 ..
+A679 A6 95 ..
+A67B A6 A1 ..
+A67D A6 AF ..
+A67F A6 BB ..
+A681 A6 C9 ..
+A683 A6 D5 ..
+A685 A6 E3 ..
A687 F6 00 62 ..b ldab 0062
A68A 54 T lsrb
A68B 54 T lsrb
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
AB88 39 9 rts
jump7:
-AB89 CC B0 8C ... ldd #b08c
+AB89 CC B0 8C ... ldd #b08c ; "NO ERRORS"
AB8C BD C0 BA ... jsr c0ba ;display:
AB8F CC 01 F4 ... ldd #01f4
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:
ABBE 26 03 &. bne 03
ABC0 7E AC 7B ~.{ jmp ac7b ;goto23
ABC3 F6 00 06 ... ldab 0006
-ABC6 BD D7 A0 ... jsr d7a0 ;jump10
+ABC6 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
ABC9 83 00 00 ... subd #0000
ABCC 27 03 '. beq 03
ABCE 7E AC 7B ~.{ jmp ac7b ;goto23
-ABD1 BD D3 11 ... jsr d311 ;jump30
+ABD1 BD D3 11 ... jsr d311 ;jump30 - test position exists
ABD4 83 00 00 ... subd #0000
ABD7 27 2B '+ beq 2b
ABD9 F6 00 05 ... ldab 0005
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
B0C1 3F ? swi
B0C2 00 . test
-B0C3 14 00 .
-B0C5 14 C8 .
-B0C7 05 00 ..
-B0C9 05 00 .
-B0CB 02 00 .
-B0CD 02 00 .
-B0CF 01 00 .
-B0D1 01 00 .
-B0D3 01 0C .
-B0D5 17 22 .
-B0D7 2E 39 ".
-
-B0D9 44 D lsra
-B0DA 4F O clra
-B0DB 0B . sev
-B0DC 16 . tab
-B0DD 21 2C !, brn 2c
-B0DF 38 8 pulx
-B0E0 43 C coma
-B0E1 4E N illegal
-B0E2 59 Y rolb
-B0E3 15 . bclr
-B0E4 20 2B + bra 2b
-B0E6 36 6 psha
-B0E7 42 B illegal
-B0E8 4D M tsta
-B0E9 58 X aslb
-B0EA 63 1F c. com 1f,x
-B0EC 2A 35 *5 bpl 35
-B0EE 40 @ nega
-B0EF 4C L inca
-B0F0 57 W asrb
-B0F1 62 b illegal
-B0F2 09 . dex
-B0F3 29 34 )4 bvs 34
-B0F5 3F ? swi
-B0F6 4A J deca
-B0F7 56 V rorb
-B0F8 61 a illegal
-B0F9 08 . inx
-B0FA 13 . brclr
-B0FB 33 3 pulb
-B0FC 3E > wai
-B0FD 49 I rola
-B0FE 54 T lsrb
-B0FF 60 07 `. neg 07,x
-B101 12 . brset
-B102 1D 3D 48 ... bclr 3d,x, #48
-B105 53 S comb
-B106 5E ^ illegal
-B107 06 . tap
-B108 11 . cba
-B109 1C 27 47 ... bset 27,x, #47 ; fixed by ./fixbset.pl - verify me
-B10C 52 R illegal
-B10D 5D ] tstb
-B10E 04 . lsrd
-B10F 10 . sba
-B110 1B . aba
-B111 26 31 &1 bne 31
-B113 51 Q illegal
-B114 5C \ incb
-B115 03 . fdiv
-B116 0E . cli
-B117 1A . illegal
-B118 25 30 %0 bcs 30
-B11A 3B ; rti
-B11B 5B [ illegal
-B11C 02 . idiv
-B11D 0D . sec
-B11E 18 . illegal
-B11F 24 2F $/ bcc 2f
-B121 3A : abx
-B122 45 E illegal
+B0C3 14 00 . ;20
+B0C5 14 C8 . ;20 200
+B0C7 05 00 .. ;05
+B0C9 05 00 . ;05
+B0CB 02 00 . ;02
+B0CD 02 00 . ;02
+B0CF 01 00 . ;01
+B0D1 01 00 . ;01
+
+
+
+
+
+;
+; here's a lookup table of some sort, for finding the slot
+; numbers of each motor in turn
+;
+; 80 entries for 80 motors?
+;
+B0D3 01 . ;01
+B0D4 0C . ;12
+B0D5 17 . ;23
+B0D6 22 . ;34
+B0D7 2E . ;46
+B0D8 39 . ;57
+B0D9 44 D ;68
+B0DA 4F O ;79
+;
+B0DB 0B . ;11
+B0DC 16 . ;22
+B0DD 21 ! ;33
+B0DE 2C . ;44
+B0DF 38 8 ;56
+B0E0 43 C ;67
+B0E1 4E N ;78
+B0E2 59 Y ;89
+;
+B0E3 15 . ;21
+B0E4 20 . ;32
+B0E5 2B + ;43
+B0E6 36 6 ;54
+B0E7 42 B ;66
+B0E8 4D M ;77
+B0E9 58 X ;88
+B0EA 63 c ;99
+;
+B0EB 1F . ;31
+B0EC 2A *. ;42
+B0ED 35 . ;53
+B0EE 40 @ ;64
+B0EF 4C L ;76
+B0F0 57 W ;87
+B0F1 62 b ;98
+;
+B0F2 09 . ;09
+B0F3 29 ) ;41
+B0F4 34 . ;52
+B0F5 3F ? ;63
+B0F6 4A J ;74
+B0F7 56 V ;86
+B0F8 61 a ;97
+;
+B0F9 08 . ;08
+B0FA 13 . ;19
+B0FB 33 3 ;51
+B0FC 3E > ;62
+B0FD 49 I ;73
+B0FE 54 T ;84
+B0FF 60 ` ;96
+;
+B000 07 . ;07
+B101 12 . ;18
+B102 1D . ;29
+B103 3D . ;61
+B104 48 . ;72
+B105 53 S ;83
+B106 5E ^ ;94
+;
+B107 06 . ;06
+B108 11 . ;17
+B109 1C . ;28
+B10A 27 . ;39
+B10B 47 . ;71
+B10C 52 R ;82
+B10D 5D ] ;93
+;
+B10E 04 . ;04
+B10F 10 . ;16
+B110 1B . ;27
+B111 26 & ;38
+B111 31 & ;49
+B113 51 Q ;81
+B114 5C \ ;92
+;
+B115 03 . ;03
+B116 0E . ;14
+B117 1A . ;26
+B118 25 % ;37
+B119 30 % ;48
+B11A 3B ; ;59
+B11B 5B [ ;91
+;
+B11C 02 . ;02
+B11D 0D . ;13
+B11E 18 . ;24
+B11F 24 $ ;36
+B120 2F $ ;47
+B121 3A : ;58
+B122 45 E ;69
table of powers of 2
B855 83 00 00 ... subd #0000
B858 27 0B '. beq 0b
B85A F6 0E 05 ... ldab 0e05
-B85D BD D7 A0 ... jsr d7a0 ;jump10
+B85D BD D7 A0 ... jsr d7a0 ;is_invalid_slot
B860 83 00 00 ... subd #0000
B863 27 09 '. beq 09
B865 30 0 tsx
B883 26 03 &. bne 03
B885 7E B9 0A ~.. jmp b90a ;goto26
B888 F6 0E 05 ... ldab 0e05
-B88B BD D7 A0 ... jsr d7a0 ;jump10
+B88B BD D7 A0 ... jsr d7a0 ;is_invalid_slot
B88E 83 00 00 ... subd #0000
B891 26 77 &w bne 77
B893 BD BE 4B ..K jsr be4b ;displayblank
B91F BD BE 01 ... jsr be01 ;jump70 write to display
B922 C6 0A .. ldab #0a
B924 F7 00 2C .., stab 002c
-B927 7E BA 81 ~.. jmp ba81 ;goto27
+B927 7E BA 81 ~.. jmp ba81 ;goto27 - return
goto25:
B92A F6 0E 6D ..m ldab 0e6d
B92D C1 01 .. cmpb #01
B92F 27 03 '. beq 03
-B931 7E BA 81 ~.. jmp ba81 ;goto27
+B931 7E BA 81 ~.. jmp ba81 ;goto27 - return
B934 F6 0E 00 ... ldab 0e00
B937 C1 05 .. cmpb #05
B939 27 03 '. beq 03
-B93B 7E BA 81 ~.. jmp ba81 ;goto27
+B93B 7E BA 81 ~.. jmp ba81 ;goto27 - return
B93E F6 0E 01 ... ldab 0e01
B941 C1 05 .. cmpb #05
B943 27 03 '. beq 03
-B945 7E BA 81 ~.. jmp ba81 ;goto27
+B945 7E BA 81 ~.. jmp ba81 ;goto27 - return
B948 F6 0E 02 ... ldab 0e02
B94B C1 05 .. cmpb #05
B94D 27 03 '. beq 03
-B94F 7E BA 81 ~.. jmp ba81 ;goto27
+B94F 7E BA 81 ~.. jmp ba81 ;goto27 - return
B952 F6 00 12 ... ldab 0012
B955 C4 20 . andb #20 ; test the door switch
B957 26 03 &. bne 03
-B959 7E BA 81 ~.. jmp ba81 ;goto27
+B959 7E BA 81 ~.. jmp ba81 ;goto27 - return
B95C F6 0E 04 ... ldab 0e04
B95F C1 05 .. cmpb #05
B961 26 79 &y bne 79
B9D1 BD BE 01 ... jsr be01 ;jump70 - display
B9D4 C6 1E .. ldab #1e
B9D6 F7 00 2C .., stab 002c
-B9D9 7E BA 81 ~.. jmp ba81 ;goto27
+B9D9 7E BA 81 ~.. jmp ba81 ;goto27 - return
+;
B9DC F6 0E 04 ... ldab 0e04
B9DF C1 01 .. cmpb #01
B9E1 27 0A '. beq 0a
B9E3 F6 0E 04 ... ldab 0e04
B9E6 C1 02 .. cmpb #02
B9E8 27 03 '. beq 03
-B9EA 7E BA 81 ~.. jmp ba81 ;goto27
+B9EA 7E BA 81 ~.. jmp ba81 ;goto27 - return
+;
B9ED F6 0E 03 ... ldab 0e03
B9F0 C1 00 .. cmpb #00
B9F2 22 03 ". bhi 03
-B9F4 7E BA 81 ~.. jmp ba81 ;goto27
+B9F4 7E BA 81 ~.. jmp ba81 ;goto27 - return
+;
B9F7 F6 0E 03 ... ldab 0e03
B9FA C1 05 .. cmpb #05
B9FC 26 03 &. bne 03
-B9FE 7E BA 81 ~.. jmp ba81 ;goto27
+B9FE 7E BA 81 ~.. jmp ba81 ;goto27 - return
+;
BA01 F6 0E 03 ... ldab 0e03
BA04 C1 07 .. cmpb #07
BA06 24 79 $y bcc 79
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
jump50:
+; writes a slot and price to the screen?
BE9E 37 7 pshb
BE9F 36 6 psha
BEA0 8D A9 .. bsr a9 ; to be4b - displayblank
BF70 8F . xgdx
BF71 33 3 pulb
BF72 E7 00 .. stab 00,x
-BF74 20 68 h bra 68
+BF74 20 68 h bra 68 ;goto32
+;
BF76 C1 04 .. cmpb #04
BF78 26 26 && bne 26
BF7A 30 0 tsx
goto32:
BFDE F6 0B C0 ... ldab 0bc0
BFE1 C4 01 .. andb #01
-BFE3 26 0E &. bne 0e
+BFE3 26 0E &. bne 0e ; to bff3
BFE5 F6 0B C0 ... ldab 0bc0
BFE8 C4 04 .. andb #04
-BFEA 26 07 &. bne 07
+BFEA 26 07 &. bne 07 ; to bff3
BFEC F6 0B C0 ... ldab 0bc0
BFEF C4 08 .. andb #08
-BFF1 27 15 '. beq 15
+BFF1 27 15 '. beq 15 ; to c008
BFF3 F6 00 17 ... ldab 0017
BFF6 C4 08 .. andb #08
-BFF8 26 0E &. bne 0e
+BFF8 26 0E &. bne 0e ; to c008
+; plonk a dollar sign somewhere
BFFA C6 24 .$ ldab #24 ; "$"
BFFC 37 7 pshb
BFFD 30 0 tsx
C00E C1 01 .. cmpb #01
C010 23 17 #. bls 17
C012 CE 10 28 ..( ldx #1028
-C015 1C 00 40 ... bset 00,x, #40 ; enable SCI send
+C015 1C 00 40 ... bset 00,x, #40 ; enable SPI send
C018 CE 00 01 ... ldx #0001
C01B 3C < pshx
C01C CC 00 20 .. ldd #0020
-C01F BD BD B5 ... jsr bdb5 ;jump78
+C01F BD BD B5 ... jsr bdb5 ;jump78 - send space to display
C022 38 8 pulx
-C023 CE 10 28 ..( ldx #1028 ; disable SCI send
+C023 CE 10 28 ..( ldx #1028 ; disable SPI send
C026 1D 00 40 ... bclr 00,x, #40
-C029 BD BE 10 ... jsr be10 ;jump88
+C029 BD BE 10 ... jsr be10 ;jump88 - write buffer to display
C02C 38 8 pulx
C02D 39 9 rts
C0B9 39 9 rts
;Display a string. D points to the string, which is NULL-terminated
-
+;
display:
C0BA 37 7 pshb
C0BB 36 6 psha
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
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:
+; has a good long chat to the bill validator
C325 F6 10 00 ... ldab 1000
C328 C4 01 .. andb #01
C32A 26 13 &. bne 13
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
C455 39 9 rts
jump47:
+; coin have something to do with coin counting?
C456 FC 00 40 ..@ ldd 0040
C459 26 03 &. bne 03
-C45B 7E C5 C6 ~.. jmp c5c6 ;goto39
+C45B 7E C5 C6 ~.. jmp c5c6 ;goto39 - unset 0x30 in 0021 & return
C45E CE 00 1A ... ldx #001a
C461 1C 00 01 .. bset 00,x, #01
C464 F6 00 1A ... ldab 001a
C467 F7 30 00 .0. stab 3000 ; changer accept off
-C46A CC 03 E8 ... ldd #03e8
+C46A CC 03 E8 ... ldd #03e8 ; 1000
C46D BD E5 71 ..q jsr e571 ;msdelay
goto42:
C470 FC 00 40 ..@ ldd 0040
C578 4F O clra
C579 FD 00 40 ..@ std 0040
goto41:
-C57C CC 01 2C .., ldd #012c
+C57C CC 01 2C .., ldd #012c ;300 ms
C57F BD E5 71 ..q jsr e571 ;msdelay
C582 F6 00 1B ... ldab 001b
C585 C4 20 . andb #20
C58C 1D 00 01 .. bclr 00,x, #01
C58F F6 00 1A ... ldab 001a
C592 F7 30 00 .0. stab 3000 ; changer accept' low
-C595 CC 00 0C ... ldd #000c
+C595 CC 00 0C ... ldd #000c ; 12 ms
C598 BD E5 71 ..q jsr e571 ;msdelay
C59B CE 00 1A ... ldx #001a
C59E 1C 00 01 .. bset 00,x, #01
C5A4 F7 30 00 .0. stab 3000 ; changer accept' high
C5A7 CC 00 23 ..# ldd #0023
C5AA BD E5 71 ..q jsr e571 ;msdelay
-C5AD 7E C4 70 ~.p jmp c470 ;goto42
+C5AD 7E C4 70 ~.p jmp c470 ;goto42 - loop
goto40:
C5B0 F6 0B C0 ... ldab 0bc0
C5B3 C4 04 .. andb #04
C5C6 CE 00 21 ..! ldx #0021
C5C9 1D 00 10 ... bclr 00,x, #10
C5CC CE 00 1B ... ldx #001b
-C5CF 1D 00 .. bclr add,x 00,x
-C5D1 20 39 9 bra 39
-;
+C5CF 1D 00 .. bclr 00,x, #20
+C5D2 39 . rts
+
jump6:
C5D3 F6 00 15 ... ldab 0015
C5D6 C4 1F .. andb #1f
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
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
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
-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
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
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
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
C945 CE 00 17 ... ldx #0017
C948 1D 00 04 ... bclr 00,x, #04
C94B 7F 00 08 ... clr 0008
-C94E BD CE 48 ..H jsr ce48 ;jump48
+C94E BD CE 48 ..H jsr ce48 ;jump48 - update values?
C951 7F 00 2C .., clr 002c
C954 7E CA 5C ~.\ jmp ca5c ;goto50 - clean exit
;
C9DF F6 10 2F ../ ldab 102f ; read SCI data
C9E2 F7 0B C4 ... stab 0bc4
C9E5 F6 0B C4 ... ldab 0bc4
-C9E8 C1 80 .. cmpb #80
+C9E8 C1 80 .. cmpb #80 ; if == 128
C9EA 26 05 &. bne 05
-C9EC C6 0F .. ldab #0f
+C9EC C6 0F .. ldab #0f ; put 15 => 0bc4
C9EE F7 0B C4 ... stab 0bc4
C9F1 20 66 f bra 66 ;goto51 - inc 0008 & clean exit
;
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
CABD CE 00 1B ... ldx #001b
CAC0 1D 00 40 ... bclr 00,x, #40
CAC3 7F 00 25 ..% clr 0025
-CAC6 7E CB 64 ~.d jmp cb64 ;goto53
+CAC6 7E CB 64 ~.d jmp cb64 ;goto53 - cleanup & exit
;
CAC9 F6 00 17 ... ldab 0017
CACC 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
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
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
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
CDE5 C4 08 .. andb #08
CDE7 26 19 &. bne 19
CDE9 CC 00 FE ... ldd #00fe
-CDEC BD C7 E7 ... jsr c7e7 ;jump37 - send byte to coin mech
+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
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
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
+CE3F E7 00 .. stab 00,x ; store into stack variable
CE41 F6 10 2F ../ ldab 102f ; read SCI data
CE44 E7 00 .. stab 00,x
goto47:
CE47 3B ; rti
jump48:
+;
CE48 F6 0B C4 ... ldab 0bc4
CE4B F1 0B C5 ... cmpb 0bc5
-CE4E 25 53 %S bcs 53
+CE4E 25 53 %S bcs 53 ; if 0bc4 < 0bc5 to cea3
CE50 F6 0B C5 ... ldab 0bc5
CE53 F1 0B C6 ... cmpb 0bc6
-CE56 25 4B %K bcs 4b
+CE56 25 4B %K bcs 4b ; if 0bc5 < 0bc6 to cea3
+; so here we have 0bc6 < 0bc5 < 0bc4
CE58 F6 0B C4 ... ldab 0bc4
CE5B 4F O clra
CE5C C3 0B C7 ... addd #0bc7
CE98 F7 0B DB ... stab 0bdb
CE9B C6 10 .. ldab #10
CE9D F7 0B DC ... stab 0bdc
-CEA0 7E D0 66 ~.f jmp d066 ;goto58
+CEA0 7E D0 66 ~.f jmp d066 ;goto58 - multiply & exit
+;
CEA3 F6 0B C4 ... ldab 0bc4
CEA6 F1 0B C6 ... cmpb 0bc6
-CEA9 25 53 %S bcs 53
+CEA9 25 53 %S bcs 53 ; if 0bc4 < 0bc6 to cefe
CEAB F6 0B C6 ... ldab 0bc6
CEAE F1 0B C5 ... cmpb 0bc5
-CEB1 25 4B %K bcs 4b
+CEB1 25 4B %K bcs 4b ; if 0bc6 < 0bc5 to cefe
+; so here we have 0bc5 < 0bc6 < 0bc4
CEB3 F6 0B C4 ... ldab 0bc4
CEB6 4F O clra
CEB7 C3 0B C7 ... addd #0bc7
CEF3 F7 0B DB ... stab 0bdb
CEF6 C6 08 .. ldab #08
CEF8 F7 0B DC ... stab 0bdc
-CEFB 7E D0 66 ~.f jmp d066 ;goto58
+CEFB 7E D0 66 ~.f jmp d066 ;goto58 - multiply and exit
+;
CEFE F6 0B C5 ... ldab 0bc5
CF01 F1 0B C4 ... cmpb 0bc4
-CF04 25 53 %S bcs 53
+CF04 25 53 %S bcs 53 ; if 0bc5 < 0bc4 to cf59
CF06 F6 0B C4 ... ldab 0bc4
CF09 F1 0B C6 ... cmpb 0bc6
-CF0C 25 4B %K bcs 4b
+CF0C 25 4B %K bcs 4b ; if 0bc4 < 0bc6 to cf59
+; so here we have 0bc6 < 0bc4 < 0bc5
CF0E F6 0B C5 ... ldab 0bc5
CF11 4F O clra
CF12 C3 0B C7 ... addd #0bc7
CF4E F7 0B DB ... stab 0bdb
CF51 C6 10 .. ldab #10
CF53 F7 0B DC ... stab 0bdc
-CF56 7E D0 66 ~.f jmp d066 ;goto58
+CF56 7E D0 66 ~.f jmp d066 ;goto58 - multiply and exit
+;
CF59 F6 0B C5 ... ldab 0bc5
CF5C F1 0B C6 ... cmpb 0bc6
-CF5F 25 53 %S bcs 53
+CF5F 25 53 %S bcs 53 ; if 0bc5 < 0bc6 to cfb4
CF61 F6 0B C6 ... ldab 0bc6
CF64 F1 0B C4 ... cmpb 0bc4
-CF67 25 4B %K bcs 4b
+CF67 25 4B %K bcs 4b ; if 0bc6 < 0bc4 to cfb4
+; so here we have 0bc4 < 0bc6 < 0bc5
CF69 F6 0B C5 ... ldab 0bc5
CF6C 4F O clra
CF6D C3 0B C7 ... addd #0bc7
CFA9 F7 0B DB ... stab 0bdb
CFAC C6 20 . ldab #20
CFAE F7 0B DC ... stab 0bdc
-CFB1 7E D0 66 ~.f jmp d066 ;goto58
+CFB1 7E D0 66 ~.f jmp d066 ;goto58 - multiply and exit
+;
CFB4 F6 0B C6 ... ldab 0bc6
CFB7 F1 0B C4 ... cmpb 0bc4
-CFBA 25 52 %R bcs 52
+CFBA 25 52 %R bcs 52 ; if 0bc6 < 0bc4 to d00e
CFBC F6 0B C4 ... ldab 0bc4
CFBF F1 0B C5 ... cmpb 0bc5
-CFC2 25 4A %J bcs 4a
+CFC2 25 4A %J bcs 4a ; if 0bc4 < 0bc5 to d00e
+; so here we have 0bc5 < 0bc4 < 0bc6
CFC4 F6 0B C6 ... ldab 0bc6
CFC7 4F O clra
CFC8 C3 0B C7 ... addd #0bc7
D004 F7 0B DB ... stab 0bdb
D007 C6 08 .. ldab #08
D009 F7 0B DC ... stab 0bdc
-D00C 20 58 X bra 58
+D00C 20 58 X bra 58 ;goto58 - multiply and exit
+;
+; we know that 0bc4 < 0bc5 < 0bc6
D00E F6 0B C6 ... ldab 0bc6
D011 F1 0B C5 ... cmpb 0bc5
D014 25 50 %P bcs 50
D05C C6 08 .. ldab #08
D05E F7 0B DB ... stab 0bdb
D061 C6 20 . ldab #20
-D063 F7 0B DC ... stab 0bdc
+D063 F7 0B DC ... stab 0bdc ;goto58 - multiply and exit
+;
goto58:
D066 F6 0B AA ... ldab 0baa
D069 4F O clra
D0B5 30 0 tsx
D0B6 6C 00 l. inc 00,x
D0B8 20 DE . bra de ; to d098
-
+;
D0BA C6 05 .. ldab #05
D0BC F7 0B AA ... stab 0baa
D0BF C6 04 .. ldab #04
D0CB F7 0B C5 ... stab 0bc5
D0CE C6 02 .. ldab #02
D0D0 F7 0B C6 ... stab 0bc6
-D0D3 CC 00 19 ... ldd #0019
+D0D3 CC 00 19 ... ldd #0019 ; 25
D0D6 FD 0B DD ... std 0bdd
-D0D9 CC 00 0A ... ldd #000a
+D0D9 CC 00 0A ... ldd #000a ; 10
D0DC FD 0B DF ... std 0bdf
-D0DF CC 00 05 ... ldd #0005
+D0DF CC 00 05 ... ldd #0005 ; 5
D0E2 FD 0B E1 ... std 0be1
D0E5 C6 01 .. ldab #01
D0E7 F7 0B D7 ... stab 0bd7
D103 31 1 ins
D104 39 9 rts
-jump32:
+motors_off:
; turns all motors off
D105 34 4 des
D106 CE 00 1A ... ldx #001a
D216 C4 04 .. andb #04
D218 26 12 &. bne 12
D21A F6 0B C0 ... ldab 0bc0
-D21D C4 10 .. andb #10
+D21D C4 10 .. andb #10 ; have link master price holding
D21F 26 0B &. bne 0b
D221 CE 00 00 ... ldx #0000
D224 3C < pshx
D225 FC 00 44 ..D ldd 0044
-D228 BD BE 9E ... jsr be9e ;jump50
+D228 BD BE 9E ... jsr be9e ;jump50 - write slot & price to screen?
D22B 38 8 pulx
-D22C BD D3 11 ... jsr d311 ;jump30
+D22C BD D3 11 ... jsr d311 ;jump30 - test position exists
D22F 83 00 00 ... subd #0000
D232 27 13 '. beq 13
D234 F6 00 06 ... ldab 0006
-D237 BD D4 68 ..h jsr d468 ;jump51
+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
D245 4F O clra
D246 39 9 rts
-D247 BD D1 3D ..= jsr d13d ;jump34
+D247 BD D1 3D ..= jsr d13d ;jump34 - motor on
D24A C6 3C .< ldab #3c
D24C F7 00 2E ... stab 002e
D24F C6 41 .A ldab #41
D270 CE 00 1B ... ldx #001b
D273 1C 00 08 ... bset 00,x, #08
D276 20 0B . bra 0b
-D278 BD D1 05 ... jsr d105 ;jump32
+D278 BD D1 05 ... jsr d105 ;motors_off
D27B 8D 80 .. bsr 80 ;jump90
D27D BD D6 3C ..< jsr d63c ;jump33
D280 5F _ clrb
D292 BD D5 B0 ... jsr d5b0 ;jump31
D295 83 00 00 ... subd #0000
D298 27 46 'F beq 46 ; to d2e0
-D29A BD D1 05 ... jsr d105 ;jump32
+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
D2A6 83 00 00 ... subd #0000
D2A9 27 0C '. beq 0c
-D2AB BD D1 05 ... jsr d105 ;jump32
+D2AB BD D1 05 ... jsr d105 ;motors_off
D2AE BD D1 FD ... jsr d1fd ;jump90
D2B1 BD D6 3C ..< jsr d63c ;jump33
D2B4 5F _ clrb
D2E5 BD D5 F7 ... jsr d5f7 ;jump108
D2E8 83 00 00 ... subd #0000
D2EB 26 0C &. bne 0c
-D2ED BD D1 05 ... jsr d105 ;jump32
+D2ED BD D1 05 ... jsr d105 ;motors_off
D2F0 BD D1 FD ... jsr d1fd ;jump90
D2F3 BD D6 26 ..& jsr d626 ;jump91
D2F6 5F _ clrb
D2F9 F6 00 2E ... ldab 002e
D2FC 26 0C &. bne 0c
-D2FE BD D1 05 ... jsr d105 ;jump32
+D2FE BD D1 05 ... jsr d105 ;motors_off
D301 BD D1 FD ... jsr d1fd ;jump90
D304 BD D6 3C ..< jsr d63c ;jump33
D307 5F _ clrb
D310 39 9 rts
jump30:
-D311 BD D1 3D ..= jsr d13d ;jump34
+; tests to see if a motor exists here
+D311 BD D1 3D ..= jsr d13d ;jump34 - motor on
D314 7F 00 1C ... clr 001c
D317 7F 00 18 ... clr 0018
D31A F6 10 0A ... ldab 100a
D324 F6 00 1C ... ldab 001c
D327 C1 FF .. cmpb #ff
D329 26 07 &. bne 07
-D32B BD D1 05 ... jsr d105 ;jump32
+D32B BD D1 05 ... jsr d105 ;motors_off
D32E CC 00 01 ... ldd #0001
D331 39 9 rts
-
-D332 20 10 . bra 10
+;
+D332 20 10 . bra 10 ; to d344
D334 7C 00 18 |.. inc 0018
D337 F6 00 18 ... ldab 0018
D33A C1 08 .. cmpb #08
-D33C 26 06 &. bne 06
-D33E BD D1 05 ... jsr d105 ;jump32
+D33C 26 06 &. bne 06 ; continue
+D33E BD D1 05 ... jsr d105 ;motors_off
D341 5F _ clrb
D342 4F O clra
D343 39 9 rts
+D344 20 D4 . bra d4 ; continue
jump43:
-D344 20 D4 . bra d4 ; to d31a?
D346 3C < pshx
D347 3C < pshx
D348 3C < pshx
D3A7 C6 80 .. ldab #80
D3A9 30 0 tsx
D3AA E7 00 .. stab 00,x
-D3AC BD D1 3D ..= jsr d13d ;jump34
+D3AC BD D1 3D ..= jsr d13d ;jump34 - motor on
D3AF 5F _ clrb
D3B0 4F O clra
D3B1 30 0 tsx
D3DA 83 00 01 ... subd #0001
D3DD ED 05 .. std 05,x
D3DF 20 D8 . bra loop ;d3b9
-D3E1 BD D1 05 ... jsr d105 ;jump32 - turn motors off
+D3E1 BD D1 05 ... jsr d105 ;motors_off - turn motors off
D3E4 30 0 tsx
D3E5 EC 03 .. ldd 03,x
D3E7 2C 16 ,. bge 16
D423 F6 00 06 ... ldab 0006
D426 C1 3B .; cmpb #3b
D428 26 37 &7 bne 37
-D42A BD D1 3D ..= jsr d13d ;jump34
+D42A BD D1 3D ..= jsr d13d ;jump34 - motor on
D42D 7F 00 1C ... clr 001c
D430 7F 00 18 ... clr 0018
D433 F6 18 00 ... ldab 1800
D43D F6 00 1C ... ldab 001c
D440 C1 FF .. cmpb #ff
D442 26 08 &. bne 08
-D444 BD D1 05 ... jsr d105 ;jump32
+D444 BD D1 05 ... jsr d105 ;motors_off
D447 CC 00 01 ... ldd #0001
D44A 20 17 . bra 17
D44C 20 11 . bra 11
D451 F6 00 18 ... ldab 0018
D454 C1 08 .. cmpb #08
D456 26 07 &. bne 07
-D458 BD D1 05 ... jsr d105 ;jump32
+D458 BD D1 05 ... jsr d105 ;motors_off
D45B 5F _ clrb
D45C 4F O clra
D45D 20 04 . bra 04
jump67:
D479 7F 00 1C ... clr 001c
+; begin loop
D47C F6 00 1C ... ldab 001c
-D47F C1 64 .d cmpb #64
-D481 24 1A $. bcc 1a
+D47F C1 64 .d cmpb #64 ; to 100
+D481 24 1A $. bcc 1a ; to d49d
D483 CC FF 7F ... ldd #ff7f
D486 37 7 pshb
D487 36 6 psha
D494 E4 01 .. andb 01,x
D496 ED 00 .. std 00,x
D498 7C 00 1C |.. inc 001c
-D49B 20 DF . bra df
+D49B 20 DF . bra df ; to d47c
D49D 7F 00 05 ... clr 0005
-goto65:
+goto65: ; begin motor count loop
D4A0 F6 00 05 ... ldab 0005
-D4A3 C1 50 .P cmpb #50
+D4A3 C1 50 .P cmpb #50 ; 80
D4A5 25 03 %. bcs 03
-D4A7 7E D5 60 ~.` jmp d560 ;goto63
+D4A7 7E D5 60 ~.` jmp d560 ;goto63 - exit
D4AA F6 00 05 ... ldab 0005
D4AD 4F O clra
-D4AE C3 B0 D3 ... addd #b0d3
+D4AE C3 B0 D3 ... addd #b0d3 ;motor lookup table
D4B1 8F . xgdx
D4B2 E6 00 .. ldab 00,x
D4B4 F7 00 06 ... stab 0006
-D4B7 BD D3 11 ... jsr d311 ;jump30
+D4B7 BD D3 11 ... jsr d311 ;jump30 - test position exists
D4BA 83 00 00 ... subd #0000
D4BD 27 03 '. beq 03
D4BF 7E D5 45 ~.E jmp d545 ;goto64
D4C2 F6 00 06 ... ldab 0006
-D4C5 BD D7 A0 ... jsr d7a0 ;jump10
+D4C5 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
D4C8 83 00 00 ... subd #0000
D4CB 26 78 &x bne 78
D4CD BD D5 B0 ... jsr d5b0 ;jump31
D53F EA 01 .. orb 01,x
D541 ED 00 .. std 00,x
D543 20 15 . bra 15
-goto64:
+goto64: ; mark a motor position as valid?
D545 CC 7F FF ... ldd #7fff
D548 37 7 pshb
D549 36 6 psha
D556 E4 01 .. andb 01,x
D558 ED 00 .. std 00,x
D55A 7C 00 05 |.. inc 0005
-D55D 7E D4 A0 ~.. jmp d4a0 ;goto65
+D55D 7E D4 A0 ~.. jmp d4a0 ;goto65 - loop again
goto63:
D560 39 9 rts
jump107:
D66B F6 0B C0 ... ldab 0bc0
-D66E C4 08 .. andb #08
-D670 27 07 '. beq 07
+D66E C4 08 .. andb #08 ; we have a bill validator?
+D670 27 07 '. beq 07 ; if not, to d679
D672 F6 00 7D ..} ldab 007d
D675 27 02 '. beq 02
-D677 20 F9 . bra f9
+D677 20 F9 . bra f9 ; to d672 - wait for a bill?
D679 F6 00 15 ... ldab 0015
-D67C 2D 77 -w blt 77
+D67C 2D 77 -w blt 77 ; return
D67E FC 00 40 ..@ ldd 0040
D681 F3 00 3E ..> addd 003e
D684 B3 00 0F ... subd 000f
D6F5 39 9 rts
jump106:
+; puts (0cdb+0bdd)+(0cda*0bdf)+(0cd9*0be1) => 0bef
+; calculates how much money we have in the coin mech!!!!
D6F6 F6 0C DB ... ldab 0cdb
D6F9 4F O clra
D6FA 37 7 pshb
D6FB 36 6 psha
D6FC FC 0B DD ... ldd 0bdd
D6FF BD FB BA ... jsr fbba ;jump38 - multiply?
-D702 FD 0C EB ... std 0ceb
+D702 FD 0C EB ... std 0ceb ; 0cdb * 0bdd => 0ceb
D705 F6 0C DA ... ldab 0cda
D708 4F O clra
D709 37 7 pshb
D70A 36 6 psha
D70B FC 0B DF ... ldd 0bdf
D70E BD FB BA ... jsr fbba ;jump38 - multiply?
-D711 FD 0C ED ... std 0ced
+D711 FD 0C ED ... std 0ced ; 0cda * 0bdf => 0ced
D714 F6 0C D9 ... ldab 0cd9
D717 4F O clra
D718 37 7 pshb
D719 36 6 psha
D71A FC 0B E1 ... ldd 0be1
D71D BD FB BA ... jsr fbba ;jump38 - multiply?
-D720 FD 0C EF ... std 0cef
+D720 FD 0C EF ... std 0cef ; 0cd9 * 0be1 => 0cef
D723 FC 0C EB ... ldd 0ceb
D726 F3 0C ED ... addd 0ced
D729 F3 0C EF ... addd 0cef
-D72C FD 0B EF ... std 0bef
+D72C FD 0B EF ... std 0bef ; 0ceb+0ced+0cef => 0bef
D72F 39 9 rts
jump202:
D73A F3 00 3E ..> addd 003e
D73D B3 0B EF ... subd 0bef
D740 23 19 #. bls 19
-D742 CC B0 6B ..k ldd #b06b
+D742 CC B0 6B ..k ldd #b06b ; "NO CHANGE"
D745 BD C0 BA ... jsr c0ba ;display:
D748 CC 01 F4 ... ldd #01f4
D74B BD E5 71 ..q jsr e571 ;msdelay
D754 BD E5 71 ..q jsr e571 ;msdelay
D757 CC 00 01 ... ldd #0001
D75A 39 9 rts
-
+;
D75B F6 00 15 ... ldab 0015
D75E C4 04 .. andb #04
D760 27 1E '. beq 1e
D762 F6 0E 6E ..n ldab 0e6e
D765 26 19 &. bne 19
-D767 CC B0 76 ..v ldd #b076
+D767 CC B0 76 ..v ldd #b076 ; "NO FIVES"
D76A BD C0 BA ... jsr c0ba ;display:
D76D CC 01 F4 ... ldd #01f4
D770 BD E5 71 ..q jsr e571 ;msdelay
D779 BD E5 71 ..q jsr e571 ;msdelay
D77C CC 00 01 ... ldd #0001
D77F 39 9 rts
-
+;
D780 5F _ clrb
D781 4F O clra
D782 39 9 rts
D79E 4F O clra
D79F 39 9 rts
-jump10:
+is_invalid_slot:
+; validates a slot number? (return 1 if invalid)
+; let i = number on stack
+; if i in [9, 69, 79, 89, 99], return 1
+; if 0e6d!=1 return 0
+; if i%10 not in [1,2] return 1
+; if i < 11 return 1
+; if i <= 62 return 0
+; return 1
D7A0 37 7 pshb
D7A1 30 0 tsx
D7A2 E6 00 .. ldab 00,x
-D7A4 C1 09 .. cmpb #09
-D7A6 27 18 '. beq 18
+D7A4 C1 09 .. cmpb #09 ; 9
+D7A6 27 18 '. beq 18 ; to d7c0 (returns 1)
D7A8 E6 00 .. ldab 00,x
-D7AA C1 45 .E cmpb #45
-D7AC 27 12 '. beq 12
+D7AA C1 45 .E cmpb #45 ; 69
+D7AC 27 12 '. beq 12 ; to d7c0 (returns 1)
D7AE E6 00 .. ldab 00,x
-D7B0 C1 4F .O cmpb #4f
-D7B2 27 0C '. beq 0c
+D7B0 C1 4F .O cmpb #4f ; 79
+D7B2 27 0C '. beq 0c ; to d7c0 (returns 1)
D7B4 E6 00 .. ldab 00,x
-D7B6 C1 59 .Y cmpb #59
-D7B8 27 06 '. beq 06
+D7B6 C1 59 .Y cmpb #59 ; 89
+D7B8 27 06 '. beq 06 ; to d7c0 (returns 1)
D7BA E6 00 .. ldab 00,x
-D7BC C1 63 .c cmpb #63
-D7BE 26 05 &. bne 05
+D7BC C1 63 .c cmpb #63 ; 99 (also returns 1)
+D7BE 26 05 &. bne 05 ; to d7c5 if not equal
D7C0 CC 00 01 ... ldd #0001
-D7C3 20 38 8 bra 38
+D7C3 20 38 8 bra 38 ; to d7fd (return 1)
D7C5 F6 0E 6D ..m ldab 0e6d
D7C8 C1 01 .. cmpb #01
-D7CA 26 2F &/ bne 2f
+D7CA 26 2F &/ bne 2f ;to d7fb (return 0)
D7CC 30 0 tsx
D7CD E6 00 .. ldab 00,x
D7CF 4F O clra
D7D0 CE 00 0A ... ldx #000a
D7D3 02 . idiv
-D7D4 C1 01 .. cmpb #01
-D7D6 27 11 '. beq 11
+D7D4 C1 01 .. cmpb #01
+D7D6 27 11 '. beq 11 ;to d7e9 if num%10==1
D7D8 30 0 tsx
D7D9 E6 00 .. ldab 00,x
D7DB 4F O clra
D7DC CE 00 0A ... ldx #000a
D7DF 02 . idiv
D7E0 C1 02 .. cmpb #02
-D7E2 27 05 '. beq 05
+D7E2 27 05 '. beq 05 ;to d7e9 if num%10==2
D7E4 CC 00 01 ... ldd #0001
-D7E7 20 14 . bra 14
+D7E7 20 14 . bra 14 ; to d7fd (return 1)
D7E9 30 0 tsx
D7EA E6 00 .. ldab 00,x
-D7EC C1 0B .. cmpb #0b
-D7EE 25 06 %. bcs 06
+D7EC C1 0B .. cmpb #0b ; < 11
+D7EE 25 06 %. bcs 06 ; return 1
D7F0 E6 00 .. ldab 00,x
-D7F2 C1 3E .> cmpb #3e
-D7F4 23 05 #. bls 05
+D7F2 C1 3E .> cmpb #3e ; <= 62
+D7F4 23 05 #. bls 05 ; return 0
D7F6 CC 00 01 ... ldd #0001
D7F9 20 02 . bra 02
D7FB 5F _ clrb
D8A2 FC 0D E7 ... ldd 0de7
D8A5 37 7 pshb
D8A6 36 6 psha
-D8A7 CE E1 00 ... ldx #e100
+D8A7 CE E1 00 ... ldx #e100 ; 57600
D8AA 3C < pshx
D8AB CC 05 F5 ... ldd #05f5
D8AE 37 7 pshb
D8E8 39 9 rts
jump92:
+; displays select other item
D8E9 F6 00 2B ..+ ldab 002b
D8EC C1 00 .. cmpb #00
D8EE 26 18 &. bne 18
D922 20 32 2 bra 32
D924 C1 02 .. cmpb #02
D926 26 18 &. bne 18
-D928 CC AD 42 ..B ldd #ad42
+D928 CC AD 42 ..B ldd #ad42 ; "FAITES"
D92B BD C0 BA ... jsr c0ba ;display:
D92E 8D A3 .. bsr dest a3
-D930 CC AD 4D ..M ldd #ad4d
+D930 CC AD 4D ..M ldd #ad4d ; "AURTE"
D933 BD C0 BA ... jsr c0ba ;display:
D936 8D 9B .. bsr dest 9b
-D938 CC AD 58 ..X ldd #ad58
-D93B BD C0 BA ... jsr c0ba ;display:
+D938 CC AD 58 ..X ldd #ad58 ; "CHOIX"
+D92B BD C0 BA ... jsr c0ba ;display:
D93E 20 16 . bra 16
-D940 CC AD 21 ..! ldd #ad21
+D940 CC AD 21 ..! ldd #ad21 ; "SELECT "
D943 BD C0 BA ... jsr c0ba ;display:
D946 8D 8B .. bsr dest 8b
-D948 CC AD 2C .., ldd #ad2c
+D948 CC AD 2C .., ldd #ad2c ; "OTHER"
D94B BD C0 BA ... jsr c0ba ;display:
D94E 8D 83 .. bsr dest 83
-D950 CC AD 37 ..7 ldd #ad37
+D950 CC AD 37 ..7 ldd #ad37 ; "ITEM"
D953 BD C0 BA ... jsr c0ba ;display:
D956 BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
D959 39 9 rts
jump123:
D95A F6 00 06 ... ldab 0006
D95D F1 0B AF ... cmpb 0baf
-D960 26 0D &. bne 0d
+D960 26 0D &. bne 0d ; to d984
D962 BD D7 FF ... jsr d7ff ;jump80
D965 F6 0B B4 ... ldab 0bb4
D968 F7 00 06 ... stab 0006
-D96B 8D 55 .U bsr dest 55
-D96D 20 52 R bra 52
+D96B 8D 55 .U bsr 55 ;jump205
+D96D 20 52 R bra 52 ; exit
D96F F6 00 06 ... ldab 0006
D972 F1 0B AE ... cmpb 0bae
-D975 26 0D &. bne 0d
+D975 26 0D &. bne 0d ; to d984
D977 BD D7 FF ... jsr d7ff ;jump80
D97A F6 0B B3 ... ldab 0bb3
D97D F7 00 06 ... stab 0006
-D980 8D 40 .@ bsr dest 40
+D980 8D 40 .@ bsr 40 ;jump205
D982 20 3D = bra 3d
D984 F6 00 06 ... ldab 0006
D987 F1 0B AD ... cmpb 0bad
D98C BD D7 FF ... jsr d7ff ;jump80
D98F F6 0B B2 ... ldab 0bb2
D992 F7 00 06 ... stab 0006
-D995 8D 2B .+ bsr dest 2b
+D995 8D 2B .+ bsr 2b ;jump205
D997 20 28 ( bra 28
D999 F6 00 06 ... ldab 0006
D99C F1 0B AC ... cmpb 0bac
D9A1 BD D7 FF ... jsr d7ff ;jump80
D9A4 F6 0B B1 ... ldab 0bb1
D9A7 F7 00 06 ... stab 0006
-D9AA 8D 16 .. bsr dest 16
+D9AA 8D 16 .. bsr 16 ;jump205
D9AC 20 13 . bra 13
D9AE F6 00 06 ... ldab 0006
D9B1 F1 0B AB ... cmpb 0bab
D9B6 BD D7 FF ... jsr d7ff ;jump80
D9B9 F6 0B B0 ... ldab 0bb0
D9BC F7 00 06 ... stab 0006
-D9BF 8D 01 .. bsr dest 01
+D9BF 8D 01 .. bsr 01 ;jump205
D9C1 39 9 rts
+jump205:
D9C2 CC 03 E8 ... ldd #03e8
D9C5 BD E5 71 ..q jsr e571 ;msdelay
D9C8 BD D7 83 ... jsr d783 ;jump44
DA72 8F . xgdx
DA73 37 7 pshb
DA74 36 6 psha
-DA75 CC 00 C3 ... ldd #00c3
-DA78 BD FB BA ... jsr fbba ;jump38
+DA75 CC 00 C3 ... ldd #00c3 ; 195
+DA78 BD FB BA ... jsr fbba ;jump38 - multiply?
DA7B B3 0B B9 ... subd 0bb9
DA7E 24 05 $. bcc 05
DA80 5F _ clrb
DA85 FC 0B B9 ... ldd 0bb9
DA88 37 7 pshb
DA89 36 6 psha
-DA8A CC 00 0A ... ldd #000a
-DA8D BD FB BA ... jsr fbba ;jump38
+DA8A CC 00 0A ... ldd #000a ; 10
+DA8D BD FB BA ... jsr fbba ;jump38 - multiply?
DA90 37 7 pshb
DA91 36 6 psha
DA92 FC 0B B5 ... ldd 0bb5
DA9D 8F . xgdx
DA9E 37 7 pshb
DA9F 36 6 psha
-DAA0 CC 00 0A ... ldd #000a
-DAA3 BD FB BA ... jsr fbba ;jump38
+DAA0 CC 00 0A ... ldd #000a ; 10
+DAA3 BD FB BA ... jsr fbba ;jump38 - multiply?
DAA6 CE 00 0A ... ldx #000a
DAA9 02 . idiv
DAAA 8F . xgdx
DB43 39 9 rts
jump104:
+; say thankyou?
DB44 F6 00 2B ..+ ldab 002b
DB47 C1 00 .. cmpb #00
DB49 26 08 &. bne 08
DB51 20 1E . bra 1e
DB53 C1 01 .. cmpb #01
DB55 26 08 &. bne 08
-DB57 CC AC D4 ... ldd #acd4
+DB57 CC AC D4 ... ldd #acd4 ; "CHANGE"
DB5A BD C0 BA ... jsr c0ba ;display:
DB5D 20 12 . bra 12
DB5F C1 02 .. cmpb #02
DB9A F6 00 2B ..+ ldab 002b
DB9D C1 00 .. cmpb #00
DB9F 26 08 &. bne 08
-DBA1 CC AD 16 ... ldd #ad16
+DBA1 CC AD 16 ... ldd #ad16 ; "GRACIAS"
DBA4 BD C0 BA ... jsr c0ba ;display:
DBA7 20 1E . bra 1e
DBA9 C1 01 .. cmpb #01
DBAB 26 08 &. bne 08
-DBAD CC AD 0B ... ldd #ad0b
+DBAD CC AD 0B ... ldd #ad0b ; "DANKE"
DBB0 BD C0 BA ... jsr c0ba ;display:
DBB3 20 12 . bra 12
DBB5 C1 02 .. cmpb #02
DBB7 26 08 &. bne 08
-DBB9 CC AD 00 ... ldd #ad00
+DBB9 CC AD 00 ... ldd #ad00 ; "MERCI"
DBBC BD C0 BA ... jsr c0ba ;display:
DBBF 20 06 . bra 06
-DBC1 CC AC F5 ... ldd #acf5
+DBC1 CC AC F5 ... ldd #acf5 ; "THANKS"
DBC4 BD C0 BA ... jsr c0ba ;display:
DBC7 BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
DBCA 39 9 rts
DCC9 36 6 psha
DCCA CE E1 00 ... ldx #e100
DCCD 3C < pshx
-DCCE CC 05 F5 ... ldd #05f5
+DCCE CC 05 F5 ... ldd #05f5 ; 100000000
DCD1 37 7 pshb
DCD2 36 6 psha
DCD3 30 0 tsx
DE05 F7 00 2C .., stab 002c
DE08 39 9 rts
-dump119:
-DE09 CC 0B 9A ... ldd #0b9a
+jump119:
+DE09 CC 0B 9A ... ldd #0b9a ; machine id?
DE0C BD C0 BA ... jsr c0ba ;display:
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
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 ; fixed by ./fixbset.pl - verify me
+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 ; fixed by ./fixbset.pl - verify me
+DE9E 1D 00 01 ... bclr 00,x, #01
DEA1 7F 00 4F ..O clr 004f
goto70:
DEA4 39 9 rts
-dump117:
+jump117:
+; machine out of order display?
DEA5 F6 00 2B ..+ ldab 002b
DEA8 C1 00 .. cmpb #00
DEAA 26 0D &. bne 0d
DECC 26 0D &. bne 0d
DECE CE 00 10 ... ldx #0010
DED1 3C < pshx
-DED2 CC AE 5B ..[ ldd #ae5b
+DED2 CC AE 5B ..[ ldd #ae5b ; more german
DED5 BD C0 2E ... jsr c02e ;jump71
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
+DEDF CC AE 44 ..D ldd #ae44 ; "MACHINE OUT OF ORDER"
DEE2 BD C0 2E ... jsr c02e ;jump71
DEE5 38 8 pulx
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
-DEFF BD C6 7D ..} jsr c67d ;jump124
-DF02 BD D6 6B ..k jsr d66b ;jump107
+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
+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
;
-DF36 BD D6 52 ..R jsr d652 ;jump5
-DF39 BD DE A5 ... jsr dea5 ;jump117
+DF36 BD D6 52 ..R jsr d652 ;jump5 - pulse bill acceptor
+DF39 BD DE A5 ... jsr dea5 ;jump117 - machine out of order?
DF3C 39 9 rts
;
DF3D F6 00 4F ..O ldab 004f
DF40 26 06 &. bne 06
DF42 CE 00 1B ... ldx #001b
-DF45 1D 00 01 ... bclr 00,x, #01 ; fixed by ./fixbset.pl - verify me
+DF45 1D 00 01 ... bclr 00,x, #01
DF48 F6 00 25 ..% ldab 0025
DF4B 26 20 & bne 20
DF4D F6 00 1B ... ldab 001b
DF50 C4 40 .@ andb #40
DF52 27 19 '. beq 19
-DF54 BD D6 52 ..R jsr d652 ;jump5
+DF54 BD D6 52 ..R jsr d652 ;jump5 - pulse bill acceptor
DF57 FC 00 40 ..@ ldd 0040
DF5A 26 05 &. bne 05
DF5C FC 00 3E ..> ldd 003e
DF5F 27 03 '. beq 03
-DF61 BD DB 44 ..D jsr db44 ;jump104
+DF61 BD DB 44 ..D jsr db44 ;jump104 - say thanks
DF64 BD D6 6B ..k jsr d66b ;jump107
DF67 CE 00 1B ... ldx #001b
-DF6A 1D 00 40 ... bclr 00,x, #40 ; fixed by ./fixbset.pl - verify me
+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
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
DFBF 26 0D &. bne 0d
DFC1 CE 00 19 ... ldx #0019
DFC4 3C < pshx
-DFC5 CC AD E7 ... ldd #ade7
+DFC5 CC AD E7 ... ldd #ade7 ; "INTRODUZCA"
DFC8 BD C0 2E ... jsr c02e ;jump71
DFCB 38 8 pulx
DFCC 20 2D - bra 2d
DFD0 26 0D &. bne 0d
DFD2 CE 00 12 ... ldx #0012
DFD5 3C < pshx
-DFD6 CC AD D3 ... ldd #add3 ; more german
+DFD6 CC AD D3 ... ldd #add3 ; "NICT UEBERZAHLEN"
DFD9 BD C0 2E ... jsr c02e ;jump71
DFDC 38 8 pulx
DFDD 20 1C . bra 1c
DFE1 26 0D &. bne 0d
DFE3 CE 00 19 ... ldx #0019
DFE6 3C < pshx
-DFE7 CC AD B8 ... ldd #adb8
+DFE7 CC AD B8 ... ldd #adb8 ; "MONNAIE EXACT"
DFEA BD C0 2E ... jsr c02e ;jump71
DFED 38 8 pulx
DFEE 20 0B . bra 0b
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
E018 26 0D &. bne 0d
E01A CE 00 12 ... ldx #0012
E01D 3C < pshx
-E01E CC AE 30 ..0 ldd #ae30
+E01E CC AE 30 ..0 ldd #ae30 ; "MONEDA UNICAMENTE"
E021 BD C0 2E ... jsr c02e ;jump71
E024 38 8 pulx
E025 20 2D - bra 2d
E029 26 0D &. bne 0d
E02B CE 00 0B ... ldx #000b
E02E 3C < pshx
-E02F CC AE 23 ..# ldd #ae23
+E02F CC AE 23 ..# ldd #ae23 ; "NUR MUNZEN"
E032 BD C0 2E ... jsr c02e ;jump71
E035 38 8 pulx
E036 20 1C . bra 1c
E03A 26 0D &. bne 0d
E03C CE 00 12 ... ldx #0012
E03F 3C < pshx
-E040 CC AE 0F ... ldd #ae0f
+E040 CC AE 0F ... ldd #ae0f ; "MONNAIES SEULEMENT"
E043 BD C0 2E ... jsr c02e ;jump71
E046 38 8 pulx
E047 20 0B . bra 0b
E049 CE 00 0B ... ldx #000b
E04C 3C < pshx
-E04D CC AE 02 ... ldd #ae02
+E04D CC AE 02 ... ldd #ae02 ; "COINS ONLY"
E050 BD C0 2E ... jsr c02e ;jump71
E053 38 8 pulx
E054 20 0D . bra 0d
E059 4F O clra
E05A 37 7 pshb
E05B 36 6 psha
-E05C CC 09 93 ... ldd #0993
+E05C CC 09 93 ... ldd #0993 ; some custom message?
E05F BD C0 2E ... jsr c02e ;jump71
E062 38 8 pulx
goto72:
E071 1C 00 40 ... bset 00,x, #40
E074 BD E7 C7 ... jsr e7c7 ;jump114
E077 F6 00 06 ... ldab 0006
-E07A C1 59 .Y cmpb #59
+E07A C1 59 .Y cmpb #59 ; 89
E07C 26 06 &. bne 06
-E07E BD DE 09 ... jsr de09 ;jump119
+E07E BD DE 09 ... jsr de09 ;jump119 - display machine id
E081 7E E5 5E ~.^ jmp e55e ;goto74
E084 F6 00 06 ... ldab 0006
E087 BD D4 68 ..h jsr d468 ;jump51
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
+E0A7 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
E0AA BD D8 E9 ... jsr d8e9 ;jump92
E0AD 7E E5 5E ~.^ jmp e55e ;goto74
E0B0 F6 00 06 ... ldab 0006
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
E11F 26 08 &. bne 08
-E121 CC AC C9 ... ldd #acc9
+E121 CC AC C9 ... ldd #acc9 ; "PRECIO"
E124 BD C0 BA ... jsr c0ba ;display:
E127 20 1E . bra 1e
E129 C1 01 .. cmpb #01
E12B 26 08 &. bne 08
-E12D CC AC BE ... ldd #acbe
+E12D CC AC BE ... ldd #acbe ; "PREIS"
E130 BD C0 BA ... jsr c0ba ;display:
E133 20 12 . bra 12
E135 C1 02 .. cmpb #02
E137 26 08 &. bne 08
-E139 CC AC B3 ... ldd #acb3
+E139 CC AC B3 ... ldd #acb3 ; "PRIX"
E13C BD C0 BA ... jsr c0ba ;display:
E13F 20 06 . bra 06
-E141 CC AC A8 ... ldd #aca8
+E141 CC AC A8 ... ldd #aca8 ; "PRICE"
E144 BD C0 BA ... jsr c0ba ;display:
E147 BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
E14A CE 00 00 ... ldx #0000
E14E FC 00 44 ..D ldd 0044
E151 BD BE 9E ... jsr be9e ;jump50
E154 38 8 pulx
-E155 BD E5 D1 ... jsr e5d1 ;jump52
+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
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
E1F9 BD D2 13 .. jsr d213 ;jump45
E1FC 83 00 00 ... subd #0000
E200 26 12 &. bne 12
-E202 BD E5 D1 ... jsr e5d1 ;jump52
-E205 BD D8 E9 ... jsr d8e9 ;jump92
+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
E20B F3 00 44 ..D addd 0044
E20E FD 00 40 ..@ std 0040
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
E2F4 F6 00 11 ... ldab 0011
E2F7 C4 10 .. andb #10
E2F9 26 0E &. bne 0e
-E2FB BD DB 44 ..D jsr db44 ;jump104
+E2FB BD DB 44 ..D jsr db44 ;jump104 - say thanks
E2FE CE 00 1B ... ldx #001b
-E301 1D 00 40 ... bclr 00,x, #40 ; fixed by ./fixbset.pl - verify me
+E301 1D 00 40 ... bclr 00,x, #40
E304 7F 00 25 ..% clr 0025
E307 20 1A . bra 1a
E309 7F 00 2C .., clr 002c
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
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
E450 FC 00 76 ..v ldd 0076
E453 26 06 &. bne 06
E455 CE 00 17 ... ldx #0017
-E458 1D 00 02 ... bclr 00,x, #02 ; fixed by ./fixbset.pl - verify me
+E458 1D 00 02 ... bclr 00,x, #02
E45B F6 00 17 ... ldab 0017
E45E C4 02 .. andb #02
E460 27 09 '. beq 09
-E462 BD E5 D1 ... jsr e5d1 ;jump52
+E462 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
E465 CE 00 17 ... ldx #0017
-E468 1D 00 02 ... bclr 00,x, #02 ; fixed by ./fixbset.pl - verify me
+E468 1D 00 02 ... bclr 00,x, #02
E46B 7E E3 DE ~.. jmp e3de ;goto77
goto76:
E46E CE 00 21 ..! ldx #0021
E47D 83 00 00 ... subd #0000
E480 26 0F &. bne 0f
E482 CC 00 80 ... ldd #0080
-E485 BD C7 E7 ... jsr c7e7 ;jump37
-E488 BD E5 D1 ... jsr e5d1 ;jump52
+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
E491 F6 00 2B ..+ ldab 002b
E494 C1 00 .. cmpb #00
E496 26 08 &. bne 08
-E498 CC AD 16 ... ldd #ad16
+E498 CC AD 16 ... ldd #ad16 ; "GRACIAS"
E49B BD C0 BA ... jsr c0ba ;display:
E49E 20 1E . bra 1e
E4A0 C1 01 .. cmpb #01
E4A2 26 08 &. bne 08
-E4A4 CC AD 0B ... ldd #ad0b
+E4A4 CC AD 0B ... ldd #ad0b ; "DANKE"
E4A7 BD C0 BA ... jsr c0ba ;display:
E4AA 20 12 . bra 12
E4AC C1 02 .. cmpb #02
E4AE 26 08 &. bne 08
-E4B0 CC AD 00 ... ldd #ad00
+E4B0 CC AD 00 ... ldd #ad00 ; "MERCI"
E4B3 BD C0 BA ... jsr c0ba ;display:
E4B6 20 06 . bra 06
-E4B8 CC AC F5 ... ldd #acf5
+E4B8 CC AC F5 ... ldd #acf5 ; "THANKS"
E4BB BD C0 BA ... jsr c0ba ;display:
E4BE BD D8 D3 ... jsr d8d3 ;jump84 500ms delay
E4C1 CE 00 01 ... ldx #0001
E4CB 38 8 pulx
E4CC 5F _ clrb
E4CD 4F O clra
-E4CE BD C7 E7 ... jsr c7e7 ;jump37
+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
E5A9 39 9 rts
jump12:
+; beep if keypressed?
E5AA F6 00 33 ..3 ldab 0033
E5AD 27 0C '. beq 0c ; to e5bb
-E5AF F6 00 29 ..) ldab 0029
+E5AF F6 00 29 ..) ldab 0029 ; key state
E5B2 27 05 '. beq 05 ; to e5b9 (out)
E5B4 C6 02 .. ldab #02
E5B6 F7 00 33 ..3 stab 0033
E5B9 20 15 . bra 15 ; to e5d0 (out)
-E5BB C6 03 .. ldab #03
+E5BB C6 03 .. ldab #03 ; beep
E5BD F7 00 32 ..2 stab 0032
E5C0 FC 00 3B ..; ldd 003b
E5C3 27 06 '. beq 06 ; to e5cb
E5C5 CC 02 33 ..3 ldd #0233
E5C8 FD 00 3B ..; std 003b
-E5CB C6 02 .. ldab #02
+E5CB C6 02 .. ldab #02 ; make a beep
E5CD F7 00 33 ..3 stab 0033
E5D0 39 9 rts
jump52:
-E5D1 C6 0B .. ldab #0b
+; signifies a triple beep?
+E5D1 C6 0B .. ldab #0b ; 1011
E5D3 F7 00 32 ..2 stab 0032
E5D6 39 9 rts
E620 39 9 rts
jump56:
+; writes a really big number to the display
E621 38 8 pulx
E622 37 7 pshb
E623 36 6 psha
E62D EC 02 .. ldd 02,x
E62F 37 7 pshb
E630 36 6 psha
-E631 CE 96 80 ... ldx #9680
+E631 CE 96 80 ... ldx #9680 ;38528
E634 3C < pshx
-E635 CC 00 98 ... ldd #0098
-E638 BD FC 4C ..L jsr fc4c ;jump83
+E635 CC 00 98 ... ldd #0098 ;152
+E638 BD FC 4C ..L jsr fc4c ;bigdivide
E63B 31 1 ins
E63C 33 3 pulb
-E63D CB 30 .0 addb #30
+E63D CB 30 .0 addb #30 ; make it a digit
E63F F7 0B 97 ... stab 0b97
+;
E642 30 0 tsx
E643 EC 04 .. ldd 04,x
E645 37 7 pshb
E647 EC 02 .. ldd 02,x
E649 37 7 pshb
E64A 36 6 psha
-E64B CE 96 80 ... ldx #9680
+E64B CE 96 80 ... ldx #9680 ;38528
E64E 3C < pshx
-E64F CC 00 98 ... ldd #0098
-E652 BD FC 5C ..\ jsr fc5c ;jump82
+E64F CC 00 98 ... ldd #0098 ;152
+E652 BD FC 5C ..\ jsr fc5c ;bigmodulus
E655 37 7 pshb
E656 36 6 psha
-E657 CE 42 40 .B@ ldx #4240
+E657 CE 42 40 .B@ ldx #4240 ;16960
E65A 3C < pshx
-E65B CC 00 0F ... ldd #000f
-E65E BD FC 4C ..L jsr fc4c ;jump83
+E65B CC 00 0F ... ldd #000f ;15
+E65E BD FC 4C ..L jsr fc4c ;bigdivide
E661 31 1 ins
E662 33 3 pulb
E663 CB 30 .0 addb #30
E665 F7 0B 96 ... stab 0b96
+;
E668 30 0 tsx
E669 EC 04 .. ldd 04,x
E66B 37 7 pshb
E66D EC 02 .. ldd 02,x
E66F 37 7 pshb
E670 36 6 psha
-E671 CE 42 40 .B@ ldx #4240
+E671 CE 42 40 .B@ ldx #4240 ;16960
E674 3C < pshx
-E675 CC 00 0F ... ldd #000f
-E678 BD FC 5C ..\ jsr fc5c ;jump82
+E675 CC 00 0F ... ldd #000f ;15
+E678 BD FC 5C ..\ jsr fc5c ;bigmodulus
E67B 37 7 pshb
E67C 36 6 psha
-E67D CE 86 A0 ... ldx #86a0
+E67D CE 86 A0 ... ldx #86a0 ;34464
E680 3C < pshx
-E681 CC 00 01 ... ldd #0001
-E684 BD FC 4C ..L jsr fc4c ;jump83
+E681 CC 00 01 ... ldd #0001 ;1
+E684 BD FC 4C ..L jsr fc4c ;bigdivide
E687 31 1 ins
E688 33 3 pulb
E689 CB 30 .0 addb #30
E68B F7 0B 95 ... stab 0b95
+;
E68E 30 0 tsx
E68F EC 04 .. ldd 04,x
E691 37 7 pshb
E693 EC 02 .. ldd 02,x
E695 37 7 pshb
E696 36 6 psha
-E697 CE 86 A0 ... ldx #86a0
+E697 CE 86 A0 ... ldx #86a0 ;34464
E69A 3C < pshx
-E69B CC 00 01 ... ldd #0001
-E69E BD FC 5C ..\ jsr fc5c ;jump82
+E69B CC 00 01 ... ldd #0001 ;1
+E69E BD FC 5C ..\ jsr fc5c ;bigmodulus
E6A1 37 7 pshb
E6A2 36 6 psha
-E6A3 CE 27 10 .'. ldx #2710
+E6A3 CE 27 10 .'. ldx #2710 ;10000
E6A6 3C < pshx
E6A7 CC 00 00 ... ldd #0000
-E6AA BD FC 4C ..L jsr fc4c ;jump83
+E6AA BD FC 4C ..L jsr fc4c ;bigdivide
E6AD 31 1 ins
E6AE 33 3 pulb
E6AF CB 30 .0 addb #30
E6B1 F7 0B 94 ... stab 0b94
+;
E6B4 30 0 tsx
E6B5 EC 04 .. ldd 04,x
E6B7 37 7 pshb
E6B9 EC 02 .. ldd 02,x
E6BB 37 7 pshb
E6BC 36 6 psha
-E6BD CE 27 10 .'. ldx #2710
+E6BD CE 27 10 .'. ldx #2710 ;10000
E6C0 3C < pshx
E6C1 CC 00 00 ... ldd #0000
-E6C4 BD FC 5C ..\ jsr fc5c ;jump82
+E6C4 BD FC 5C ..\ jsr fc5c ;bigmodulus
E6C7 37 7 pshb
E6C8 36 6 psha
-E6C9 CE 03 E8 ... ldx #03e8
+E6C9 CE 03 E8 ... ldx #03e8 ;1000
E6CC 3C < pshx
E6CD CC 00 00 ... ldd #0000
-E6D0 BD FC 4C ..L jsr fc4c ;jump83
+E6D0 BD FC 4C ..L jsr fc4c ;bigdivide
E6D3 31 1 ins
E6D4 33 3 pulb
E6D5 CB 30 .0 addb #30
E6D7 F7 0B 93 ... stab 0b93
+;
+;
E6DA 30 0 tsx
E6DB EC 04 .. ldd 04,x
E6DD 37 7 pshb
E6DF EC 02 .. ldd 02,x
E6E1 37 7 pshb
E6E2 36 6 psha
-E6E3 CE 03 E8 ... ldx #03e8
+E6E3 CE 03 E8 ... ldx #03e8 ;1000
E6E6 3C < pshx
E6E7 CC 00 00 ... ldd #0000
-E6EA BD FC 5C ..\ jsr fc5c ;jump82
+E6EA BD FC 5C ..\ jsr fc5c ;bigmodulus
E6ED 37 7 pshb
E6EE 36 6 psha
-E6EF CE 00 64 ..d ldx #0064
+E6EF CE 00 64 ..d ldx #0064 ;100
E6F2 3C < pshx
E6F3 CC 00 00 ... ldd #0000
-E6F6 BD FC 4C ..L jsr fc4c ;jump83
+E6F6 BD FC 4C ..L jsr fc4c ;bigdivide
E6F9 31 1 ins
E6FA 33 3 pulb
E6FB CB 30 .0 addb #30
E6FD F7 0B 92 ... stab 0b92
+;
E700 30 0 tsx
E701 EC 04 .. ldd 04,x
E703 37 7 pshb
E705 EC 02 .. ldd 02,x
E707 37 7 pshb
E708 36 6 psha
-E709 CE 00 64 ..d ldx #0064
+E709 CE 00 64 ..d ldx #0064 ;100
E70C 3C < pshx
E70D CC 00 00 ... ldd #0000
-E710 BD FC 5C ..\ jsr fc5c ;jump82
+E710 BD FC 5C ..\ jsr fc5c ;bigmodulus
E713 37 7 pshb
E714 36 6 psha
-E715 CE 00 0A ... ldx #000a
+E715 CE 00 0A ... ldx #000a ;10
E718 3C < pshx
E719 CC 00 00 ... ldd #0000
-E71C BD FC 4C ..L jsr fc4c ;jump83
+E71C BD FC 4C ..L jsr fc4c ;bigdivide
E71F 31 1 ins
E720 33 3 pulb
E721 CB 30 .0 addb #30
E723 F7 0B 91 ... stab 0b91
+;
E726 30 0 tsx
E727 EC 04 .. ldd 04,x
E729 37 7 pshb
E72B EC 02 .. ldd 02,x
E72D 37 7 pshb
E72E 36 6 psha
-E72F CE 00 0A ... ldx #000a
+E72F CE 00 0A ... ldx #000a ;10
E732 3C < pshx
E733 CC 00 00 ... ldd #0000
-E736 BD FC 5C ..\ jsr fc5c ;jump82
+E736 BD FC 5C ..\ jsr fc5c ;bigmodulus
E739 31 1 ins
E73A 33 3 pulb
E73B CB 30 .0 addb #30
E73D F7 0B 90 ... stab 0b90
+;
E740 38 8 pulx
E741 31 1 ins
E742 31 1 ins
E743 6E 00 n. jmp 00,x
jump55:
+; number to string. number is <= 99999. puts it into 0057, 005a, 005d-005f
E745 37 7 pshb
E746 36 6 psha
E747 30 0 tsx
E74D 02 . idiv
E74E 8F . xgdx
E74F CB 30 .0 addb #30
-E751 F7 00 57 ..W stab 0057
+E751 F7 00 57 ..W stab 0057 ; num/10000 => 0057
E754 30 0 tsx
E755 EC 00 .. ldd 00,x
E757 CE 27 10 .'. ldx #2710 ; 10000
E75E 02 . idiv
E75F 8F . xgdx
E760 CB 30 .0 addb #30
-E762 F7 00 5A ..Z stab 005a
+E762 F7 00 5A ..Z stab 005a ; num%10000/1000 => 005a
E765 30 0 tsx
E766 EC 00 .. ldd 00,x
E768 CE 03 E8 ... ldx #03e8
E76F 02 . idiv
E770 8F . xgdx
E771 CB 30 .0 addb #30
-E773 F7 00 5D ..] stab 005d
+E773 F7 00 5D ..] stab 005d ; num%1000/100 => 005d
E776 30 0 tsx
E777 EC 00 .. ldd 00,x
E779 CE 00 64 ..d ldx #0064
E780 02 . idiv
E781 8F . xgdx
E782 CB 30 .0 addb #30
-E784 F7 00 5E ..^ stab 005e
+E784 F7 00 5E ..^ stab 005e ; num%100/10 => 005e
E787 30 0 tsx
E788 EC 00 .. ldd 00,x
E78A CE 00 0A ... ldx #000a
E78D 02 . idiv
E78E CB 30 .0 addb #30
-E790 F7 00 5F .._ stab 005f
+E790 F7 00 5F .._ stab 005f ; num%10 => 005f
E793 38 8 pulx
E794 39 9 rts
jump54:
+; number to string. number is <= 999. puts it into 005d-005f
E795 37 7 pshb
E796 36 6 psha
E797 30 0 tsx
E798 E6 01 .. ldab 01,x
E79A 4F O clra
-E79B CE 00 64 ..d ldx #0064
+E79B CE 00 64 ..d ldx #0064 ; /100
E79E 02 . idiv
E79F 8F . xgdx
-E7A0 CB 30 .0 addb #30
+E7A0 CB 30 .0 addb #30 ; make it a digit
E7A2 F7 00 5D ..] stab 005d
E7A5 30 0 tsx
E7A6 E6 01 .. ldab 01,x
E7AE CE 00 0A ... ldx #000a
E7B1 02 . idiv
E7B2 8F . xgdx
-E7B3 CB 30 .0 addb #30
+E7B3 CB 30 .0 addb #30 ; %100 / 10 -> digit
E7B5 F7 00 5E ..^ stab 005e
E7B8 30 0 tsx
E7B9 E6 01 .. ldab 01,x
E7BC CE 00 0A ... ldx #000a
E7BF 02 . idiv
E7C0 CB 30 .0 addb #30
-E7C2 F7 00 5F .._ stab 005f
+E7C2 F7 00 5F .._ stab 005f ; %10
E7C5 38 8 pulx
E7C6 39 9 rts
E7D0 26 03 &. bne 03
E7D2 7E E8 99 ~.. jmp e899 ;goto79
E7D5 F6 00 06 ... ldab 0006
-E7D8 BD D7 A0 ... jsr d7a0 ;jump10
+E7D8 BD D7 A0 ... jsr d7a0 ;is_invalid_slot
E7DB 83 00 00 ... subd #0000
E7DE 27 03 '. beq 03
E7E0 7E E8 99 ~.. jmp e899 ;goto79
E848 EA 01 .. orb 01,x
E84A ED 00 .. std 00,x
E84C CE 10 16 ... ldx #1016
-E84F 1D 00 .. bclr add,x 00,x
-E851 C0 FC .. subb #fc
-E853 10 . sba
-E854 18 . illegal
+E84F 1D 00 C0 .. bclr 00,x, #c0
+E852 FC 10 18 .. ldd 1018
E855 43 C coma
E856 53 S comb
E857 FD 10 18 ... std 1018
E85A CE 10 18 ... ldx #1018
-E85D 1D 00 .. bclr add,x 00,x
-E85F C0 FC .. subb #fc
-E861 10 . sba
-E862 16 . tab
+E85D 1D 00 C0 .. bclr 00,x, #c0
+E85F FC 10 16 .. ldd 1016
E863 37 7 pshb
E864 36 6 psha
E865 FC 10 18 ... ldd 1018
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 ;jump10
+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
E8D2 84 3F .? anda #3f
E8D4 FD 10 16 ... std 1016
E8D7 FC 10 16 ... ldd 1016
-E8DA 83 27 10 .'. subd #2710
-E8DD 24 2F $/ bcc 2f
+E8DA 83 27 10 .'. subd #2710 ; 10000
+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
jump65:
EA59 34 4 des
-
; test PE2 - remote no-sale switch.
EA5A CE 00 04 ... ldx #0004
EA5D 3C < pshx
EA64 38 8 pulx
EA65 83 00 00 ... subd #0000
EA68 27 3F '? beq 3f ; to eaa9 if off
-
+;
; test internal mode switch (bit 1 of 1800)
EA6A CE 00 01 ... ldx #0001
EA6D 3C < pshx
EA74 38 8 pulx
EA75 83 00 00 ... subd #0000
EA78 27 2F '/ beq 2f ; to eaa9 if off
-
+;
; both no-sale & mode switches held.
-
+;
; 1000-unit delay
EA7A CC 03 E8 ... ldd #03e8
EA7D BD E5 71 ..q jsr e571 ;msdelay
-
+;
EA80 7F 0B A8 ... clr 0ba8
-
+;
; blink "SECURE OFF" until mode switch is released
EA83 F6 18 00 ... ldab 1800
EA86 C4 01 .. andb #01
EA88 26 1C &. bne 1c ; to eaa4 (loop until released)
-
+;
; blank display
EA8A BD BE 4B ..K jsr be4b ;displayblank (blank display buffer)
EA8D 0F . sei
EA8E BD BE 01 ... jsr be01 ;jump70 (commit to display)
EA91 0E . cli
-
+;
; 500-unit delay
EA92 CC 01 F4 ... ldd #01f4
EA95 BD E5 71 ..q jsr e571 ;msdelay
-
+;
EA98 CC AF D1 ... ldd #afd1 ; "SECURE OFF"
EA9B BD C0 BA ... jsr c0ba ;display:
-
+;
; 500-unit delay
EA9E CC 01 F4 ... ldd #01f4
EAA1 BD E5 71 ..q jsr e571 ;msdelay
; loop
EAA4 20 DD . bra dd ; to ea83
EAA6 BD BE 69 ..i jsr be69 ;displayreset
-
+;
; no sale switch or internal mode switch on
-
+;
; fiddle with the bill acceptor
EAA9 C6 01 .. ldab #01
EAAB F7 00 14 ... stab 0014
EAAE F6 00 14 ... ldab 0014
EAB1 F7 38 00 .8. stab 3800
-
+;
; 30-unit delay
EAB4 CC 00 1E ... ldd #001e
EAB7 BD E5 71 ..q jsr e571 ;msdelay
-
+;
; more bill acceptor fiddling & tests
EABA CE 00 01 ... ldx #0001
EABD 3C < pshx
EB09 83 00 00 ... subd #0000
EB0C 26 03 &. bne 03
EB0E 7E ED F8 ~.. jmp edf8 ;goto80 - something about the bill validator failed. skip it.
-EB11 CC 5A 5A .ZZ ldd #5a5a
+EB11 CC 5A 5A .ZZ ldd #5a5a ; 23130
EB14 FD 10 16 ... std 1016
EB17 CC B1 39 ..9 ldd #b139 ;"**********"
EB1A BD C0 BA ... jsr c0ba ;display:
EBB3 E6 00 .. ldab 00,x
EBB5 C1 AA .. cmpb #aa
EBB7 27 08 '. beq 08
-EBB9 CE 10 16 ... ldx #1016
+EBB9 CE 10 16 ... ldx #1016 ; timer output compare register
EBBC 1D 00 FF .. bclr 00,x, #FF
EBBF 20 09 .. bra 09
EBC1 FE 00 73 ..s ldx 0073
EC9F 30 0 tsx
ECA0 E6 00 .. ldab 00,x
ECA2 4F O clra
-ECA3 C3 B1 D0 ... addd #b1d0
+ECA3 C3 B1 D0 ... addd #b1d0 ; "THANK YOU FOR YOUR PATRONAGE"
ECA6 8F . xgdx
ECA7 E6 00 .. ldab 00,x
ECA9 37 7 pshb
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
ED04 20 D8 . bra d8
ED06 30 0 tsx
ED07 6F 00 o. clr 00,x
+;
ED09 30 0 tsx
ED0A E6 00 .. ldab 00,x
ED0C C1 0B .. cmpb #0b
-ED0E 24 12 $. bcc 12
+ED0E 24 12 $. bcc 12 ; to ed22
ED10 5F _ clrb
ED11 37 7 pshb
ED12 30 0 tsx
ED1D 30 0 tsx
ED1E 6C 00 l. inc 00,x
ED20 20 E7 . bra e7
+; clear stuff ready for test harness?
ED22 4F O clra
ED23 5F _ clrb
ED24 FD 0D F9 ... std 0df9
EDEE 7F 0B B0 ... clr 0bb0
EDF1 C6 05 .. ldab #05
EDF3 F7 08 00 ... stab 0800
-EDF6 8D 21 .! bsr dest 21
+EDF6 8D 21 .! bsr 21 ;jump204 - test harness function
goto80:
-; switch things off
+; switch things off (motors, display clock, keypad strobe)
EDF8 7F 00 14 ... clr 0014
EDFB F6 00 14 ... ldab 0014
EDFE F7 38 00 .8. stab 3800
EE02 39 9 rts
jump36:
+; writes msg to screen for 1.5s
EE03 37 7 pshb
EE04 36 6 psha
EE05 30 0 tsx
EE17 38 8 pulx
EE18 39 9 rts
-
-EE19 BD E5 D1 ... jsr e5d1 ;jump52
+jump204:
+EE19 BD E5 D1 ... jsr e5d1 ;jump52 - triple beep
goto81:
; this the diagnostic function activated when the "test harness"
; is connected
F0A5 8F . xgdx
F0A6 E6 00 .. ldab 00,x
F0A8 F7 00 06 ... stab 0006
-F0AB BD D3 11 ... jsr d311 ;jump30
+F0AB BD D3 11 ... jsr d311 ;jump30 - test position exists
F0AE 83 00 00 ... subd #0000
F0B1 27 08 '. beq 08
F0B3 CC B1 A7 ... ldd #b1a7
F0D1 8F . xgdx
F0D2 E6 00 .. ldab 00,x
F0D4 F7 00 06 ... stab 0006
-F0D7 BD D1 3D ..= jsr d13d ;jump34
+F0D7 BD D1 3D ..= jsr d13d ;jump34 - motor on
F0DA BD D5 70 ..p jsr d570 ;jump35
F0DD 83 00 00 ... subd #0000
F0E0 26 0B &. bne 0b
-F0E2 BD D1 05 ... jsr d105 ;jump32
+F0E2 BD D1 05 ... jsr d105 ;motors_off
F0E5 CC B1 B2 ... ldd #b1b2
F0E8 BD EE 03 ... jsr ee03 ;jump36
F0EB 20 08 . bra 08
-F0ED BD D1 05 ... jsr d105 ;jump32
+F0ED BD D1 05 ... jsr d105 ;motors_off
F0F0 7C 00 61 |.a inc 0061
F0F3 20 CE . bra ce
F0F5 7F 00 61 ..a clr 0061
F106 8F . xgdx
F107 E6 00 .. ldab 00,x
F109 F7 00 06 ... stab 0006
-F10C BD D1 3D ..= jsr d13d ;jump34
+F10C BD D1 3D ..= jsr d13d ;jump34 - motor on
F10F CC 00 0A ... ldd #000a
F112 BD E5 71 ..q jsr e571 ;msdelay
F115 F6 18 00 ... ldab 1800
F118 C4 40 .@ andb #40
F11A 26 0B &. bne 0b
-F11C BD D1 05 ... jsr d105 ;jump32
+F11C BD D1 05 ... jsr d105 ;motors_off
F11F CC B1 B2 ... ldd #b1b2
F122 BD EE 03 ... jsr ee03 ;jump36
F125 20 1D . bra 1d
-F127 BD D1 05 ... jsr d105 ;jump32
+F127 BD D1 05 ... jsr d105 ;motors_off
F12A CC 00 0A ... ldd #000a
F12D BD E5 71 ..q jsr e571 ;msdelay
F130 F6 18 00 ... ldab 1800
F155 BD E5 71 ..q jsr e571 ;msdelay
F158 7E EE 1C ~.. jmp ee1c ;goto81
-;send a byte to the printer?
-;it calls c7e7, which does things with the serial port
jump53:
+;send a byte to the printer
+;it calls c7e7, which does things with the serial port
F15B 37 7 pshb
F15C 36 6 psha
F15D F6 00 19 ... ldab 0019
F19D C1 30 .0 cmpb #30
F19F 26 08 &. bne 08
F1A1 CC 00 20 .. ldd #0020
-F1A4 BD C7 E7 ... jsr c7e7 ;jump37
+F1A4 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
F1A7 20 0D . bra 0d
F1A9 30 0 tsx
F1AA E6 01 .. ldab 01,x
F1AC 4F O clra
-F1AD BD C7 E7 ... jsr c7e7 ;jump37
+F1AD BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
F1B0 CE 00 1D ... ldx #001d
F1B3 1D 00 01 ... bclr 00,x, #01
F1B6 20 07 . bra 07
F1B8 30 0 tsx
F1B9 E6 01 .. ldab 01,x
F1BB 4F O clra
-F1BC BD C7 E7 ... jsr c7e7 ;jump37
+F1BC BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
F1BF 38 8 pulx
F1C0 39 9 rts
F21D 30 0 tsx
F21E E6 01 .. ldab 01,x
F220 4F O clra
-F221 BD E7 95 ... jsr e795 ;jump54
+F221 BD E7 95 ... jsr e795 ;jump54 - number to string
F224 F6 00 5D ..] ldab 005d
F227 4F O clra
F228 BD F1 5B ..[ jsr f15b ;jump53
F259 1C 00 01 ... bset 00,x, #01
F25C 30 0 tsx
F25D EC 00 .. ldd 00,x
-F25F BD E7 45 ..E jsr e745 ;jump55
+F25F BD E7 45 ..E jsr e745 ;jump55 - number to string
F262 F6 00 57 ..W ldab 0057
F265 4F O clra
F266 BD F1 5B ..[ jsr f15b ;jump53
F297 38 8 pulx
F298 39 9 rts
-jump61
-jump61::
+jump61:
F299 37 7 pshb
F29A 36 6 psha
-F29B F6 20 00 . . ldab 2000
-F29E C4 40 .@ andb #40
+F29B F6 20 00 . . ldab 2000
+F29E C4 40 .@ andb #40 ; printer DSR
F2A0 27 7B '{ beq 7b
F2A2 F6 00 17 ... ldab 0017
F2A5 C4 08 .. andb #08
F2A7 26 06 &. bne 06
-F2A9 CC 00 24 ..$ ldd #0024
+F2A9 CC 00 24 ..$ ldd #0024 ; "$"
F2AC BD F1 5B ..[ jsr f15b ;jump53
F2AF CE 00 1D ... ldx #001d
F2B2 1C 00 01 ... bset 00,x, #01
F2B5 30 0 tsx
F2B6 EC 00 .. ldd 00,x
-F2B8 BD E7 45 ..E jsr e745 ;jump55
+F2B8 BD E7 45 ..E jsr e745 ;jump55 - number to string
F2BB F6 00 57 ..W ldab 0057
F2BE 4F O clra
-F2BF BD F1 5B ..[ jsr f15b ;jump53
+F2BF BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2C2 F6 00 5A ..Z ldab 005a
F2C5 4F O clra
-F2C6 BD F1 5B ..[ jsr f15b ;jump53
+F2C6 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2C9 F6 00 13 ... ldab 0013
F2CC C1 08 .. cmpb #08
F2CE 26 0C &. bne 0c
F2D0 CC 00 2E ... ldd #002e
-F2D3 BD F1 5B ..[ jsr f15b ;jump53
+F2D3 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2D6 CE 00 1D ... ldx #001d
F2D9 1D 00 01 ... bclr 00,x, #01
F2DC F6 00 5D ..] ldab 005d
F2DF 4F O clra
-F2E0 BD F1 5B ..[ jsr f15b ;jump53
+F2E0 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2E3 F6 00 13 ... ldab 0013
F2E6 C1 04 .. cmpb #04
F2E8 26 0C &. bne 0c
F2EA CC 00 2E ... ldd #002e
-F2ED BD F1 5B ..[ jsr f15b ;jump53
+F2ED BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2F0 CE 00 1D ... ldx #001d
F2F3 1D 00 01 ... bclr 00,x, #01
F2F6 F6 00 5E ..^ ldab 005e
F2F9 4F O clra
-F2FA BD F1 5B ..[ jsr f15b ;jump53
+F2FA BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F2FD F6 00 13 ... ldab 0013
F300 C1 02 .. cmpb #02
F302 26 06 &. bne 06
F304 CC 00 2E ... ldd #002e
-F307 BD F1 5B ..[ jsr f15b ;jump53
+F307 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F30A CE 00 1D ... ldx #001d
F30D 1D 00 01 ... bclr 00,x, #01
F310 F6 00 5F .._ ldab 005f
F313 4F O clra
-F314 BD F1 5B ..[ jsr f15b ;jump53
+F314 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F317 CC 00 0A ... ldd #000a
-F31A BD F1 5B ..[ jsr f15b ;jump53
+F31A BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F31D 38 8 pulx
F31E 39 9 rts
F321 36 6 psha
F322 3C < pshx
F323 F6 20 00 . . ldab 2000
-F326 C4 40 .@ andb #40
+F326 C4 40 .@ andb #40 ; printer dsr
F328 26 03 &. bne 03
F32A 7E F3 BC ~.. jmp f3bc ;goto82
F32D F6 00 17 ... ldab 0017
F330 C4 08 .. andb #08
F332 26 06 &. bne 06
-F334 CC 00 24 ..$ ldd #0024
-F337 BD F1 5B ..[ jsr f15b ;jump53
+F334 CC 00 24 ..$ ldd #0024 ; "$"
+F337 BD F1 5B ..[ jsr f15b ;jump53 - byte to printer
F33A CE 00 1D ... ldx #001d
F33D 1C 00 01 ... bset 00,x, #01
F340 30 0 tsx
F343 37 7 pshb
F344 36 6 psha
F345 EC 02 .. ldd 02,x
-F347 BD E6 21 ..! jsr e621 ;jump56
+F347 BD E6 21 ..! jsr e621 ;jump56 - write to display
F34A 38 8 pulx
F34B C6 07 .. ldab #07
F34D F7 00 18 ... stab 0018
F414 39 9 rts
jump112:
+; print a report to printer
F415 F6 0B C0 ... ldab 0bc0
F418 C4 02 .. andb #02
F41A 27 15 '. beq 15
F45B BD F1 5B ..[ jsr f15b ;jump53
F45E CC B2 1B ... ldd #b21b " ROWE INTERNATIONAL"
F461 BD F1 E8 ... jsr f1e8 ;jump57
-F464 CC 00 0A ... ldd #000a
+F464 CC 00 0A ... ldd #000a ; new line
F467 BD F1 5B ..[ jsr f15b ;jump53
F46A CC B2 38 ..8 ldd #b238 " -------------------"
F46D BD F1 E8 ... jsr f1e8 ;jump57
-F470 CC 00 0A ... ldd #000a
+F470 CC 00 0A ... ldd #000a ; new line
F473 BD F1 5B ..[ jsr f15b ;jump53
-F476 CC B2 56 ..V ldd #b256
+F476 CC B2 56 ..V ldd #b256 ; "5900 SOFTWARE VER 5"
F479 BD F1 E8 ... jsr f1e8 ;jump57
-F47C CC 00 0A ... ldd #000a
+F47C CC 00 0A ... ldd #000a ; new line
F47F BD F1 5B ..[ jsr f15b ;jump53
-F482 CC 00 0A ... ldd #000a
+F482 CC 00 0A ... ldd #000a ; new line
F485 BD F1 5B ..[ jsr f15b ;jump53
-F488 CC B2 75 ..u ldd #b275
+F488 CC B2 75 ..u ldd #b275 ; ACCOUNT RECORD
F48B BD F1 E8 ... jsr f1e8 ;jump57
-F48E CC 00 0A ... ldd #000a
+F48E CC 00 0A ... ldd #000a ; new line
F491 BD F1 5B ..[ jsr f15b ;jump53
-F494 CC B2 38 ..8 ldd #b238
+F494 CC B2 38 ..8 ldd #b238 ; --------------------
F497 BD F1 E8 ... jsr f1e8 ;jump57
-F49A CC 00 0A ... ldd #000a
+F49A CC 00 0A ... ldd #000a ; new line
F49D BD F1 5B ..[ jsr f15b ;jump53
-F4A0 CC 00 0A ... ldd #000a
+F4A0 CC 00 0A ... ldd #000a ; new line
F4A3 BD F1 5B ..[ jsr f15b ;jump53
-F4A6 CC B2 90 ... ldd #b290
+F4A6 CC B2 90 ... ldd #b290 ; SERIAL #
F4A9 BD F1 E8 ... jsr f1e8 ;jump57
F4AC CE 00 0A ... ldx #000a
F4AF 3C < pshx
-F4B0 CC 0C BC ... ldd #0cbc
+F4B0 CC 0C BC ... ldd #0cbc ; serial number
F4B3 BD F1 C1 ... jsr f1c1 ;jump59
F4B6 38 8 pulx
F4B7 CC 00 0A ... ldd #000a
F4BA BD F1 5B ..[ jsr f15b ;jump53
-F4BD CC B2 A2 ... ldd #b2a2
+F4BD CC B2 A2 ... ldd #b2a2 ; "MACHINE ID"
F4C0 BD F1 E8 ... jsr f1e8 ;jump57
F4C3 CE 00 0A ... ldx #000a
F4C6 3C < pshx
F4CD 38 8 pulx
F4CE CC 00 0A ... ldd #000a
F4D1 BD F1 5B ..[ jsr f15b ;jump53
-F4D4 CC B2 B4 ... ldd #b2b4
+F4D4 CC B2 B4 ... ldd #b2b4 ; "AUDIT NUMBER"
F4D7 BD F1 E8 ... jsr f1e8 ;jump57
F4DA FC 0C E7 ... ldd 0ce7
-F4DD BD F2 4D ..M jsr f24d ;jump58
+F4DD BD F2 4D ..M jsr f24d ;jump58 - convert to string
F4E0 CC 00 0A ... ldd #000a
F4E3 BD F1 5B ..[ jsr f15b ;jump53
F4E6 CC 00 0A ... ldd #000a
F4E9 BD F1 5B ..[ jsr f15b ;jump53
-F4EC CC B2 C6 ... ldd #b2c6
+F4EC CC B2 C6 ... ldd #b2c6 ; "SALES (R)
F4EF BD F1 E8 ... jsr f1e8 ;jump57
F4F2 FE 0D E9 ... ldx 0de9
F4F5 3C < pshx
F4F6 FC 0D E7 ... ldd 0de7
F4F9 BD F3 1F ... jsr f31f ;jump60
F4FC 38 8 pulx
-F4FD CC B2 D8 ... ldd #b2d8
+F4FD CC B2 D8 ... ldd #b2d8 ; "SALES (N)
F500 BD F1 E8 ... jsr f1e8 ;jump57
F503 FE 0D ED ... ldx 0ded
F506 3C < pshx
F6E2 F6 00 19 ... ldab 0019
F6E5 C4 40 .@ andb #40
F6E7 26 07 &. bne 07
-F6E9 FE 0C E7 ... ldx 0ce7
+F6E9 FE 0C E7 ... ldx 0ce7 ;increment the audit number?
F6EC 08 . inx
F6ED FF 0C E7 ... stx 0ce7
F6F0 CE 00 1D ... ldx #001d
F70A C4 02 .. andb #02
F70C 27 06 '. beq 06
F70E CC 00 80 ... ldd #0080
-F711 BD C7 E7 ... jsr c7e7 ;jump37
+F711 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
F714 7F 00 38 ..8 clr 0038
F717 39 9 rts
rti:
F718 3C < pshx
-F719 F6 0B C0 ... ldab 0bc0
+F719 F6 0B C0 ... ldab 0bc0 ; if we have a bill validator
F71C C4 08 .. andb #08
F71E 27 03 '. beq 03
-F720 BD C3 25 ..% jsr c325 ;jump64
+F720 BD C3 25 ..% jsr c325 ;jump64 - go query the bill validator
F723 7C 00 0C |.. inc 000c
F726 F6 00 0C ... ldab 000c
F729 C1 02 .. cmpb #02
F77D 08 . inx
F77E 3C < pshx
F77F 20 DE . bra de ; to f75f
-
+;
F781 F6 00 32 ..2 ldab 0032
F784 27 07 '. beq 07 ; to f78d
F786 F6 00 32 ..2 ldab 0032
F789 C4 02 .. andb #02
F78B 26 08 &. bne 08 ; to f795
-
+;
F78D CE 10 00 ... ldx #1000 ; chime off
F790 1D 00 10 .. bclr 00,x, #10
F793 20 0D . bra 0d ; to f7a2
-
+;
F795 F6 00 32 ..2 ldab 0032
F798 C4 01 .. andb #01
F79A 26 06 &. bne 06 ; to f7a2
F79C CE 10 00 ... ldx #1000 ; chime on
F79F 1C 00 10 .. bset 00,x, #10
-
+;
F7A2 7C 00 4C |.L inc 004c
F7A5 F6 00 4C ..L ldab 004c
F7A8 C1 4B .K cmpb #4b
-F7AA 26 13 &. bne 13
+F7AA 26 13 &. bne 13 ; to f7bf
F7AC 7F 00 4C ..L clr 004c
F7AF F6 00 4F ..O ldab 004f
F7B2 27 03 '. beq 03
F7B4 7A 00 4F z.O dec 004f
+;
F7B7 F6 00 25 ..% ldab 0025
F7BA 27 03 '. beq 03
F7BC 7A 00 25 z.% dec 0025
+;
F7BF F6 00 31 ..1 ldab 0031
F7C2 26 03 &. bne 03
-F7C4 BD FE 69 ..i jsr fe69 ;inhibit interrupts
+F7C4 BD FE 69 ..i jsr fe69 ;reset
+;
F7C7 F6 00 7F ... ldab 007f
F7CA 27 03 '. beq 03
-F7CC BD FE 69 ..i jsr fe69 ;inhibit interrupts
+F7CC BD FE 69 ..i jsr fe69 ;reset
+;
F7CF C6 40 .@ ldab #40
-F7D1 F7 10 25 ..% stab 1025
+F7D1 F7 10 25 ..% stab 1025 ; notify end of RTI period
F7D4 38 8 pulx
F7D5 3B ; rti
main:
-
+;
F7D6 7F 00 14 ... clr 0014 ;0 -> 0014
-
+;
; clears the bits of U14 flipflop
F7D9 5F _ clrb ;0 -> B
F7DA F7 38 00 .8. stab 3800 ;B -> 3800
-
+;
F7DD C6 7F .. ldab #7f ;7F -> B
F7DF F7 00 1A ... stab 001a ;B -> 001a
-
+;
; set changer outputs all on, row motors off
F7E2 C6 7F .. ldab #7f ;7F -> B
F7E4 F7 30 00 .0. stab 3000 ;
-
+;
; sets priority select bits 0-3 (elevates interrupt priority of all interrupts)
F7E7 C6 07 .. ldab #07 ;7 -> B
F7E9 F7 10 3C ..< stab 103c
-
+;
; Set PA7 output, PA3 input, RT clock rate to 314 Hz (4.9152Mhz / 2^14)
F7EC C6 81 .. ldab #81 ;81 -> B
F7EE F7 10 26 ..& stab 1026
-
+;
; clear ADC register
F7F1 5F _ clrb ;0 -> B
F7F2 F7 10 30 ..0 stab 1030
-
+;
; talk to coin mech, beep, tie clock motors & display reset high (off)
F7F5 C6 C8 .. ldab #c8 ;c8 -> B ; 11001000
F7F7 F7 10 00 ... stab 1000 ; to port A
-
+;
; sets PortD directions. XXX: Why is PD2 an output?
F7FA C6 3E .> ldab #3e ;3e -> B 00111110
F7FC F7 10 09 ... stab 1009 ; port D DDR
-
+;
; make PortD pins open-drain, set clock polarity
F7FF C6 12 .. ldab #12 ;12 -> B
F801 F7 10 28 ..( stab 1028 ; SPCR 00101000
-
+;
; initialize the display
F804 BD BE 69 ..i jsr be69 ;displayreset
-
-; initialize the bill validator
+;
+; initialize the bill validator & more stuff
F807 BD EA 59 ..Y jsr ea59 ;jump65
-
+;
F80A CC 00 64 ..d ldd #0064 ; 100-unit delay
F80D BD E5 71 ..q jsr e571 ;msdelay
; lotsa text
F837 BD C0 BA ... jsr c0ba ;display:
F83A CC 00 0A ... ldd #000a
F83D BD E5 71 ..q jsr e571 ;msdelay
-
-
+;
+;
F840 7F 00 7F ... clr 007f
F843 7F 00 21 ..! clr 0021
F846 7F 00 1F ... clr 001f
F849 7F 00 1D ... clr 001d
F84C 7F 00 1B ... clr 001b
F84F 7F 00 19 ... clr 0019
-
+;
F852 F6 0B C0 ... ldab 0bc0
F855 C4 01 .. andb #01
F857 27 08 '. beq 08 ; to f861
F859 CE 0B C1 ... ldx #0bc1
-F85C 1C 00 01 ... bset 00,x, #01
+F85C 1C 00 01 ... bset 00,x, #01 ; set changer powerup fail
F85F 20 06 . bra 06 ; to f867
F861 CE 0B C1 ... ldx #0bc1
-F864 1D 00 01 ... bclr 00,x, #01
-
+F864 1D 00 01 ... bclr 00,x, #01 ; clear changer powerup fail
+;
F867 F6 0B C0 ... ldab 0bc0
F86A C4 04 .. andb #04
F86C 27 08 '. beq 08 ; to f876
F86E CE 0B C1 ... ldx #0bc1
-F871 1C 00 02 ... bset 00,x, #02
+F871 1C 00 02 ... bset 00,x, #02 ; set card powerup fail
F874 20 06 . bra 06 ; to f87c
F876 CE 0B C1 ... ldx #0bc1
-F879 1D 00 02 .. bclr 00,x, #02
+F879 1D 00 02 .. bclr 00,x, #02 ; clear card powerup fail
F87C CE 0B C1 ... ldx #0bc1
-F87F 1D 00 04 .. bclr 00,x, #04
+F87F 1D 00 04 .. bclr 00,x, #04 ; clear link powerup fail
F882 F6 0B C0 ... ldab 0bc0
F885 C4 02 .. andb #02
F887 27 2D '- beq 2d ; to f8b6
F88B F7 00 31 ..1 stab 0031
F88E 0E . cli
F88F CC 00 FF ... ldd #00ff
-F892 BD C7 E7 ... jsr c7e7 ;jump37
+F892 BD C7 E7 ... jsr c7e7 ;jump37 - send to serial port
F895 5F _ clrb
F896 4F O clra
F897 FD 00 40 ..@ std 0040
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
F8F9 C6 1E .. ldab #1e
F8FB F7 00 35 ..5 stab 0035
F8FE 0E . cli
-
+;
; begin of main loop
goto85:
+; test power lines
F8FF BD E6 1B ... jsr e61b ;jump4 set 0031 to 10
-F902 BD D1 05 ... jsr d105 ;jump32 motors off
+F902 BD D1 05 ... jsr d105 ;motors_off
F905 F6 10 0A ... ldab 100a
F908 C4 08 .. andb #08 ; 24VUN line too low
F90A 27 46 'F beq 46 ; to f952
F90C F6 10 0A ... ldab 100a
F90F C4 08 .. andb #08
-F911 27 11 '. beq 11
+F911 27 11 '. beq 11 ; to f924
F913 CE 00 1A ... ldx #001a
F916 1C 00 04 .. bset 00,x, #04
F919 F6 00 1A ... ldab 001a
F91C F7 30 00 .0. stab 3000 ; changer reset
-F91F BD E6 1B ... jsr e61b ;jump4
-F922 20 E8 . bra e8
-F924 BD D0 94 ... jsr d094 ;jump66
+F91F BD E6 1B ... jsr e61b ;jump4 put #0a => 0031
+F922 20 E8 . bra e8 ; to f90c
+;
+F924 BD D0 94 ... jsr d094 ;jump66 - reset some variables to defaults?
F927 F6 0B C0 ... ldab 0bc0
F92A C4 01 .. andb #01
F92C 27 06 '. beq 06
F92E CE 0B C1 ... ldx #0bc1
-F931 1C 00 01 .. bset 00,x, #01
+F931 1C 00 01 .. bset 00,x, #01 ; set changer powerup fail
F934 F6 0B C0 ... ldab 0bc0
F937 C4 04 .. andb #04
F939 27 06 '. beq 06
F93B CE 0B C1 ... ldx #0bc1
-F93E 1C 00 02 .. bset 00,x, #02
+F93E 1C 00 02 .. bset 00,x, #02 ; set card powerup fail
F941 CE 00 1A ... ldx #001a
F944 1D 00 04 .. bclr 00,x, #04
F947 F6 00 1A ... ldab 001a
F94D C6 1E .. ldab #1e
F94F F7 00 35 ..5 stab 0035
;
+; end of power line test
+;
+;
+; chat to the bill validator if we need to
+;
F952 F6 0B C0 ... ldab 0bc0
F955 C4 08 .. andb #08
-F957 27 16 '. beq 16 ; to f96f
+F957 27 16 '. beq 16 ; to f96f if no bill validator
F959 CE 00 02 ... ldx #0002
F95C 3C < pshx
F95D CC 10 00 ... ldd #1000
F96C 1C 00 08 .. bset 00,x, #08 ; set bill error bit
;
F96F F6 0B C1 ... ldab 0bc1
-F972 C4 07 .. andb #07
+F972 C4 07 .. andb #07 ; was there a power failure?
F974 27 0D '. beq 0d ; to f983
F976 F6 00 35 ..5 ldab 0035
F979 26 08 &. bne 08
F97E 1C 00 20 .. bset 00,x, #20
F981 20 06 .. bra 06 ; to f989
;
+;
F983 CE 00 21 ..! ldx #0021
F986 1D 00 20 .. bclr 00,x, #20
F989 BD BB 63 . jsr bb63 ;jump200 - read the keypad
F99E BD D6 F6 ... jsr d6f6 ;jump106
F9A1 F6 00 12 ... ldab 0012
F9A4 C4 20 . andb #20 ; test door switch
-F9A6 27 08 '. beq 08
+F9A6 27 08 '. beq 08 ; to f9b0
F9A8 F6 00 35 ..5 ldab 0035
F9AB 26 03 &. bne 03
F9AD 7E FA 79 ~.y jmp fa79 ;goto83
+;
F9B0 CE 00 1F ... ldx #001f
F9B3 1D 00 04 ... bclr 00,x, #04
F9B6 CE 00 1D ... ldx #001d
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
-FA0C BD C7 E7 ... jsr c7e7 ;jump37
+FA0C BD C7 E7 ... jsr c7e7 ;jump37 - send #ff to coin mech
FA0F 5F _ clrb
FA10 4F O clra
FA11 FD 00 40 ..@ std 0040
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
FA67 CE 00 1F ... ldx #001f
-FA6A 1D 00 .. bclr add,x 00,x
-FA6C 20 C6 . bra c6
-FA6E 1E F7 00 35 ...5 brset f7,x 00 35
+FA6A 1D 00 20 .. bclr 00,x, #20
+FA6D C6 1E . ldab #1e
+FA6F F7 00 35 ...5 stab 0035
FA72 20 03 . bra 03
goto84:
FA74 BD DE E7 ... jsr dee7 ;jump116
goto83:
FA79 F6 00 12 ... ldab 0012
FA7C C4 20 . andb #20
-FA7E 27 5F '_ beq 5f
+FA7E 27 5F '_ beq 5f ; to fadf - restart loop
FA80 F6 00 1F ... ldab 001f
FA83 C4 20 . andb #20
FA85 26 03 &. bne 03
FA87 BD E5 AA ... jsr e5aa ;jump12
FA8A CE 00 1F ... ldx #001f
-FA8D 1C 00 .. bset add,x 00,x
-FA8F 20 F6 . bra f6
-FA91 00 . test
-FA92 12 . brset
+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
-FAAE 1C 00 .. bset add,x 00,x
-FAB0 80 CC .. suba #cc
-FAB2 02 . idiv
-FAB3 33 3 pulb
+FAAE 1C 00 .. bset 00,x, #80
+FAB0 CC 02 33 .. ldd #0233
FAB4 FD 00 3B ..; std 003b
FAB7 20 09 . bra 09 ; to fac2
;
-FAB9 BD E5 AA ... jsr e5aa ;jump12
+FAB9 BD E5 AA ... jsr e5aa ;jump12 - beep if key pressed?
FABC CE 00 1F ... ldx #001f
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
FBAB CC 07 D0 ... ldd #07d0
FBAE BD E5 71 ..q jsr e571 ;msdelay
FBB1 3B ; rti
-FBB2 BD FE 69 ..i jsr fe69 ;inhibit interrupts
+FBB2 BD FE 69 ..i jsr fe69 ;reset
FBB5 3B ; rti
-FBB6 BD FE 69 ..i jsr fe69 ;inhibit interrupts
+FBB6 BD FE 69 ..i jsr fe69 ;reset
FBB9 3B ; rti
jump38:
; passed a u16 on the stack, i, and a u16 in D, j
-; multiplication funciton of some sort?
+; i *think* it multiplies i*j and returns it in D.
+; but the assembly seems to have several off-by-one errors
FBBA 3C < pshx
FBBB 37 7 pshb
FBBC 30 0 tsx
FBBF 3D = mul ; A*B => D
FBC0 A6 00 .. ldaa 00,x
FBC2 37 7 pshb
-FBC3 E6 05 .. ldab 05,x
+FBC3 E6 05 .. ldab 05,x ; upper byte of return address??
FBC5 3D = mul
FBC6 32 2 pula
-FBC7 1B . aba
+FBC7 1B . aba ; a now contains ad+bc
FBC8 33 3 pulb
FBC9 36 6 psha
FBCA A6 06 .. ldaa 06,x
FBCD 37 7 pshb
FBCE AB 00 .. adda 00,x
FBD0 36 6 psha
-FBD1 EC 03 .. ldd 03,x
-FBD3 ED 05 .. std 05,x
+FBD1 EC 03 .. ldd 03,x ; move saved value of X
+FBD3 ED 05 .. std 05,x ; into the return address???
FBD5 38 8 pulx
FBD6 8F . xgdx
FBD7 83 00 00 ... subd #0000
FC24 39 9 rts
jump85:
+; long addition function?
FC25 3C < pshx
FC26 30 0 tsx
FC27 E3 06 .. addd 06,x
FC4A 31 1 ins
FC4B 39 9 rts
-jump83:
+
+
+; bigdivide: and bigmodulus: are a division function and a remainder function
+; for stupidly huge numbers.
+;
+;
+; the number in D is prepended to the number at the top of the stack
+; eg, 0x0f in D and 0x4240 on stack => 0x0f4240 = 1000000
+;
+bigdivide:
FC4C 3C < pshx
FC4D 3C < pshx
FC4E 37 7 pshb
FC57 A7 04 .. staa 04,x
FC59 7E FC 6D ~.m jmp fc6d ;goto88
-jump82:
+bigmodulus:
FC5C 3C < pshx
FC5D 3C < pshx
FC5E 37 7 pshb
FC66 86 01 .. ldaa #01
FC68 A7 04 .. staa 04,x
FC6A 7E FC 6D ~.m jmp fc6d ;goto88
+;
goto88:
FC6D 1A EE 0E ... ldy 0e,x
FC70 EC 08 .. ldd 08,x
FC83 ED 06 .. std 06,x
FC85 EC 0A .. ldd 0a,x
FC87 1A A3 0E ... cmpd 0e,x
-FC8A 22 23 "# bhi 23
-FC8C 27 15 '. beq 15
+FC8A 22 23 "# bhi 23 ; to fcaf
+FC8C 27 15 '. beq 15 ; to fca3
+;
FC8E 1E 04 01 08 .... brset 04,x 01 08
FC92 CC 00 00 ... ldd #0000
FC95 ED 14 .. std 14,x
-FC97 7E FE 04 ~.. jmp fe04 ;goto89
+FC97 7E FE 04 ~.. jmp fe04 ;goto89 - return
FC9A EC 0C .. ldd 0c,x
FC9C ED 14 .. std 14,x
FC9E EC 0A .. ldd 0a,x
FCA0 7E FD E3 ~.. jmp fde3 ;goto90
+;
FCA3 83 00 00 ... subd #0000
-FCA6 27 12 '. beq 12
+FCA6 27 12 '. beq 12 ; to fcba
FCA8 EC 0C .. ldd 0c,x
FCAA 1A A3 10 ... cmpd 10,x
-FCAD 25 DF %. bcs df
+FCAD 25 DF %. bcs df ; to fc8e
+;
FCAF 6D 0E m. tst 0e,x
-FCB1 26 70 &p bne 70
+FCB1 26 70 &p bne 70 ; to fd23
FCB3 6D 0F m. tst 0f,x
-FCB5 27 1A '. beq 1a
+FCB5 27 1A '. beq 1a ; to fcd1
FCB7 7E FD A4 ~.. jmp fda4 ;goto91
+;
FCBA 3C < pshx
FCBB 3C < pshx
FCBC 18 38 .8 puly
FCCC 4F O clra
FCCD 5F _ clrb
FCCE 7E FD E3 ~.. jmp fde3 ;goto90
+;
FCD1 3C < pshx
FCD2 3C < pshx
FCD3 18 38 .8 puly
FCE1 CD EF 0E ... stx 02x,y
FCE4 38 8 pulx
FCE5 18 E3 0C ... addd 0c,y
-FCE8 24 1B $. bcc 1b
+FCE8 24 1B $. bcc 1b ; to fd05
+;
FCEA 18 ED 0C ... std 0c,y
FCED 4F O clra
FCEE C6 01 .. ldab #01
FCFE 8F . xgdx
FCFF 38 8 pulx
FD00 18 E3 0C ... addd 0c,y
-FD03 25 E5 %. bcs e5
+FD03 25 E5 %. bcs e5 ; to fcea
FD05 02 . idiv
+;
FD06 8F . xgdx
FD07 18 E3 0E ... addd 0e,y
FD0A 24 03 $. bcc 03
FD1C ED 14 .. std 14,x
FD1E EC 0A .. ldd 0a,x
FD20 7E FD E3 ~.. jmp fde3 ;goto90
-FD23 86 08 .. ldaa #08
-FD25 A7 05 .. staa 05,x
-FD27 69 i rol
-FD28 0D . sec
-FD29 69 i rol
-FD2A 0C . clc
-FD2B 69 i rol
-FD2C 0B . sev
-FD2D 69 i rol
-FD2E 0A . clv
-FD2F 69 i rol
-FD30 09 . dex
+;
+FD23 86 08 .. ldaa #08 ; for i = 8
+FD25 A7 05 .. staa 05,x ; do
+FD27 69 0D i. rol 0d,x
+FD29 69 0C i. rol 0c,x
+FD2B 69 0B i. rol 0b,x
+FD2D 69 0A i. rol 0a,x
+FD2F 69 09 i. rol 09,x
FD31 EC 0B .. ldd 0b,x
FD33 A3 10 .. subd 10,x
FD35 ED 14 .. std 14,x
FD37 EC 09 .. ldd 09,x
FD39 E2 0F .. sbcb 0f,x
FD3B A2 0E .. sbca 0e,x
-FD3D 25 06 %. bcs 06
+FD3D 25 06 %. bcs 06 ; to fd45
FD3F ED 09 .. std 09,x
FD41 EC 14 .. ldd 14,x
FD43 ED 0B .. std 0b,x
-FD45 6A 05 j. dec 05,x
-FD47 26 DE &. bne de
-FD49 69 i rol
-FD4A 0D . sec
-FD4B 1F 04 01 09 .... brclr 04,x 01 09
+FD45 6A 05 j. dec 05,x ; i--
+FD47 26 DE &. bne de ; to fd27
+;
+FD49 69 0D i. rol 0d,x
+FD4B 1F 04 01 09 .... brclr 04,x 01 09 ; to fd58
FD4F EC 0B .. ldd 0b,x
FD51 ED 14 .. std 14,x
FD53 EC 09 .. ldd 09,x
FD55 7E FD E3 ~.. jmp fde3 ;goto90
+;
FD58 4F O clra
FD59 E6 0D .. ldab 0d,x
FD5B 53 S comb
FD5C ED 14 .. std 14,x
FD5E 5F _ clrb
FD5F 7E FD E3 ~.. jmp fde3 ;goto90
-FD62 86 10 .. ldaa #10
-FD64 A7 05 .. staa 05,x
-FD66 69 i rol
-FD67 0D . sec
-FD68 69 i rol
-FD69 0C . clc
-FD6A 69 i rol
-FD6B 0B . sev
-FD6C 69 i rol
-FD6D 0A . clv
-FD6E 69 i rol
-FD6F 09 . dex
-FD70 69 i rol
-FD71 08 . inx
+;
+FD62 86 10 .. ldaa #10 ; for i = 16
+FD64 A7 05 .. staa 05,x ; do
+FD66 69 0D i. rol 0d,x
+FD68 69 0C i. rol 0c,x
+FD6A 69 0B i. rol 0b,x
+FD6C 69 0A i. rol 0a,x
+FD6E 69 09 i. rol 09,x
+FD70 69 08 i. rol 08,x
FD72 EC 0A .. ldd 0a,x
FD74 A3 10 .. subd 10,x
FD76 ED 14 .. std 14,x
FD78 EC 08 .. ldd 08,x
FD7A E2 0F .. sbcb 0f,x
FD7C 82 00 .. sbca #00
-FD7E 25 06 %. bcs 06
+FD7E 25 06 %. bcs 06 ; continue
FD80 ED 08 .. std 08,x
FD82 EC 14 .. ldd 14,x
FD84 ED 0A .. std 0a,x
-FD86 6A 05 j. dec 05,x
-FD88 26 DC &. bne dc
-FD8A 69 i rol
-FD8B 0D . sec
-FD8C 69 i rol
-FD8D 0C . clc
+FD86 6A 05 j. dec 05,x ; i--
+FD88 26 DC &. bne dc ; to fd66
+;
+FD8A 69 0D i. rol 0d,x
+FD8C 69 0C i. rol 0c,x
FD8E 1F 04 01 08 .... brclr 04,x 01 08
FD92 EC 0A .. ldd 0a,x
FD94 ED 14 .. std 14,x
FD96 EC 08 .. ldd 08,x
-FD98 20 49 I bra 49
+FD98 20 49 I bra 49 ;goto90
FD9A EC 0C .. ldd 0c,x
FD9C 43 C coma
FD9D 53 S comb
FD9E ED 14 .. std 14,x
FDA0 4F O clra
FDA1 5F _ clrb
-FDA2 20 3F ? bra 3f
+FDA2 20 3F ? bra 3f ;goto90
goto91:
-FDA4 2B BC +. bmi bc
-FDA6 86 10 .. ldaa #10
-FDA8 A7 05 .. staa 05,x
-FDAA 69 i rol
-FDAB 0D . sec
-FDAC 69 i rol
-FDAD 0C . clc
-FDAE 69 i rol
-FDAF 0B . sev
-FDB0 69 i rol
-FDB1 0A . clv
-FDB2 69 i rol
-FDB3 07 . tpa
+FDA4 2B BC +. bmi bc ; to fd62 if minus
+FDA6 86 10 .. ldaa #10 ; for i = 16
+FDA8 A7 05 .. staa 05,x ; do
+FDAA 69 0D i rol 0d,x
+FDAC 69 0C i rol 0c,x
+FDAE 69 0B i rol 08,x
+FDB0 69 0A i rol 0a,x
+FDB2 69 07 i rol 07,x
FDB4 EC 0A .. ldd 0a,x
FDB6 A3 10 .. subd 10,x
FDB8 ED 14 .. std 14,x
FDBA A6 07 .. ldaa 07,x
FDBC A2 0F .. sbca 0f,x
-FDBE 25 06 %. bcs 06
+FDBE 25 06 %. bcs 06 ;continue
FDC0 A7 07 .. staa 07,x
FDC2 EC 14 .. ldd 14,x
FDC4 ED 0A .. std 0a,x
FDC6 6A 05 j. dec 05,x
-FDC8 26 E0 &. bne e0
-FDCA 69 i rol
-FDCB 0D . sec
-FDCC 69 i rol
-FDCD 0C . clc
-FDCE 1F 04 01 09 .... brclr 04,x 01 09
+FDC8 26 E0 &. bne e0 ;reloop
+;
+FDCA 69 0D i. rol 0d,x
+FDCC 69 0C i. rol 0c,x
+FDCE 1F 04 01 09 .... brclr 04,x 01 09 ;to fddb
FDD2 EC 0A .. ldd 0a,x
FDD4 ED 14 .. std 14,x
FDD6 4F O clra
FDD7 E6 07 .. ldab 07,x
-FDD9 20 08 . bra 08
+FDD9 20 08 . bra 08 ;goto90
+;
FDDB EC 0C .. ldd 0c,x
FDDD 43 C coma
FDDE 53 S comb