;RES1 

;disassembled by Sean Riddle - www.seanriddle.com/videobrain.html
;1/25/2010

org $4000

;VLSI registers
;write only
VID_COMMAND:	equ $08F7
VID_BKGCOLOR:	equ $08F5
VID_FINALMOD:	equ $08F2
VID_YINTLOW:	equ $08f0


;read only
VID_XFREEZE	equ $08f8
VID_YFREEZELO	equ $08f9
VID_YFREEZEHI	equ $08fA	;and odd/even frame, and y current hi
VID_CURYLO	equ $08fB


;16 registers in each range, 1 per sprite, read/write
VID_RPL:	equ 0x800	;sprite bitmap low address bits
VID_RPH:	equ 0x810	;sprite bitmap hi address bits and color
VID_DELX:	equ 0x820	;sprite width, intensity, xcopy bit
VID_DELY:	equ 0x830	;sprite height
VID_XV:		equ 0x840	;sprite x-position
VID_YVLA:	equ 0x850	;sprite y-position low list A
VID_YVLB:	equ 0x860	;sprite y-position low list B
VID_YXA:	equ 0x870	;sprite y-position hi and x order list A
VID_YXB:	equ 0x880	;sprite y-position hi and x order list B

;RAM $0C00-$0FFF
RAMSTART:	equ $0C00	;RAM from $0C00 to $0FFF
FIRSTCHAR:	equ $0C2F	;display buffer $0C2F to $0F3E

TXTBUF:		equ $0F3F	;TEXT editor buffer - 7x16=112 bytes
CURSORPOS:	equ $0FDF
SHIFTSTATE:	equ $0FE2
WARMBOOTFLAG:	equ $0FE4	;set to $AA to indicate warm boot
BKGCOLOR:	equ $0FE9
VIDEOMODE:	equ $0FEA

;CARTS $1000-$1FFF
CARTSTART:	equ $1000	;where carts appear in memory
CARTBKGCOLOR:	equ $1002	;set when name of cart printed
CARTNAME:	equ $1003	;the name of the cart
CARTCODE:	equ $1012	;jump here to run the cart

;RES2 $2000-$27FF
FONT:		equ $2010	;7 bytes per character
PRINTWRKEY:	equ $2468
MONTEXT:	equ $2437
JANTEXT:	equ $245b
SELKEYTEXT:	equ $23EF

                DI                       ; 4000 1a			reset jumps here (actually $0000)
                LR   J,W                 ; 4001 1e
                PI   SETUPSTACK          ; 4002 28 40 d0
                DCI  WARMBOOTFLAG        ; 4005 2a 0f e4	warm boot flag
                LR   Q,DC                ; 4008 0e
                LI   $aa		         ; 4009 20 aa		
                CM                       ; 400b 8d
                BT   4,WARMBOOT          ; 400c 84 12		if it's $AA, don't clear memory
                
                LIS  $4                  ; 400e 74			RAM is 0x0400 bytes long (1K)
                LR   $a,A                ; 400f 5a
                LIS  $0                  ; 4010 70
                LR   $b,A                ; 4011 5b
                DCI  RAMSTART            ; 4012 2a 0c 00	set RAM from $C00 to $FFF to $00
CLRRAM:         ST                       ; 4015 17
                DS   $b                  ; 4016 3b
                BF   $4,CLRRAM           ; 4017 94 fd
                DS   $a                  ; 4019 3a
                BF   $4,CLRRAM           ; 401a 94 fa
                LISL 6                   ; 401c 6e
                LR   (IS),A              ; 401d 5c
                LISL 0                   ; 401e 68
                
WARMBOOT:       DCI  A478e               ; 401f 2a 47 8e
                XDC                      ; 4022 2c
                LR   DC,Q                ; 4023 0f
                LIS  $7                  ; 4024 77
                LR   (IS),A              ; 4025 5c
                PI   COPYMEMTOMEM        ; 4026 28 43 cd	;copy 7 bytes from 478e to fe4 (sets warm boot flag)
                PI   A45db               ; 4029 28 45 db
                PI   A41c8               ; 402c 28 41 c8
                
                DCI  $08f2               ; 402f 2a 08 f2
                LIS  $0                  ; 4032 70
                ST                       ; 4033 17
                
                DCI  VID_BKGCOLOR        ; 4034 2a 08 f5
                LIS  $4                  ; 4037 74
                ST                       ; 4038 17
                
                PI   A424a               ; 4039 28 42 4a
                DCI  CARTSTART           ; 403c 2a 10 00
                LI   $AA		         ; 403f 20 aa		;see if a cart is inserted (first 2 bytes are $AA $55)
                CM                       ; 4041 8d
                BF   $4,NOCART           ; 4042 94 05		;nope
                SR   1                   ; 4044 12			;turn $AA to $55
                CM                       ; 4045 8d
                BT   4,CART              ; 4046 84 2b		;yes
                
NOCART:         DCI  SHIFTSTATE          ; 4048 2a 0f e2	;no cart, show built-in menu
                LIS  $1                  ; 404b 71
                ST                       ; 404c 17
                
                DCI  $0fc2               ; 404d 2a 0f c2
                LI   $e0                 ; 4050 20 e0
                ST                       ; 4052 17
                
                DCI  MENUTEXT            ; 4053 2a 47 af
                LI   $4f                 ; 4056 20 4f		;print full menu text (79 bytes)
                LISL 4                   ; 4058 6c
                LR   (IS),A              ; 4059 5c
                PI   PRINT               ; 405a 28 42 05
                LISL 4                   ; 405d 6c
                LI   $78                 ; 405e 20 78
                LR   (IS),A              ; 4060 5c
A4061:          PI   GETKEY              ; 4061 28 43 d6	;wait until key hit
                BT   4,A4061             ; 4064 84 fc
                BF   $1,A4061            ; 4066 91 fa
                LR   A,$8                ; 4068 48
                CI   $41                 ; 4069 25 41		;keycode for SPECIAL
                BF   $4,A4061            ; 406b 94 f5
                PI   SPECIAL             ; 406d 28 44 2a
                BF   $0,NOCART           ; 4070 90 d7
                
CART:           PI   CLRSCREEN           ; 4072 28 41 d5	;cart inserted- show TM, cart name
                DCI  MENUTEXT            ; 4075 2a 47 af
                LI   $10                 ; 4078 20 10		;print VIDEO BRAIN TM (16 bytes)
                LISL 4                   ; 407a 6c
                LR   (IS),A              ; 407b 5c
                PI   PRINT               ; 407c 28 42 05
                DCI  CARTBKGCOLOR        ; 407f 2a 10 02
                LM                       ; 4082 16
                XDC                      ; 4083 2c
                DCI  VID_BKGCOLOR        ; 4084 2a 08 f5	;set background color
                ST                       ; 4087 17
                XDC                      ; 4088 2c
                LIS  $f                  ; 4089 7f
                LR   (IS),A              ; 408a 5c
                PI   PRINT               ; 408b 28 42 05	;print name of cart stored at top of cart ROM
                LI   $78                 ; 408e 20 78
                LR   (IS),A              ; 4090 5c
                PI   GETKEY              ; 4091 28 43 d6	;wait until key hit or timeout
                DCI  CARTSTART           ; 4094 2a 10 00
                LI   $AA		         ; 4097 20 aa		;make sure cart still inserted
                CM                       ; 4099 8d
                BT   4,A40a1             ; 409a 84 06
                
                PI   CLRSCREEN           ; 409c 28 41 d5	;no cart
                BF   $0,NOCART           ; 409f 90 a8
                
A40a1:          DCI  $0fe0               ; 40a1 2a 0f e0
                LIS  $0                  ; 40a4 70
                ST                       ; 40a5 17
                JMP  CARTCODE            ; 40a6 29 10 12		run the cart program

PUSHK:          DI                       ; 40a9 1a
                LR   A,IS                ; 40aa 0a
                LISU 7                   ; 40ab 67
                LISL 5                   ; 40ac 6d
                LR   (IS)-,A             ; 40ad 5e
A40ae:          LR   A,(IS)              ; 40ae 4c
                LR   IS,A                ; 40af 0b
                LR   A,KL                ; 40b0 01
                LR   (IS)-,A             ; 40b1 5e
                LR   A,KU                ; 40b2 00
                LR   (IS),A              ; 40b3 5c
                LISU 7                   ; 40b4 67
                LISL 4                   ; 40b5 6c
                DS   (IS)                ; 40b6 3c
                DS   (IS)+               ; 40b7 3d
                LR   A,(IS)              ; 40b8 4c
                LR   IS,A                ; 40b9 0b
                LR   W,J                 ; 40ba 1d
                POP                      ; 40bb 1c
                
