stuff
[uccvend-snackrom.git] / ROM-2003 / vend.asm
index 70e215b..e0c0428 100644 (file)
@@ -1,14 +1,14 @@
-;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
@@ -32,6 +32,8 @@
 ;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 
 ;0054   0..100
 ;0056   last known keypad row 1 state
 ;005b   last known keypad row 0 state
-;005d                                     dollars
-;005e   Y in location XY (row?)           cents1
-;005f   X in location XY (column?)        cents2
+;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)
 ;0bbd   
 ;0bd8   related to 0017 and 0021 (only lower 3 bits used)
 ;0bd9   also related
-;0bc0   bit 0, 2, 1, 3
+;0bc0   machine capabilities flags
+;         bit0: have dumb mech
+;         bit1: 
+;         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
 ; 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)
@@ -391,7 +449,7 @@ 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
@@ -413,6 +471,7 @@ jump72:
 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
@@ -898,6 +957,7 @@ jump14:
 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 
@@ -916,7 +976,7 @@ jump28:
 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
@@ -931,7 +991,7 @@ jump28:
 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
@@ -946,7 +1006,7 @@ jump28:
 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
@@ -961,7 +1021,7 @@ jump28:
 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
@@ -1390,7 +1450,7 @@ jump17:
 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
@@ -1437,7 +1497,7 @@ goto8:
 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
@@ -1450,7 +1510,7 @@ goto8:
 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
@@ -1679,7 +1739,7 @@ jump18:
 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
@@ -1698,7 +1758,7 @@ jump18:
 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
@@ -1739,7 +1799,7 @@ jump18:
 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
@@ -1752,7 +1812,7 @@ jump18:
 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
@@ -2307,8 +2367,8 @@ jump22:
 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
@@ -2364,7 +2424,7 @@ jump22:
 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
@@ -2855,7 +2915,7 @@ jump147:
 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:
@@ -3561,58 +3621,59 @@ jump142:
 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
@@ -3625,13 +3686,13 @@ jump100:
 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 
@@ -3806,7 +3867,7 @@ A0CC 4F              O     clra
 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
@@ -3816,7 +3877,7 @@ A0E4 4F              O     clra
 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
@@ -3974,7 +4035,7 @@ 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
@@ -4028,6 +4089,7 @@ A2D2 38              8     pulx
 A2D3 39              9     rts 
 
 jump79:
+; displays a price on screen?
 A2D4 37              7     pshb 
 A2D5 36              6     psha 
 A2D6 30              0     tsx 
@@ -4048,19 +4110,20 @@ A2FB E6 05           ..    ldab 05,x
 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 
@@ -4092,17 +4155,17 @@ A346 EC 04           ..    ldd 04,x
 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 
@@ -4238,6 +4301,7 @@ A455 BD A3 6C        ..l   jsr a36c               ;jump81
 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
@@ -7365,28 +7429,28 @@ B91C 7F 00 2C        ..,   clr 002c
 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
@@ -7444,22 +7508,26 @@ B9CE 7F 00 2C        ..,   clr 002c
 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
@@ -8336,7 +8404,7 @@ C0B8 38              8     pulx
 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 
@@ -8654,6 +8722,7 @@ C323 01              .     nop
 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
@@ -8776,14 +8845,15 @@ C452 F7 30 00        .0.   stab 3000    ; changer outputs again
 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
@@ -8893,7 +8963,7 @@ C577 5F              _     clrb
 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
@@ -8902,7 +8972,7 @@ C589 CE 00 1A        ...   ldx #001a
 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
@@ -8910,7 +8980,7 @@ C5A1 F6 00 1A        ...   ldab 001a
 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
@@ -8925,8 +8995,8 @@ goto39:
 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
@@ -9331,7 +9401,7 @@ C943 25 12           %.    bcs 12       ; to c957
 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
 ;
@@ -9406,9 +9476,9 @@ C9DD 20 7A            z    bra 7a       ;goto51 - inc 0008 & 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
 ;
@@ -9512,7 +9582,7 @@ CABA 1C 00           ..    bset 00,x, #20
 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
@@ -9946,7 +10016,7 @@ CE39 20 0B            .    bra 0b       ; to ce46 (exit)
 goto54: ; just swallow two bytes?
 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:
@@ -9954,12 +10024,14 @@ CE46 31              1     ins
 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
@@ -9993,13 +10065,15 @@ CE96 C6 08           ..    ldab #08
 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
@@ -10033,13 +10107,15 @@ CEF1 C6 10           ..    ldab #10
 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
@@ -10073,13 +10149,15 @@ CF4C C6 20           .     ldab #20
 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
@@ -10113,13 +10191,15 @@ CFA7 C6 10           ..    ldab #10
 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
@@ -10153,7 +10233,9 @@ D002 C6 20           .     ldab #20
 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
@@ -10192,7 +10274,8 @@ D059 F7 0B DA        ...   stab 0bda
 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 
@@ -10259,11 +10342,11 @@ D0C9 C6 03           ..    ldab #03
 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
@@ -10427,18 +10510,18 @@ D213 F6 00 1F        ...   ldab 001f
 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     ; am i link master?
 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 - 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
@@ -10739,9 +10822,10 @@ D478 39              9     rts
 
 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 
@@ -10755,9 +10839,9 @@ D492 A4 00           ..    anda 00,x
 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     ; 80
 D4A5 25 03           %.    bcs 03
@@ -10838,7 +10922,7 @@ D53D AA 00           ..    ora 00,x
 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 
@@ -10852,7 +10936,7 @@ D554 A4 00           ..    anda 00,x
 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 
 