POPK:           DI                       ; 40bc 1a
                LR   A,IS                ; 40bd 0a
                LISU 7                   ; 40be 67
                LISL 5                   ; 40bf 6d
                LR   (IS)-,A             ; 40c0 5e
                LR   A,(IS)              ; 40c1 4c
                INC                      ; 40c2 1f
                LR   IS,A                ; 40c3 0b
                LR   A,(IS)+             ; 40c4 4d
                LR   KU,A                ; 40c5 04
                LR   A,(IS)              ; 40c6 4c
                LR   KL,A                ; 40c7 05
                LR   A,IS                ; 40c8 0a
                LISU 7                   ; 40c9 67
                LISL 4                   ; 40ca 6c
                LR   (IS)+,A             ; 40cb 5d
                LR   A,(IS)              ; 40cc 4c
                LR   IS,A                ; 40cd 0b
                LR   W,J                 ; 40ce 1d
                POP                      ; 40cf 1c
                
SETUPSTACK:     LR   K,P                 ; 40d0 08
                LISU 7                   ; 40d1 67
                LISL 4                   ; 40d2 6c
                LI   $3b                 ; 40d3 20 3b
                LR   (IS),A              ; 40d5 5c
                LISU 2                   ; 40d6 62
                LISL 0                   ; 40d7 68
                PK                       ; 40d8 0c
                
DRAWCHAR:       LR   K,P                 ; 40d9 08
A40da:          LISU 2                   ; 40da 62
                LISL 0                   ; 40db 68
                DCI  CURSORPOS           ; 40dc 2a 0f df
                LM                       ; 40df 16
                LR   (IS)+,A             ; 40e0 5d
                SR   4                   ; 40e1 14
                LR   (IS)-,A             ; 40e2 5e
                LIS  $f                  ; 40e3 7f
                NS   (IS)+               ; 40e4 fd
                DCI  $0bbf               ; 40e5 2a 0b bf	$C2F-$70
                ADC                      ; 40e8 8e			position in row
                LI   $70                 ; 40e9 20 70		7x16=number of bytes between rows of characters
A40eb:          ADC                      ; 40eb 8e
                DS   (IS)                ; 40ec 3c
                BT   1,A40eb             ; 40ed 81 fd
                
                XDC                      ; 40ef 2c
                DCI  FONT                ; 40f0 2a 20 10
                LR   A,$8                ; 40f3 48				;move to character
                ADC                      ; 40f4 8e
                SL   1                   ; 40f5 13
                ADC                      ; 40f6 8e
                ADC                      ; 40f7 8e
                ADC                      ; 40f8 8e
                
                LIS  $7                  ; 40f9 77				;characters have 7 rows of pixels
                LR   (IS),A              ; 40fa 5c
A40fb:          LM                       ; 40fb 16				;get line of character
                XDC                      ; 40fc 2c				
                ST                       ; 40fd 17				;draw it on screen
                LIS  $f                  ; 40fe 7f
                ADC                      ; 40ff 8e
                XDC                      ; 4100 2c
                DS   (IS)                ; 4101 3c
                BF   $4,A40fb            ; 4102 94 f8			;next row
                
                PK                       ; 4104 0c
                
DRAWNUM:        LR   K,P                 ; 4105 08			;translates # to char index and calls DRAWCHAR
                DCI  PRINTWRKEY          ; 4106 2a 24 68	;byte after array of numbers
                LR   A,$8                ; 4109 48
                COM                      ; 410a 18
                ADC                      ; 410b 8e
                LM                       ; 410c 16
                LR   $8,A                ; 410d 58
                BF   $0,A40da            ; 410e 90 cb

A4110:          
				db   $23,$06,$00,$11,$99,$99
                
DAYSINMON:      						;# of days in each month
				db   $31,$28,$31,$30,$31,$30,$31,$31,$30,$31,$30,$31
                
BACKSPACE:
                LR   K,P                 ; 4122 08
                DCI  CURSORPOS           ; 4123 2a 0f df
                LI   $ff                 ; 4126 20 ff
                AM                       ; 4128 88
                BT   1,A4138             ; 4129 81 0e
                BF   $0,A4137            ; 412b 90 0b
                
INCCURSOR:      LR   K,P                 ; 412d 08
                DCI  CURSORPOS           ; 412e 2a 0f df
                LIS  $1                  ; 4131 71
                AM                       ; 4132 88
                CI   $70                 ; 4133 25 70
                BF   $4,A4138            ; 4135 94 02
A4137:          LIS  $0                  ; 4137 70
A4138:          DCI  CURSORPOS           ; 4138 2a 0f df
                ST                       ; 413b 17
                NI   $0f                 ; 413c 21 0f
                PK                       ; 413e 0c
                
A413f:          LR   K,P                 ; 413f 08
                PI   PUSHK               ; 4140 28 40 a9
                LIS  $0                  ; 4143 70
                XS   $3                  ; 4144 e3
                LISU 3                   ; 4145 63
                LISL 7                   ; 4146 6f
                BF   $4,A4151            ; 4147 94 09
                LISU 2                   ; 4149 62
                LR   A,(IS)              ; 414a 4c
                LISU 3                   ; 414b 63
                LR   (IS),A              ; 414c 5c
                LISU 7                   ; 414d 67
                LR   A,(IS)-             ; 414e 4e
                LISU 3                   ; 414f 63
                LR   (IS)-,A             ; 4150 5e
A4151:          LM                       ; 4151 16
                LR   (IS)-,A             ; 4152 5e
                BR7  A4151               ; 4153 8f fd
                DCI  $27e3               ; 4155 2a 27 e3	;contains 4,5,6,2,3,1,7
                LISU 3                   ; 4158 63
                LISL 4                   ; 4159 6c
                LR   A,(IS)              ; 415a 4c
                ADC                      ; 415b 8e
                LM                       ; 415c 16
                DCI  BKGCOLOR            ; 415d 2a 0f e9
                ST                       ; 4160 17
                DCI  VID_BKGCOLOR        ; 4161 2a 08 f5
                ST                       ; 4164 17
                DCI  CURSORPOS           ; 4165 2a 0f df
                LIS  $6                  ; 4168 76
                ST                       ; 4169 17
                DCI  MONTEXT             ; 416a 2a 24 37	;get the day of the week
                PI   A4237               ; 416d 28 42 37
                DCI  CURSORPOS           ; 4170 2a 0f df
                LI   $13                 ; 4173 20 13
                ST                       ; 4175 17
                LISU 3                   ; 4176 63
                LISL 3                   ; 4177 6b
                PI   DRAW2NUMS           ; 4178 28 42 1e
                PI   INCCURSOR           ; 417b 28 41 2d
                LISU 3                   ; 417e 63
                LISL 2                   ; 417f 6a
                LR   A,(IS)              ; 4180 4c
                SR   4                   ; 4181 14
                BT   4,A4189             ; 4182 84 06
                LIS  $a                  ; 4184 7a
                AS   (IS)                ; 4185 cc
                SL   4                   ; 4186 15
                SR   4                   ; 4187 14
                LR   (IS),A              ; 4188 5c
A4189:          DCI  JANTEXT             ; 4189 2a 24 5b	;get the month
                PI   A4237               ; 418c 28 42 37
                PI   INCCURSOR           ; 418f 28 41 2d
                LISU 3                   ; 4192 63
                LISL 0                   ; 4193 68
                PI   DRAW2NUMS           ; 4194 28 42 1e
                LISU 3                   ; 4197 63
                LISL 1                   ; 4198 69
                PI   DRAW2NUMS           ; 4199 28 42 1e
                PI   A41c8               ; 419c 28 41 c8
                DCI  CURSORPOS           ; 419f 2a 0f df
                LI   $24                 ; 41a2 20 24
                ST                       ; 41a4 17
                LISU 3                   ; 41a5 63
                LISL 5                   ; 41a6 6d
                PI   DRAW2NUMS           ; 41a7 28 42 1e
                LI   $2a                 ; 41aa 20 2a
                LR   $8,A                ; 41ac 58
                PI   DRAWCHAR            ; 41ad 28 40 d9
                PI   INCCURSOR           ; 41b0 28 41 2d
                LISU 3                   ; 41b3 63
                LISL 6                   ; 41b4 6e
                PI   DRAW2NUMS           ; 41b5 28 42 1e
                LI   $2a                 ; 41b8 20 2a
                LR   $8,A                ; 41ba 58
                PI   DRAWCHAR            ; 41bb 28 40 d9
                PI   INCCURSOR           ; 41be 28 41 2d
                LISU 3                   ; 41c1 63
                LISL 7                   ; 41c2 6f
                PI   DRAW2NUMS           ; 41c3 28 42 1e
                BF   $0,A41cc            ; 41c6 90 05
                
A41c8:          LR   K,P                 ; 41c8 08
                PI   PUSHK               ; 41c9 28 40 a9
A41cc:          PI   A4501               ; 41cc 28 45 01
                PI   A424d               ; 41cf 28 42 4d
                LISL 0                   ; 41d2 68
                BF   $0,A4201            ; 41d3 90 2d
                
CLRSCREEN:      LR   K,P                 ; 41d5 08
                PI   PUSHK               ; 41d6 28 40 a9
                DCI  VID_COMMAND      ; 41d9 2a 08 f7
                LIS  $0                  ; 41dc 70
                ST                       ; 41dd 17
                PI   A41c8               ; 41de 28 41 c8
                
                DCI  FIRSTCHAR           ; 41e1 2a 0c 2f		; memory location of upper left char
                LIS  $4                  ; 41e4 74				;4 times...
                LR   $a,A                ; 41e5 5a
A41e6:          LI   $c4                 ; 41e6 20 c4			;...196 bytes=784 bytes=7 rows of 16 7-pixel high chars
                LR   $b,A                ; 41e8 5b
                LIS  $0                  ; 41e9 70
A41ea:          ST                       ; 41ea 17
                DS   $b                  ; 41eb 3b
                BF   $4,A41ea            ; 41ec 94 fd
                DS   $a                  ; 41ee 3a
                BF   $4,A41e6            ; 41ef 94 f6
                
                PI   A41c8               ; 41f1 28 41 c8
                DCI  VIDEOMODE           ; 41f4 2a 0f ea
                LM                       ; 41f7 16
                DCI  VID_COMMAND       ; 41f8 2a 08 f7
                ST                       ; 41fb 17
                DCI  CURSORPOS           ; 41fc 2a 0f df
                LIS  $0                  ; 41ff 70
                ST                       ; 4200 17
A4201:          PI   POPK                ; 4201 28 40 bc
                PK                       ; 4204 0c

PRINT:          LR   K,P                 ; 4205 08
                PI   PUSHK               ; 4206 28 40 a9
A4209:          LM                       ; 4209 16
                LR   Q,DC                ; 420a 0e
                LR   $8,A                ; 420b 58
                PI   DRAWCHAR            ; 420c 28 40 d9
                PI   INCCURSOR           ; 420f 28 41 2d
                BF   $4,A4217            ; 4212 94 04
                PI   A41c8               ; 4214 28 41 c8
A4217:          LISL 4                   ; 4217 6c
                DS   (IS)                ; 4218 3c
                LR   DC,Q                ; 4219 0f
                BF   $4,A4209            ; 421a 94 ee
                BF   $0,A4201            ; 421c 90 e4
                
DRAW2NUMS:      LR   K,P                 ; 421e 08
                PI   PUSHK               ; 421f 28 40 a9
                LR   A,(IS)              ; 4222 4c
                LR   $5,A                ; 4223 55
                SR   4                   ; 4224 14
                LR   $8,A                ; 4225 58
                PI   DRAWNUM             ; 4226 28 41 05
                PI   INCCURSOR           ; 4229 28 41 2d
                LIS  $f                  ; 422c 7f
                NS   $5                  ; 422d f5
                LR   $8,A                ; 422e 58
                PI   DRAWNUM             ; 422f 28 41 05
                PI   INCCURSOR           ; 4232 28 41 2d
A4235:          BF   $0,A4201            ; 4235 90 cb

A4237:          LR   K,P                 ; 4237 08
                PI   PUSHK               ; 4238 28 40 a9
                LR   A,(IS)              ; 423b 4c
                SL   1                   ; 423c 13
                AS   (IS)                ; 423d cc
                COM                      ; 423e 18
                INC                      ; 423f 1f
                ADC                      ; 4240 8e
                LIS  $3                  ; 4241 73
                LISU 2                   ; 4242 62
                LISL 4                   ; 4243 6c
                LR   (IS),A              ; 4244 5c
                PI   PRINT               ; 4245 28 42 05
                BF   $0,A4235            ; 4248 90 ec
                
A424a:          LR   K,P                 ; 424a 08
                BF   $0,A4293            ; 424b 90 47
                
A424d:          LR   K,P                 ; 424d 08
                LISU 2                   ; 424e 62
                LISL 0                   ; 424f 68
                DCI  $0ffa               ; 4250 2a 0f fa
                LM                       ; 4253 16
                LR   (IS)+,A             ; 4254 5d
                LR   (IS)+,A             ; 4255 5d
                COM                      ; 4256 18
                INC                      ; 4257 1f
                AI   $10                 ; 4258 24 10
                LISL 3                   ; 425a 6b
                LR   (IS)-,A             ; 425b 5e
                LIS  $0                  ; 425c 70
                XM                       ; 425d 8c
                BF   $4,A4264            ; 425e 94 05
                LIS  $7                  ; 4260 77
                LR   (IS),A              ; 4261 5c
                BF   $0,A4271            ; 4262 90 0e
                
A4264:          LIS  $3                  ; 4264 73
                LR   (IS),A              ; 4265 5c
                XDC                      ; 4266 2c
                DCI  $08fa               ; 4267 2a 08 fa
                LIS  $0                  ; 426a 70
                XM                       ; 426b 8c
                XDC                      ; 426c 2c
                BF   $1,A4271            ; 426d 91 03
                LIS  $2                  ; 426f 72
                ADC                      ; 4270 8e
                
A4271:          LM                       ; 4271 16
                LR   $a,A                ; 4272 5a
                LM                       ; 4273 16
                LR   $b,A                ; 4274 5b
                LR   DC,H                ; 4275 10
                XDC                      ; 4276 2c
                DCI  $0800               ; 4277 2a 08 00
                LISL 0                   ; 427a 68

A427b:          XDC                      ; 427b 2c
                LM                       ; 427c 16
                XDC                      ; 427d 2c
                ST                       ; 427e 17
                DS   (IS)                ; 427f 3c
                BF   $4,A427b            ; 4280 94 fa
                
                LISL 3                   ; 4282 6b
                LR   A,(IS)-             ; 4283 4e
                ADC                      ; 4284 8e
                DS   (IS)                ; 4285 3c
                BT   4,A4293             ; 4286 84 0c
                LIS  $1                  ; 4288 71
                XS   (IS)-               ; 4289 ee
                BF   $4,A428f            ; 428a 94 04
                LIS  $1                  ; 428c 71
                SL   4                   ; 428d 15
                ADC                      ; 428e 8e
A428f:          LR   A,(IS)-             ; 428f 4e
                LR   (IS),A              ; 4290 5c
                BF   $0,A427b            ; 4291 90 e9
                
A4293:          LISL 6                   ; 4293 6e
                LIS  $0                  ; 4294 70
                XS   (IS)-               ; 4295 ee
                BT   1,A429b             ; 4296 81 04
                DS   (IS)+               ; 4298 3d
                BT   4,A429c             ; 4299 84 02
A429b:          PK                       ; 429b 0c

A429c:          LIS  $f                  ; 429c 7f
                NS   (IS)-               ; 429d fe
                LR   $b,A                ; 429e 5b
                DCI  A4351               ; 429f 2a 43 51
                ADC                      ; 42a2 8e
                LM                       ; 42a3 16
                LR   (IS)+,A             ; 42a4 5d
                DS   $b                  ; 42a5 3b
                BT   1,A42aa             ; 42a6 81 03
                LIS  $f                  ; 42a8 7f
                LR   $b,A                ; 42a9 5b
A42aa:          LIS  $c                  ; 42aa 7c
                SL   4                   ; 42ab 15
                NS   (IS)                ; 42ac fc
                XS   $b                  ; 42ad eb
                LR   (IS),A              ; 42ae 5c
                LISL 7                   ; 42af 6f
                LI   $67                 ; 42b0 20 67
                ASD  (IS)                ; 42b2 dc
                CI   $59                 ; 42b3 25 59	;mins/hr
                BF   $2,A42bb            ; 42b5 92 05