@@ -11018,13 +11102,13 @@ D66A 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
@@ -11074,31 +11158,33 @@ D6F2 BD C0 E0        ...   jsr c0e0           ;jump94
 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:
@@ -11545,7 +11631,7 @@ DA71 02              .     idiv
 DA72 8F              .     xgdx 
 DA73 37              7     pshb 
 DA74 36              6     psha 
-DA75 CC 00 C3        ...   ldd #00c3
+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
@@ -11555,7 +11641,7 @@ DA82 FD 0B B9        ...   std 0bb9
 DA85 FC 0B B9        ...   ldd 0bb9
 DA88 37              7     pshb 
 DA89 36              6     psha 
-DA8A CC 00 0A        ...   ldd #000a
+DA8A CC 00 0A        ...   ldd #000a    ; 10
 DA8D BD FB BA        ...   jsr fbba            ;jump38 - multiply?
 DA90 37              7     pshb 
 DA91 36              6     psha 
@@ -11569,7 +11655,7 @@ DA9C 02              .     idiv
 DA9D 8F              .     xgdx 
 DA9E 37              7     pshb 
 DA9F 36              6     psha 
-DAA0 CC 00 0A        ...   ldd #000a
+DAA0 CC 00 0A        ...   ldd #000a    ; 10
 DAA3 BD FB BA        ...   jsr fbba            ;jump38 - multiply?
 DAA6 CE 00 0A        ...   ldx #000a
 DAA9 02              .     idiv 
@@ -11837,7 +11923,7 @@ DCC8 37              7     pshb
 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 
@@ -12133,12 +12219,12 @@ 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
@@ -12263,7 +12349,7 @@ E074 BD E7 C7        ...   jsr e7c7             ;jump114
 E077 F6 00 06        ...   ldab 0006
 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
@@ -12553,7 +12639,7 @@ E2F2 24 15           $.    bcc 15
 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
 E304 7F 00 25        ..%   clr 0025
@@ -12888,7 +12974,7 @@ 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 
 
@@ -12959,6 +13045,7 @@ E61D F7 00 31        ..1   stab 0031
 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 
@@ -12971,14 +13058,15 @@ E62C 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 
@@ -12986,20 +13074,21 @@ E646 36              6     psha
 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 
@@ -13007,20 +13096,21 @@ E66C 36              6     psha
 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 
@@ -13028,20 +13118,21 @@ E692 36              6     psha
 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 
@@ -13049,20 +13140,22 @@ E6B8 36              6     psha
 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 
@@ -13070,20 +13163,21 @@ E6DE 36              6     psha
 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 
@@ -13091,20 +13185,21 @@ E704 36              6     psha
 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 
@@ -13112,14 +13207,15 @@ E72A 36              6     psha
 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 
@@ -14361,9 +14457,9 @@ F152 CC 05 DC        ...   ldd #05dc
 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
@@ -14526,17 +14622,16 @@ F294 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
@@ -14545,42 +14640,42 @@ F2B6 EC 00           ..    ldd 00,x
 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 
 
@@ -14590,14 +14685,14 @@ F320 37              7     pshb
 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 
@@ -14605,7 +14700,7 @@ F341 EC 04           ..    ldd 04,x
 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
@@ -14704,6 +14799,7 @@ F413 38              8     pulx
 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
@@ -14733,33 +14829,33 @@ F458 CC 00 18        ...   ldd #0018
 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
@@ -14773,22 +14869,22 @@ F4CA BD F1 C1        ...   jsr f1c1           ;jump59
 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 
@@ -14979,7 +15075,7 @@ F6DF BD F1 5B        ..[   jsr f15b             ;jump53
 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
@@ -15000,10 +15096,10 @@ 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
@@ -15238,6 +15334,7 @@ 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            ;motors_off
 F905 F6 10 0A        ...   ldab 100a
@@ -15271,9 +15368,14 @@ F94A F7 30 00        .0.   stab 3000   ; clear send & reset lines
 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
@@ -15285,7 +15387,7 @@ F969 CE 0B C1        ...   ldx #0bc1
 F96C 1C 00 08        ..    bset 00,x, #08 ; set bill error bit
 ;
 F96F F6 0B C1        ...   ldab 0bc1
-F972 C4 07           ..    andb #07     ; test for power failures
+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
@@ -15293,6 +15395,7 @@ F97B CE 00 21        ..!   ldx #0021
 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
@@ -15306,10 +15409,11 @@ F99C 26 03           &.    bne 03
 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
@@ -15520,7 +15624,8 @@ 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 
@@ -15528,10 +15633,10 @@ FBBD E6 06           ..    ldab 06,x   ; lower 8-bits of i
 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
@@ -15539,8 +15644,8 @@ FBCC 3D              =     mul
 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
@@ -15603,6 +15708,7 @@ FC23 31              1     ins
 FC24 39              9     rts 
 
 jump85:
+; long addition function?
 FC25 3C              <     pshx 
 FC26 30              0     tsx 
 FC27 E3 06           ..    addd 06,x
@@ -15629,7 +15735,16 @@ FC49 31              1     ins
 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 
@@ -15643,7 +15758,7 @@ FC56 4F              O     clra
 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 
@@ -15656,6 +15771,7 @@ FC65 30              0     tsx
 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
@@ -15671,26 +15787,30 @@ FC81 ED 08           ..    std 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 
@@ -15704,6 +15824,7 @@ FCCA ED 14           ..    std 14,x
 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 
@@ -15718,7 +15839,8 @@ FCE0 03              .     fdiv
 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
@@ -15732,8 +15854,9 @@ FCFB 18 ED 0E        ...   std 0e,y
 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
@@ -15746,120 +15869,106 @@ FD1B 38              8     pulx
 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 

UCC git Repository :: git.ucc.asn.au