A42b7:          LR   (IS),A              ; 42b7 5c
                JMP  A4326               ; 42b8 29 43 26
A42bb:          LIS  $0                  ; 42bb 70
                LR   (IS),A              ; 42bc 5c
                LISU 7                   ; 42bd 67
                LI   $67                 ; 42be 20 67
                ASD  (IS)                ; 42c0 dc
                CI   $59                 ; 42c1 25 59	;secs/min
                BT   2,A42b7             ; 42c3 82 f3
                LIS  $0                  ; 42c5 70
                LR   (IS)+,A             ; 42c6 5d
                LISU 2                   ; 42c7 62
                
                DCI  $0fd4               ; 42c8 2a 0f d4	;copy 6 bytes from 4110 to fd4 23 06 00 11 99 99
                XDC                      ; 42cb 2c
                DCI  A4110               ; 42cc 2a 41 10
                LIS  $6                  ; 42cf 76
                LR   (IS),A              ; 42d0 5c
A42d1:          LM                       ; 42d1 16
                XDC                      ; 42d2 2c
                ST                       ; 42d3 17
                XDC                      ; 42d4 2c
                DS   (IS)                ; 42d5 3c
                BF   $4,A42d1            ; 42d6 94 fa
                
                DCI  $0fef               ; 42d8 2a 0f ef
                LM                       ; 42db 16
                CI   $0f                 ; 42dc 25 0f		;convert to BCD
                BT   2,A42e4             ; 42de 82 05		;if > 15
                SL   4                   ; 42e0 15			;blank top nibble
                SR   4                   ; 42e1 14
                AI   $0a                 ; 42e2 24 0a		;and add 10 (so $17 becomes $11)
                
A42e4:          DCI  DAYSINMON           ; 42e4 2a 41 16
                ADC                      ; 42e7 8e
                LM                       ; 42e8 16
                DCI  $0fd6               ; 42e9 2a 0f d6
                ST                       ; 42ec 17
                DCI  $0fd4               ; 42ed 2a 0f d4
                XDC                      ; 42f0 2c
                DCI  $0fec               ; 42f1 2a 0f ec
                LIS  $6                  ; 42f4 76
                LR   (IS),A              ; 42f5 5c
A42f6:          LR   H,DC                ; 42f6 11
                LI   $67                 ; 42f7 20 67
                AMD                      ; 42f9 89
                XDC                      ; 42fa 2c
                CM                       ; 42fb 8d
                XDC                      ; 42fc 2c
                BT   2,A4307             ; 42fd 82 09
                LIS  $0                  ; 42ff 70
                LR   DC,H                ; 4300 10
                ST                       ; 4301 17
                DS   (IS)                ; 4302 3c
                BF   $4,A42f6            ; 4303 94 f2
                BF   $0,A431b            ; 4305 90 15
                
A4307:          LR   DC,H                ; 4307 10
                ST                       ; 4308 17
                LIS  $2                  ; 4309 72
                XS   (IS)                ; 430a ec
                BF   $4,A4314            ; 430b 94 08
                LR   DC,H                ; 430d 10
                LIS  $0                  ; 430e 70
                XM                       ; 430f 8c
                BF   $4,A431b            ; 4310 94 0a
                BF   $0,A4318            ; 4312 90 05
                
A4314:          LIS  $5                  ; 4314 75
                XS   (IS)                ; 4315 ec
                BF   $4,A431b            ; 4316 94 04
A4318:          DS   (IS)                ; 4318 3c
                BF   $0,A42f6            ; 4319 90 dc
                
A431b:          DCI  $0fee               ; 431b 2a 0f ee
                LR   H,DC                ; 431e 11
                LIS  $0                  ; 431f 70
                XM                       ; 4320 8c
                BF   $4,A4326            ; 4321 94 04
                LR   DC,H                ; 4323 10
                LIS  $1                  ; 4324 71
                ST                       ; 4325 17
A4326:          LISU 2                   ; 4326 62
                LISL 6                   ; 4327 6e
                LR   A,(IS)              ; 4328 4c
                SL   1                   ; 4329 13
                BT   1,A4350             ; 432a 81 25
                
                DCI  $0fec               ; 432c 2a 0f ec
                XDC                      ; 432f 2c
                DCI  $0ff4               ; 4330 2a 0f f4
                LISL 0                   ; 4333 68
                LIS  $6                  ; 4334 76
                LR   (IS),A              ; 4335 5c
A4336:          LM                       ; 4336 16
                XDC                      ; 4337 2c
                CM                       ; 4338 8d
                BF   $4,A4350            ; 4339 94 16
                XDC                      ; 433b 2c
                DS   (IS)                ; 433c 3c
                BF   $4,A4336            ; 433d 94 f8
                
                LISL 7                   ; 433f 6f
                DCI  $0ff2               ; 4340 2a 0f f2
                LR   A,(IS)              ; 4343 4c
                CM                       ; 4344 8d
                BF   $4,A4350            ; 4345 94 0a
                LISU 7                   ; 4347 67
                LR   A,(IS)+             ; 4348 4d
                LISU 2                   ; 4349 62
                CM                       ; 434a 8d
                BF   $4,A4350            ; 434b 94 04
                JMP  $22ef               ; 434d 29 22 ef
A4350:          PK                       ; 4350 0c

A4351:			db   $3b,$3c,$3c,$3c,$3c,$3c,$3b,$3c,$3c,$3c,$3c,$3b,$3c,$3c,$3c,$3c

READKBJOY:      LR   K,P                 ; 4361 08		;called from GETKEY
                LISU 2                   ; 4362 62
                LISL 0                   ; 4363 68
                LIS  $1                  ; 4364 71		;column strobe
                LR   (IS),A              ; 4365 5c
                SL   4                   ; 4366 15
                DCI  VIDEOMODE           ; 4367 2a 0f ea
                OM                       ; 436a 8b
                DCI  VID_COMMAND      ; 436b 2a 08 f7	;clear 9th column
                ST                       ; 436e 17
                LIS  $0                  ; 436f 70
                LR   $8,A                ; 4370 58
                OUTS 0                   ; 4371 b0		;keyboard columns/joystick pots
                DCI  $0fde               ; 4372 2a 0f de
                LIS  $f                  ; 4375 7f
                SL   4                   ; 4376 15
                NM                       ; 4377 8a
                OUTS 1                   ; 4378 b1		;keyboard rows/joystick buttons
                
CHKKEY:         LR   A,(IS)+             ; 4379 4d		;get keyboard column to strobe
                OUTS 0                   ; 437a b0		;set keyboard column hi
                NOP                      ; 437b 2b		;wait a bit
                NOP                      ; 437c 2b
                NOP                      ; 437d 2b
                INS  1                   ; 437e a1		;read keyboard rows
                NI   $0f                 ; 437f 21 0f	;mask off high bits (only 4 rows)
                BT   4,NOKEY             ; 4381 84 2d	;no keys down, branch
                
                LR   (IS),A              ; 4383 5c		;key down
A4384:          LR   A,(IS)              ; 4384 4c
                SR   1                   ; 4385 12
                LR   (IS),A              ; 4386 5c
                BT   4,A438e             ; 4387 84 06
                LIS  $9                  ; 4389 79
                AS   $8                  ; 438a c8
                LR   $8,A                ; 438b 58
                BF   $0,A4384            ; 438c 90 f7
                
A438e:          LISL 0                   ; 438e 68
A438f:          LIS  $1                  ; 438f 71
                AS   $8                  ; 4390 c8
                LR   $8,A                ; 4391 58
                LR   A,(IS)              ; 4392 4c
                SR   1                   ; 4393 12
                LR   (IS),A              ; 4394 5c
                BF   $4,A438f            ; 4395 94 f9
                
CHKKEYEXIT:     DCI  $0feb               ; 4397 2a 0f eb
                LR   H,DC                ; 439a 11
                LR   A,$8                ; 439b 48
                CM                       ; 439c 8d
                BT   4,A43a4             ; 439d 84 06
                LR   DC,H                ; 439f 10
                ST                       ; 43a0 17
                OI   $80                 ; 43a1 22 80
                LR   $8,A                ; 43a3 58
A43a4:          LR   J,W                 ; 43a4 1e
                DCI  $0fdd               ; 43a5 2a 0f dd
                LM                       ; 43a8 16
                OUTS 0                   ; 43a9 b0		;keyboard columns/joystick pots
                DI                       ; 43aa 1a
                LM                       ; 43ab 16
                OUTS 1                   ; 43ac b1		;keyboard rows/joystick buttons
                LR   W,J                 ; 43ad 1d
                PK                       ; 43ae 0c
                
NOKEY:          LISL 0                   ; 43af 68
                LR   A,(IS)              ; 43b0 4c		;next column
                SL   1                   ; 43b1 13
                LR   (IS),A              ; 43b2 5c
                BF   $4,CHKKEY           ; 43b3 94 c5
                
                DCI  VIDEOMODE           ; 43b5 2a 0f ea	;8 columns done using CPU I/O
                LM                       ; 43b8 16
                DCI  VID_COMMAND       ; 43b9 2a 08 f7	;9th using VLSI output
                ST                       ; 43bc 17		
                INS  1                   ; 43bd a1		;read keyboard rows
                NI   $0f                 ; 43be 21 0f	;mask off high bits (only 4 rows)
                LR   (IS),A              ; 43c0 5c
                BT   4,CHKKEYEXIT        ; 43c1 84 d5
A43c3:          LIS  $9                  ; 43c3 79
                AS   $8                  ; 43c4 c8
                LR   $8,A                ; 43c5 58
                LR   A,(IS)              ; 43c6 4c
                SR   1                   ; 43c7 12
                LR   (IS),A              ; 43c8 5c
                BF   $4,A43c3            ; 43c9 94 f9
                BF   $0,CHKKEYEXIT       ; 43cb 90 cb
                
COPYMEMTOMEM:   LR   K,P                 ; 43cd 08		copy (IS) bytes from DC1 to DC0
A43ce:          XDC                      ; 43ce 2c			ex: DCI a, XDC, DCI b, LIS 2, LR   (IS),A, PI COPYMEMTOMEM
                LM                       ; 43cf 16				copies 2 bytes from a to b
                XDC                      ; 43d0 2c
                ST                       ; 43d1 17
                DS   (IS)                ; 43d2 3c
                BF   $4,A43ce            ; 43d3 94 fa
                PK                       ; 43d5 0c

GETKEY:         LR   K,P                 ; 43d6 08			;gets a keypress or times out
                PI   PUSHK               ; 43d7 28 40 a9
A43da:          PI   READKBJOY           ; 43da 28 43 61
                BF   $4,A43f0            ; 43dd 94 12
                LIS  $0                  ; 43df 70
                XS   $8                  ; 43e0 e8
                DCI  $0fe3               ; 43e1 2a 0f e3
                BT   4,A4414             ; 43e4 84 2f
                LR   Q,DC                ; 43e6 0e
                LIS  $0                  ; 43e7 70
                XM                       ; 43e8 8c
                BF   $4,A4415            ; 43e9 94 2b
                LR   DC,Q                ; 43eb 0f
                LIS  $1                  ; 43ec 71
                ST                       ; 43ed 17
                LISL 4                   ; 43ee 6c
                LR   (IS),A              ; 43ef 5c
A43f0:          PI   A41c8               ; 43f0 28 41 c8
                LISL 4                   ; 43f3 6c
                DS   (IS)                ; 43f4 3c
                BF   $4,A43da            ; 43f5 94 e4
                LIS  $0                  ; 43f7 70
                XS   $8                  ; 43f8 e8
                LR   J,W                 ; 43f9 1e
                DCI  SHIFTSTATE          ; 43fa 2a 0f e2
                SL   1                   ; 43fd 13
                LR   $8,A                ; 43fe 58
                LIS  $0                  ; 43ff 70
                XM                       ; 4400 8c
                BF   $4,A4404            ; 4401 94 02
                DS   $8                  ; 4403 38
A4404:          DCI  KEYCMDS1            ; 4404 2a 44 f4
                LIS  $7                  ; 4407 77			;7 keys to check
                LR   (IS),A              ; 4408 5c
                LR   A,$8                ; 4409 48			;key that was hit
A440a:          CM                       ; 440a 8d			;see if one of our keys was hit
                BT   4,A4419             ; 440b 84 0d		;yes- call function in jump table
                DS   (IS)                ; 440d 3c			;no- check next key
                BF   $4,A440a            ; 440e 94 fb
A4410:          PI   POPK                ; 4410 28 40 bc	;none of our keys was hit
                PK                       ; 4413 0c
                
A4414:          ST                       ; 4414 17
A4415:          LIS  $0                  ; 4415 70
                LR   $8,A                ; 4416 58
                BF   $0,A43f0            ; 4417 90 d8
                
A4419:          DCI  JMPTBL1             ; 4419 2a 44 7f	;jump to function for that key
A441c:          DS   (IS)                ; 441c 3c			;note- functions in table are reversed
                LR   A,(IS)              ; 441d 4c			;	from keys in table
                SL   1                   ; 441e 13
                ADC                      ; 441f 8e
A4420:          LM                       ; 4420 16
                LR   QU,A                ; 4421 06
                LM                       ; 4422 16
                LR   QL,A                ; 4423 07
                LR   P0,Q                ; 4424 0d

EXITSPECIAL:
                PI   CLRSCREEN           ; 4425 28 41 d5	;special key hit - exit special mode
                BF   $0,A4410            ; 4428 90 e7
                
SPECIAL:        LR   K,P                 ; 442a 08			;special key hit - enter special mode
                PI   PUSHK               ; 442b 28 40 a9
                DCI  $0fda               ; 442e 2a 0f da
                LIS  $0                  ; 4431 70
                ST                       ; 4432 17
                PI   A45db               ; 4433 28 45 db
A4436:          PI   CLRSCREEN           ; 4436 28 41 d5
                DCI  CURSORPOS           ; 4439 2a 0f df
                LIS  $0                  ; 443c 70
                ST                       ; 443d 17
                LISU 2                   ; 443e 62
                LISL 4                   ; 443f 6c
                LIS  $3                  ; 4440 73
                SL   4                   ; 4441 15
                LR   (IS),A              ; 4442 5c
                DCI  SELKEYTEXT          ; 4443 2a 23 ef
                PI   PRINT               ; 4446 28 42 05
A4449:          LISL 4                   ; 4449 6c
                LIS  $0                  ; 444a 70
                LR   (IS),A              ; 444b 5c
                PI   GETKEY              ; 444c 28 43 d6	;get a key
                BT   4,A4449             ; 444f 84 f9
                BF   $1,A4449            ; 4451 91 f7
                DCI  KEYCMDS2            ; 4453 2a 44 fb
                LISL 4                   ; 4456 6c
                LIS  $6                  ; 4457 76
                LR   (IS),A              ; 4458 5c
                LR   A,$8                ; 4459 48
A445a:          CM                       ; 445a 8d
                BT   4,A4465             ; 445b 84 09
                DS   (IS)                ; 445d 3c
                BF   $4,A445a            ; 445e 94 fb
                PI   PRINTWRKEY          ; 4460 28 24 68	WRONG KEY!
                BF   $0,A4436            ; 4463 90 d2

A4465:          DCI  JMPTBL2             ; 4465 2a 44 8d
                BF   $0,A441c            ; 4468 90 b3

                DCI  SHIFTSTATE          ; 446a 2a 0f e2	SHIFT hit from main menu
                LR   Q,DC                ; 446d 0e
                LIS  $1                  ; 446e 71
                XM                       ; 446f 8c			;toggle shift state
                LR   DC,Q                ; 4470 0f
                ST                       ; 4471 17
                
                DCI  $0fc2               ; 4472 2a 0f c2
                LR   Q,DC                ; 4475 0e
                LIS  $e                  ; 4476 7e
                SL   4                   ; 4477 15
                XM                       ; 4478 8c
                LR   DC,Q                ; 4479 0f
                ST                       ; 447a 17
                LIS  $1                  ; 447b 71
                LR   (IS),A              ; 447c 5c
                BF   $0,A4415            ; 447d 90 97
           
           								;main menu items
JMPTBL1:                                ;jump table - reversed in order from key table
				db   $44,$6a			;SHIFT hit while shift down
				db   $44,$6a			;SHIFT hit while shift up
				db   $44,$99			;RESTART
				db   $24,$8d			;ALARM
				db   $45,$0d			;CLOCK
				db   $25,$f3			;COLOR
				db   $23,$42			;TEXT
				                
				                		;menu items after hitting special key
JMPTBL2:                                ;jump table - reversed in order from key table
				db   $44,$e4			;ERASE
				db   $44,$9e			;B - background color
				db   $44,$ac			;F - foreground color
				db   $44,$c2			;V - video mode?
				db   $44,$d1			;R - repeat mode?
				db   $44,$25			;SPECIAL - exit special mode
		
				DCI  $0fe6				 ; 4499				RESTART hit from main menu
                BF   $0,A4420            ; 449c 90 83

BACKGROUND:
                DCI  BKGCOLOR            ; 449e 2a 0f e9	B key hit - background color
                LR   Q,DC                ; 44a1 0e
                LIS  $1                  ; 44a2 71			;increment current color in RAM
                AM                       ; 44a3 88
                LR   DC,Q                ; 44a4 0f
                ST                       ; 44a5 17			;and write it back
                DCI  REG_BKGCOLOR        ; 44a6 2a 08 f5
A44a9:          ST                       ; 44a9 17			;and write it to register
A44aa:          BF   $0,A4436            ; 44aa 90 8b

FOREGROUND:
                DCI  $0fba               ; 44ac 2a 0f ba	F key hit - foreground color
                LIS  $8                  ; 44af 78			;8 bytes
                LR   (IS),A              ; 44b0 5c
A44b1:          LR   Q,DC                ; 44b1 0e
                LIS  $2                  ; 44b2 72
                SL   4                   ; 44b3 15
                AM                       ; 44b4 88			;add $20 to current color
                LR   DC,Q                ; 44b5 0f
                ST                       ; 44b6 17			;and write it back
                DS   (IS)                ; 44b7 3c
                BF   $4,A44b1            ; 44b8 94 f8
                
                NI   $e0                 ; 44ba 21 e0
                DCI  $0fe8               ; 44bc 2a 0f e8
                ST                       ; 44bf 17
                BF   $0,A44aa            ; 44c0 90 e9
               
                DCI  VIDEOMODE           ; 44c2 2a 0f ea	V key hit - video mode?
                LR   Q,DC                ; 44c5 0e
                LIS  $2                  ; 44c6 72
                SL   4                   ; 44c7 15
                XM                       ; 44c8 8c
                LR   DC,Q                ; 44c9 0f
                ST                       ; 44ca 17
                DCI  VID_COMMAND       ; 44cb 2a 08 f7
                ST                       ; 44ce 17
                BF   $0,A44aa            ; 44cf 90 da
                
REPEAT:
                DCI  $0fb1               ; 44d1 2a 0f b1	R key hit - repeat mode?
                PI   FILLMEM             ; 44d4 28 44 eb
                DCI  $0fba               ; 44d7 2a 0f ba
                PI   FILLMEM             ; 44da 28 44 eb
                DCI  $0fda               ; 44dd 2a 0f da
                LIS  $1                  ; 44e0 71
                ST                       ; 44e1 17
                BF   $0,A44aa            ; 44e2 90 c7

ERASE:
                DCI  $0fe0               ; 44e4 2a 0f e0	ERASE key hit
                LIS  $0                  ; 44e7 70
                ST                       ; 44e8 17
                BF   $0,A44aa            ; 44e9 90 c0
                
FILLMEM:        LR   K,P                 ; 44eb 08			copies byte at DC0 to DC0+1, DC0+2, ... DC0+6
                LIS  $6                  ; 44ec 76
                LR   (IS),A              ; 44ed 5c
                LM                       ; 44ee 16
A44ef:          ST                       ; 44ef 17
                DS   (IS)                ; 44f0 3c
                BF   $4,A44ef            ; 44f1 94 fd
                PK                       ; 44f3 0c
                
           								;main menu items
KEYCMDS1:		db   $48,$46,$44,$42,$3e,$3b,$3c	;<TEXT><COLOR><CLOCK><ALARM><RESTART><SHIFT><SHIFT>

           								;keys after hitting special key
KEYCMDS2:		db   $41,$09,$2f,$1d,$2d,$3d		;<SPECIAL>RVFB<ERASE>
                
A4501:          LR   K,P                 ; 4501 08
                DCI  $0fe5               ; 4502 2a 0f e5
                LM                       ; 4505 16
A4506:          DCI  $08fb               ; 4506 2a 08 fb
                CM                       ; 4509 8d			;so we can read from VLSI regs???
                BF   $2,A4506            ; 450a 92 fb
                PK                       ; 450c 0c

SETCLOCK:
                DCI  $0fe6               ; 450d 2a 0f e6	CLOCK hit from main menu
                LI   $45                 ; 4510 20 45
                ST                       ; 4512 17
                LI   $16                 ; 4513 20 16
                ST                       ; 4515 17
                LIS  $0                  ; 4516 70
                LR   $3,A                ; 4517 53
                PI   SETUPSTACK          ; 4518 28 40 d0
                PI   A45db               ; 451b 28 45 db
                DCI  $0fe1               ; 451e 2a 0f e1
                LI   $aa                 ; 4521 20 aa
                XM                       ; 4523 8c
                BF   $4,SETTIME          ; 4524 94 27
                LISL 6                   ; 4526 6e
                XS   (IS)                ; 4527 ec
                LISL 0                   ; 4528 68
                BT   1,SETTIME           ; 4529 81 22
A452b:          PI   CLRSCREEN           ; 452b 28 41 d5
A452e:          DCI  $0fec               ; 452e 2a 0f ec
                PI   A413f               ; 4531 28 41 3f
                LISL 4                   ; 4534 6c
                LIS  $a                  ; 4535 7a
                LR   (IS),A              ; 4536 5c
                PI   GETKEY              ; 4537 28 43 d6	;get a key
                BT   4,A452e             ; 453a 84 f3
                BF   $1,A452e            ; 453c 91 f1
                LR   A,$8                ; 453e 48
                CI   $21                 ; 453f 25 21		;keycode for S - set clock while showing time
                BT   4,SETTIME           ; 4541 84 0a
                CI   $41                 ; 4543 25 41		;keycode for SPECIAL
                BF   $4,A452e            ; 4545 94 e8
                PI   SPECIAL             ; 4547 28 44 2a
                BF   $0,A452e            ; 454a 90 e3
                
SETTIME:        LI   $7c                 ; 454c 20 7c
                LR   $8,A                ; 454e 58
                PI   $24f8               ; 454f 28 24 f8
                DCI  $0fcc               ; 4552 2a 0f cc
                LISL 7                   ; 4555 6f
                LM                       ; 4556 16
                LR   (IS),A              ; 4557 5c
                LISU 7                   ; 4558 67
                LM                       ; 4559 16
                LR   (IS)+,A             ; 455a 5d
                LISU 2                   ; 455b 62
                PI   CLRSCREEN           ; 455c 28 41 d5
                DCI  $0fec               ; 455f 2a 0f ec
                LR   H,DC                ; 4562 11
                PI   A46aa               ; 4563 28 46 aa
                LR   DC,H                ; 4566 10
                PI   A413f               ; 4567 28 41 3f
                DCI  $0fe1               ; 456a 2a 0f e1
                LI   $aa                 ; 456d 20 aa
                ST                       ; 456f 17
                LISL 4                   ; 4570 6c
                LI   $78                 ; 4571 20 78
                LR   (IS),A              ; 4573 5c
                PI   GETKEY              ; 4574 28 43 d6	;get a key
                BT   4,A4582             ; 4577 84 0a
                LR   A,$8                ; 4579 48
                CI   $1b                 ; 457a 25 1b	KEY G
                BT   4,A45a3             ; 457c 84 26
                CI   $1c                 ; 457e 25 1c	KEY -
                BT   4,A45a3             ; 4580 84 22
A4582:          DCI  CURSORPOS           ; 4582 2a 0f df
                LIS  $0                  ; 4585 70
                ST                       ; 4586 17
                DCI  PUSHGTEXT           ; 4587 2a 47 70
                LISL 4                   ; 458a 6c
                LIS  $1                  ; 458b 71
                SL   4                   ; 458c 15
                LR   (IS),A              ; 458d 5c
                PI   PRINT               ; 458e 28 42 05
A4591:          LISL 4                   ; 4591 6c
                LIS  $f                  ; 4592 7f
                SL   4                   ; 4593 15
                LR   (IS),A              ; 4594 5c
                PI   GETKEY              ; 4595 28 43 d6	;get a key
                BT   4,A4591             ; 4598 84 f8
                LR   A,$8                ; 459a 48
                CI   $1b                 ; 459b 25 1b	KEY G
                BT   4,A45a3             ; 459d 84 05
                CI   $1c                 ; 459f 25 1c	KEY -
                BF   $4,A4591            ; 45a1 94 ef
A45a3:          LISL 5                   ; 45a3 6d
                LI   $3c                 ; 45a4 20 3c
                LR   (IS)+,A             ; 45a6 5d
                LIS  $4                  ; 45a7 74
                SL   4                   ; 45a8 15
                NS   (IS)                ; 45a9 fc
                OI   $80                 ; 45aa 22 80
                LR   (IS),A              ; 45ac 5c
                JMP  A452b               ; 45ad 29 45 2b

                LR   K,P                 ; 45b0 08			;called from res2
                DCI  CURSORPOS           ; 45b1 2a 0f df
                LM                       ; 45b4 16
                LR   $8,A                ; 45b5 58
                SL   4                   ; 45b6 15
                SR   1                   ; 45b7 12
                AI   $20                 ; 45b8 24 20
                DCI  $0847               ; 45ba 2a 08 47
                ST                       ; 45bd 17
                LR   A,$8                ; 45be 48
                SR   4                   ; 45bf 14
                LR   $8,A                ; 45c0 58
                DCI  VIDEOMODE           ; 45c1 2a 0f ea
                LIS  $2                  ; 45c4 72
                SL   4                   ; 45c5 15
                NM                       ; 45c6 8a
                BT   4,A45cc             ; 45c7 84 04
                LIS  $7                  ; 45c9 77
                AS   $8                  ; 45ca c8
                LR   $8,A                ; 45cb 58

A45cc:          DCI  A4780               ; 45cc 2a 47 80
                LR   A,$8                ; 45cf 48
                ADC                      ; 45d0 8e
                LM                       ; 45d1 16
                DCI  $0857               ; 45d2 2a 08 57
                ST                       ; 45d5 17
                DCI  $0867               ; 45d6 2a 08 67
                ST                       ; 45d9 17
                PK                       ; 45da 0c
                
A45db:          LR   K,P                 ; 45db 08
                PI   PUSHK               ; 45dc 28 40 a9
                PI   A4762               ; 45df 28 47 62
                
                DCI  A463e               ; 45e2 2a 46 3e
                XDC                      ; 45e5 2c
                DCI  $0ffa               ; 45e6 2a 0f fa
                LIS  $4                  ; 45e9 74
                LISU 2                   ; 45ea 62
                LISL 0                   ; 45eb 68
                LR   (IS),A              ; 45ec 5c
                PI   COPYMEMTOMEM        ; 45ed 28 43 cd 	copy 4 bytes from 463e to ffa $09,$00,$46,$47 (guess - 9 sprites, list B, info at $4647)
                
                PI   CLRSCREEN           ; 45f0 28 41 d5
                LIS  $5                  ; 45f3 75
                LR   (IS),A              ; 45f4 5c
                DCI  A4642               ; 45f5 2a 46 42
                XDC                      ; 45f8 2c
                DCI  $0ffb               ; 45f9 2a 0f fb
                PI   COPYMEMTOMEM        ; 45fc 28 43 cd	copy 5 bytes from 4642 to ffb $01,$0f,$b1,$0f,$b1 (guess - list A, info at $FB1)
                
                LI   $12                 ; 45ff 20 12
                LR   (IS),A              ; 4601 5c
                DCI  $0fb1               ; 4602 2a 0f b1
                PI   COPYMEMTOMEM        ; 4605 28 43 cd	copy $12 bytes from 4647 to fb1
                
                XDC                      ; 4608 2c
                LIS  $9                  ; 4609 79
                ADC                      ; 460a 8e
                LR   (IS),A              ; 460b 5c
                XDC                      ; 460c 2c
                PI   COPYMEMTOMEM        ; 460d 28 43 cd	copy 9 bytes from 4659 to fc3
                
                DCI  $0fe8               ; 4610 2a 0f e8
                LM                       ; 4613 16
                LR   $8,A                ; 4614 58
A4615:          DCI  $0fba               ; 4615 2a 0f ba
                LIS  $8                  ; 4618 78
                LR   (IS),A              ; 4619 5c
A461a:          LI   $1f                 ; 461a 20 1f
                LR   H,DC                ; 461c 11
                NM                       ; 461d 8a
                XS   $8                  ; 461e e8
                LR   DC,H                ; 461f 10
                ST                       ; 4620 17
                DS   (IS)                ; 4621 3c
                BF   $4,A461a            ; 4622 94 f7
                
                DCI  SHIFTSTATE          ; 4624 2a 0f e2
                LIS  $0                  ; 4627 70
                ST                       ; 4628 17
                
                DCI  $0fda               ; 4629 2a 0f da
                XM                       ; 462c 8c
                BT   4,A463b             ; 462d 84 0d
                DCI  $0fb1               ; 462f 2a 0f b1
                PI   FILLMEM             ; 4632 28 44 eb
                DCI  $0fba               ; 4635 2a 0f ba
                PI   FILLMEM             ; 4638 28 44 eb
A463b:          JMP  A41cc               ; 463b 29 41 cc

A463e:			db   $09,$00,$46,$47					;memcopied to ffa
			;note         ^^^^^^

A4642:			db   $01,$0f,$b1,$0f,$b1				;memcopied to ffb
     
     			;$4647
     			db   $2f,$9f,$0f,$7f,$ef,$5f,$cf,$00,$00,$ec,$ec,$ed,$ed,$ed,$ee,$ee,$e0,$00	;memcopied to fb1
     			
     			db   $70,$70,$70,$70,$70,$70,$70,$61,$01	;memcopied to fc3
                                
                db   $07,$07,$07,$07,$07,$07,$07,$01,$08	;memcopied to fc3
                
                db   $20,$20,$20,$20,$20,$20,$20,$20,$90,$30
                            
                db   $46,$5c,$70,$86,$9c,$b4,$40,$d0
                db   $00,$01,$02,$03,$04,$05,$06,$87,$08

                LR   K,P                 ; 4686 08
                LISU 2                   ; 4687 62
A4688:          LISL 0                   ; 4688 68
                LM                       ; 4689 16
                LR   $8,A                ; 468a 58
                LIS  $1                  ; 468b 71
                LR   $7,A                ; 468c 57
                LIS  $0                  ; 468d 70
                LR   $6,A                ; 468e 56
A468f:          LIS  $0                  ; 468f 70
                XS   $8                  ; 4690 e8
                BT   1,A4696             ; 4691 81 04
                LR   A,$6                ; 4693 46
                XS   $7                  ; 4694 e7
                LR   $6,A                ; 4695 56
A4696:          LR   A,$8                ; 4696 48
                SL   1                   ; 4697 13
                LR   $8,A                ; 4698 58
                LR   A,$7                ; 4699 47
                SL   1                   ; 469a 13
                LR   $7,A                ; 469b 57
                BF   $4,A468f            ; 469c 94 f2
                XDC                      ; 469e 2c
                LR   A,$6                ; 469f 46
                ST                       ; 46a0 17
                LR   A,(IS)+             ; 46a1 4d
                ADC                      ; 46a2 8e
                XDC                      ; 46a3 2c
                LR   A,(IS)+             ; 46a4 4d
                ADC                      ; 46a5 8e
                DS   (IS)                ; 46a6 3c
                BF   $4,A4688            ; 46a7 94 e0
                PK                       ; 46a9 0c

A46aa:          LR   K,P                 ; 46aa 08
                PI   PUSHK               ; 46ab 28 40 a9
                XDC                      ; 46ae 2c
                DCI  $0fcf               ; 46af 2a 0f cf
                LI   $ff                 ; 46b2 20 ff
                AMD                      ; 46b4 89
                DCI  $0fcf               ; 46b5 2a 0f cf
                ST                       ; 46b8 17
                LM                       ; 46b9 16
                LI   $ff                 ; 46ba 20 ff
                AMD                      ; 46bc 89
                DCI  $0fd1               ; 46bd 2a 0f d1
                ST                       ; 46c0 17
                LIS  $8                  ; 46c1 78
                LR   (IS),A              ; 46c2 5c
                DCI  $0fcc               ; 46c3 2a 0f cc
                LIS  $0                  ; 46c6 70
                XS   $3                  ; 46c7 e3
                BF   $4,A46ce            ; 46c8 94 05
                LIS  $2                  ; 46ca 72
                ADC                      ; 46cb 8e
                LIS  $6                  ; 46cc 76
                LR   (IS),A              ; 46cd 5c
A46ce:          XDC                      ; 46ce 2c
                PI   COPYMEMTOMEM        ; 46cf 28 43 cd	copy 6 bytes from
                PI   POPK                ; 46d2 28 40 bc
                PK                       ; 46d5 0c

                DI                       ; 46d6 1a			;how does execution get here?
                LI   $46                 ; 46d7 20 46
                OUTS 12                  ; 46d9 bc			;3853 interrupt addr vector hi
                LI   $f7                 ; 46da 20 f7
                OUTS 13                  ; 46dc bd			;3853 interrupt addr vector lo
                DCI  VIDEOMODE           ; 46dd 2a 0f ea
                LIS  $8                  ; 46e0 78
                OM                       ; 46e1 8b
                NI   $fd                 ; 46e2 21 fd
                DCI  VIDEOMODE           ; 46e4 2a 0f ea
                ST                       ; 46e7 17
                LISU 4                   ; 46e8 64
                LISL 6                   ; 46e9 6e
                DCI  $08fa               ; 46ea 2a 08 fa
                LM                       ; 46ed 16
                NI   $80                 ; 46ee 21 80
                SR   4                   ; 46f0 14
                LR   (IS)-,A             ; 46f1 5e
                LIS  $2                  ; 46f2 72
                AM                       ; 46f3 88
                LR   (IS),A              ; 46f4 5c
                BF   $0,A46f8            ; 46f5 90 02
                
                ;46f7 = 0100 0110 1111 0111 bit 7=1 must be 1 for ext int
INT3853:        LR   $0,A                ; 46f7 50		;3853 interrupt points here (from $46d6 above)
A46f8:          LR   J,W                 ; 46f8 1e
                LR   A,IS                ; 46f9 0a
                LISU 4                   ; 46fa 64
                LISL 0                   ; 46fb 68
                LR   (IS)+,A             ; 46fc 5d
                LR   A,QU                ; 46fd 02
                LR   (IS)+,A             ; 46fe 5d
                LR   A,QL                ; 46ff 03
                LR   (IS)+,A             ; 4700 5d
                LR   Q,DC                ; 4701 0e
                LIS  $8                  ; 4702 78
                SL   4                   ; 4703 15
                XS   (IS)                ; 4704 ec
                LR   (IS),A              ; 4705 5c
                BT   1,A4709             ; 4706 81 02
                LIS  $0                  ; 4708 70
A4709:          OUTS 0                   ; 4709 b0		;keyboard columns/joystick pots
                DCI  $0fde               ; 470a 2a 0f de
                LIS  $1                  ; 470d 71
                SL   4                   ; 470e 15
                XM                       ; 470f 8c
                OUTS 1                   ; 4710 b1		;keyboard rows/joystick buttons
                XI   $10                 ; 4711 23 10
                OUTS 1                   ; 4713 b1		;keyboard rows/joystick buttons
                LR   A,(IS)              ; 4714 4c
                SL   4                   ; 4715 15
                AS   (IS)+               ; 4716 cd
                LR   A,(IS)+             ; 4717 4d
                BF   $2,A471b            ; 4718 92 02
                INC                      ; 471a 1f
A471b:          AS   (IS)                ; 471b cc
                LR   (IS)+,A             ; 471c 5d
                LR   A,(IS)              ; 471d 4c
                LNK                      ; 471e 19
                LR   (IS)-,A             ; 471f 5e
                NI   $01                 ; 4720 21 01
                BT   4,A4734             ; 4722 84 11
                LR   A,(IS)              ; 4724 4c
                CI   $06                 ; 4725 25 06
                BT   2,A4734             ; 4727 82 0c
                AI   $fa                 ; 4729 24 fa
                LR   (IS)+,A             ; 472b 5d
                LIS  $8                  ; 472c 78
                NS   (IS)                ; 472d fc
                XI   $08                 ; 472e 23 08
                LR   (IS)-,A             ; 4730 5e
                BT   4,A4734             ; 4731 84 02
                DS   (IS)                ; 4733 3c
A4734:          DCI  $08f0               ; 4734 2a 08 f0
                LR   A,(IS)+             ; 4737 4d
                ST                       ; 4738 17
                LR   A,(IS)+             ; 4739 4d
                SL   4                   ; 473a 15
                SR   1                   ; 473b 12
                SL   4                   ; 473c 15
                LR   (IS),A              ; 473d 5c
                DCI  VIDEOMODE           ; 473e 2a 0f ea
                LM                       ; 4741 16
                NI   $7f                 ; 4742 21 7f
                XS   (IS)                ; 4744 ec
                DCI  VID_COMMAND       ; 4745 2a 08 f7
                ST                       ; 4748 17
                DCI  VIDEOMODE           ; 4749 2a 0f ea
                ST                       ; 474c 17
                LI   $f2                 ; 474d 20 f2
                ADC                      ; 474f 8e
                LM                       ; 4750 16
                OUTS 0                   ; 4751 b0		;keyboard columns/joystick pots
                LISL 2                   ; 4752 6a
                LR   DC,Q                ; 4753 0f
                LR   A,(IS)-             ; 4754 4e
                LR   QL,A                ; 4755 07
                LR   A,(IS)-             ; 4756 4e
                LR   QU,A                ; 4757 06
                LR   A,(IS)              ; 4758 4c
                LR   IS,A                ; 4759 0b
                LIS  $1                  ; 475a 71		;enable external int, disable timer int
                OUTS 14                  ; 475b be		;3853 interrupt control
                SL   4                   ; 475c 15
                XS   $9                  ; 475d e9
                LR   $9,A                ; 475e 59
                LR   A,$0                ; 475f 40
                LR   W,J                 ; 4760 1d
                POP                      ; 4761 1c
                
A4762:          LR   K,P                 ; 4762 08
                DCI  $0850               ; 4763 2a 08 50
                LIS  $4                  ; 4766 74
                SL   4                   ; 4767 15
                LR   $8,A                ; 4768 58
                LI   $ff                 ; 4769 20 ff
A476b:          ST                       ; 476b 17
                DS   $8                  ; 476c 38
                BF   $4,A476b            ; 476d 94 fd
                PK                       ; 476f 0c

PUSHGTEXT:		;PUSH G TO START
                db   $25,$03,$21,$19,$00,$1B,$00,$07,$13,$00,$21,$07,$11,$09,$07,$00
                                
A4780:			db   $38,$4e,$64,$78,$8e,$a4,$bc,$40,$56,$6c,$80,$96,$ac,$c4
                
A478e:          db   $aa,$f5,$40,$00,$e0,$04,$64		;memcopied to fe4
                
                LR   K,P                 ; 4795 08
                DCI  $0fdb               ; 4796 2a 0f db
                LR   Q,DC                ; 4799 0e
                LM                       ; 479a 16
                LR   $b,A                ; 479b 5b
                LM                       ; 479c 16
                LR   $a,A                ; 479d 5a
                SL   4                   ; 479e 15
                LR   $8,A                ; 479f 58
                LR   A,$b                ; 47a0 4b
                SR   4                   ; 47a1 14
                XS   $8                  ; 47a2 e8
                LR   $8,A                ; 47a3 58
                LR   A,$b                ; 47a4 4b
                SL   4                   ; 47a5 15
                INC                      ; 47a6 1f
                AS   $b                  ; 47a7 cb
                LR   DC,Q                ; 47a8 0f
                ST                       ; 47a9 17
                LR   A,$a                ; 47aa 4a
                LNK                      ; 47ab 19
                AS   $8                  ; 47ac c8
                ST                       ; 47ad 17
                PK                       ; 47ae 0c
                
                ; BOOT MENU TEXT:
                
                ;VIDEO BRAIN TM
                ;  CHOOSE KEY:
                ;TEXT COLOR CLOCK
                ;   ALARM -OR-
                ;ENTER CARTRIDGE
                
MENUTEXT:
				db   $2F,$01,$1F,$0B,$13,$00,$2D,$09,$11,$01,$2B,$00,$07,$29,$00,$00
				db   $00,$00,$31,$19,$13,$13,$21,$0B,$00,$15,$0B,$05,$2A,$00,$00,$00
				db   $07,$0B,$33,$07,$00,$31,$13,$27,$13,$09,$00,$31,$27,$13,$31,$15
				db   $00,$00,$00,$11,$27,$11,$09,$29,$00,$1C,$13,$09,$1C,$00,$00,$00
				db   $0B,$2B,$07,$0B,$09,$00,$31,$11,$09,$07,$09,$01,$1F,$1B,$0B
				db   $00,$00
				