User Tools

Site Tools


base:4_ways_scroll_part_2

4 ways scroll part 2

 
;  4 Ways Scroll
;  by malcolm bamber
;  http://www.dark-well.pwp.blueyonder.co.uk/
;  Assembler Used C64ASM.EXE
; part 2
;***********
;** SETUP ** 
;***********  					     				
setup				
lda #<55296			; store colour map address
sta Ptrcolour
lda #>55296
sta Ptrcolour+1
					
lda #<sparecolour		; store spare colour map address
sta PtrSparecolour
lda #>sparecolour
sta PtrSparecolour+1
										
lda #<(level+0)			; store map address
sta Ptrmap
lda #>(level+0)
sta Ptrmap+1
					
lda #<(levelcolour+0)		; store colour map address
sta Ptrmapcolour
lda #>(levelcolour+0)
sta Ptrmapcolour+1
					
lda #255			; turn cursor off
sta 204
lda #1
sta 649				; POKE 649,1 disable keyboard buffering
lda $D018			; set the computer to were the new chars set are and use them
and #240			; 11110000
ora #12				; 00001100
sta $D018		        ; set it at bank 1
 
;+-------+------+-------+----------+-------------------------------------+
;| VALUE | BITS |  BANK | STARTING |  VIC-II CHIP RANGE                  |
;|  OF A |      |       | LOCATION |                                     |
;+-------+------+-------+----------+-------------------------------------+
;|   0   |  00  |   3   |   49152  | ($C000-$FFFF)*                      |
;|   1   |  01  |   2   |   32768  | ($8000-$BFFF)                       |
;|   2   |  10  |   1   |   16384  | ($4000-$7FFF)*                      |
;|   3   |  11  |   0   |       0  | ($0000-$3FFF) (DEFAULT VALUE)       |
;+-------+------+-------+----------+-------------------------------------+

LDA $01                 	; switch off basic
AND #$FE
STA $01
					
lda #7
sta $D020			; border colour
lda #0
sta $D021 			; screen background colour
					
lda #11				; Brown
sta $D022   			; background colour 1
        	 	   	
lda #15				; Lt Red
sta $D023 			; background colour 1	
										
; D011 VIC Control Register
; 7	Raster Compare: (Bit 8)	See 53266
; 6	Extended Color Text Mode 1 = Enable
; 5	Bit Map Mode. 1 = Enable
; 4	Blank Screen to Border Color: 0 = Blank
; 3	Select 24/25 Row Text Display: 1 = 25 Rows
; 2	Smooth Scroll to Y Dot-Position (0-7)
; 1	Smooth Scroll to Y Dot-Position (0-7)
; 0	Smooth Scroll to Y Dot-Position (0-7)

lda #%00010111			; Select 24/25 Row Text Display: 1 = 25 Rows
sta $d011	
lda $d011			; set screen scroll position
and #%01111000
ora yscroll			; Smooth Scroll to Y Dot-Position (0-7)
sta $d011					 
												

; bit 0 1 2 of $d016 scroll screen left or right
; 0 = all the way to the right 
; 7 = all the way to the left		
; 3 = middle
; bit 4 of $d016 Select 38/40 Column Text Display: 1 = 40 Cols
; bit 5 of $d016 switch on mult colour

;+----------+---------------------------------------------------+
;| Bits 7-6 |    Unused                                         |
;| Bit  5   |    Reset-Bit: 1 = Stop VIC (no Video Out, no RAM  |
;|          |    refresh, no bus access)                        |
;| Bit  4   |    Multi-Color Mode: 1 = Enable (Text or Bitmap)  |
;| Bit  3   |    Select 38/40 Column Text Display: 1 = 40 Cols  |
;| Bits 2-0 |    Smooth Scroll to X Dot-Position (0-7)          |
;+----------+---------------------------------------------------+

lda #%00010111		        ; Select 38/40 Column Text Display: 1 = 40 Cols 
sta $d016
lda $d016			; set screen scroll position
and #%11111000
ora xscroll			; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
rts   
					
;******************
;* set up the irq *
;******************					 
setupirq			
SEI     		
LDA #$01
STA $D01A			; VIC Interrupt Mask Register (IMR)
LDA #<vblank
LDX #>vblank
STA $0314			; irq address 
STX $0315			; irq address 
LDY #raster		        ; 251 raster position 
STY $D012		        ; Raster Position
LDA #$7F
STA $DC0D		        ; CIA Interrupt Control Register
LDA $DC0D		        ; CIA Interrupt Control Register
CLI
rts
          										

;*************************************************
;* SWAP THE HIDDEN SCREEN FOR THE CURRENT SCREEN *
;*************************************************
swapscreen			
lda whichscreen		        ; which screen is beening shown
cmp #0				; screen address 3072 is not beening shown
bne _buf
lda $D018 			; current screen 
and #%00001111				
ora #16				; set current screen that you can see to 1024 
sta $D018  
lda #(3072/256)			; not need on pcKERNAL'S screen editor 
sta 648
lda #<1024			; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>1024
sta Ptrscreen+1		        ; set current screen bitmap
lda #<3072			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>3072
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #1
sta whichscreen
;inc $d020
rts
_buf				
lda $D018 		        ; set default screeh
and #%00001111
ora #48			        ; set current screen that you can see to 3072
sta $D018  	
lda #(1024/256)			; not need on pc KERNAL'S screen editor 
sta 648
lda #<3072		        ; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>3072
sta Ptrscreen+1			; set current screen bitmap
lda #<1024			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>1024
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #0
sta whichscreen
;inc $d020
_swapquit			
rts

;**************
;* SET CURSOR *
;**************
setcursor			
clc
ldy xcursor			; across horizontal column number in the .Y register
ldx ycursor			; down the vertical row number in the .X register
jsr 65520					
rts
;**************					
;* GET CURSOR *					
;**************
getcursor			
sec
jsr 65520	
sty xcursor			; across horizontal column number in the .Y register
stx ycursor			; down the vertical row number in the .X register
rts				
					
xcursor				
.byte 8	                        ; cursor position were any printing will be done on screen
ycursor				
.byte 2     	                ; ditto	

;***************************************
;* PRINT A 16 BIT NUMBER TO THE SCREEN *
;* X = low byte = temp0                *
;* Y = high byte =temp1		       *	  
;***************************************
printnum			
stx temp20
sty temp21 
jsr clearbuffer	
ldy #5				; were in buffer to store number image
_LOOP	  			
lda #00				; **** DO 16 bit divide ****
ldx #16				; 16-bit number (in temp16..temp16+1 count 
                                ; how many number we have done
_loop0	    		
asl temp20			; shift one bit position towards the "left" 
                                ; Shift least significant byte
rol temp21 		  	; Shift next-to-least-significant byte with carry
rol				; Shift next-to-least-significant byte with carry
cmp #10 			; 8-bit number must be 10 to show a 16 bit number
bcc _loop2			; 10>a
sbc #10				; 8-bit number must be 10 to show a 16 bit number
inc temp20
_loop2       		
dex				;  
bne _loop0			; IF NOT ZERO **** STOP 16 bit divide ****
          			
clc				; move left one position for next number to be save
adc #48			        ; 0 plus 48 = zero to nine ancii number
sta stringbuffer,y	        ; store it
dey				; next memory address in buffer
cpy #0
bne _LOOP			; no more number to convert
         			
         		        ; from here the number is in the stringbuffer
         		        ; go past any leading zeros in number buffer
ldy #1				; first number position in buffer
_donext				
lda stringbuffer,y		; get number
cmp #48				; look for zero
bne _print			; yes
iny 				; move to next number
cpy #5			        ; are we on the last number position 
bne _donext			; jump out and print what ever is there
          			          			
_print     			
lda #28				; text colour red
jsr $ffd2
          			         			
_getnextchar	   	
lda stringbuffer,y		; address of string
jsr $ffd2			; call CHROUT
iny				; move to next letter
cpy #6				; 5 numbers in 16 bit address last letter to print
bne _getnextchar 		; 
rts
					
stringbuffer		
.byte 0,0,0,0,0,0               ; maximum 65535

;***********************************************************					
; SET THE PRINTNUM TO MOVE TO THE NEXT LINE AFTER PRINTING *					
;***********************************************************
carryagereturn		
lda #13
jsr $ffd2
lda #10
jsr $ffd2
lda #0
jsr $ffd2
rts
clearbuffer			
ldy #0
_clearbuffer0		
lda #48				; this clear the buffer we use to print a 16 bit number
sta stringbuffer,y
iny
cpy #5
bne _clearbuffer0
rts				
						
;*************************************
;* MULTIPLIY                         *
;* temp0 - temp7                     *
;* temp0 = low byte of number        *
;* temp1 = high byte of number       *
;* temp2 = low byte of multiplicand  * 
;* temp3 = high byte of multiplicand *
;* temp4 = low byte of result        *
;* temp5 = high byte of result       *
;*************************************
mult16				
lda #0				; product
sta temp4
lda #0
sta temp5  	 					
lda #$00
sta temp6 		        ; clear upper bits of product
sta temp7 
ldx #$10 			; set binary count to 16 
shift_r 			
lsr temp1 			; divide multiplier by 2 
ror temp0
bcc rotate_r 
lda temp6 			; get upper half of product and add multiplicand
clc
adc temp2
sta temp6
lda temp7
adc temp3
rotate_r 			
ror 				; rotate partial product 
sta temp7 
ror temp6
ror temp5 
ror temp4 
dex
bne shift_r 
rts					
					         			
;********************
;* DO SCREEN SCROLL *
;********************   
vblank				
lda #1
sta sync  
  					
lda scrollstop			; FLAG FOR WAITING FOR JOYSTICK TO SET XSCROLL FOR SCROLLING 
                                ; THE SCREEN			
cmp #0				; STILL WAITING FOR JOYSTICK
beq vblankquit
lda scrollstop	
cmp #2 							
beq updownscroll		; DO UP OR DOWN SCREEN SCROLL
jmp leftrightscroll		; DO LEFT OR RIGHT SCREEN SCROLL
  					
vblankquit			
lda #$ff			; QUIT OUT AND WAIT
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31			; quit out
 	
;*********************************************************          			
;** SCROLL THE SCREEN UP OR DOWN USING YSCROLL AND MAPY **
;*********************************************************

updownscroll		
lda yscroll			; CURRENT YSCROLL VALUE	
;dec $d020					
_ck7				
cmp #7				; DOING NOUT 
bne _ck6			; NO MATCH SO CHECK NEXT VALUE
 					
lda #1				; SET NEW FLAG VALUE
sta yscroll		        ; SET YSCROLL FOR NEXT IRQ CALL 
   					
lda $d011			; set screen scroll position
and #%01111000
ora #7				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	 
   					
lda udflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1	
bne _not7next	
LDA #<IRQUPDOWN2		; COPY COLOURS TO CURRENT SCREEN FROM HIDDEN COLOUR MAP
LDX #>IRQUPDOWN2
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_not7next          	
LDA #<IRQUPDOWN		        ; COPY COLOURS TO CURRENT SCREEN FROM HIDDEN COLOUR MAP
LDX #>IRQUPDOWN
STA $0314		        ; irq address 
STX $0315		        ; irq address 
_ck7quit			
lda #$ff
sta $D019		        ; VIC Interrupt Request Register (IRR)	
jmp $ea31
							
_ck6				
cmp #6				; CARRY ON TO FOUR
bne _ck5			; NO MATCH SO CHECK NEXT VALUE
lda #4				; SET NEW FLAG VALUE
sta yscroll		        ; SET YSCROLL FOR NEXT IRQ CALL  
   					   							
_ck6quit			
lda #$ff
sta $D019		        ; VIC Interrupt Request Register (IRR)	
jmp $ea31
 					
_ck5				
cmp #5			        ; CONTINUE SCROLL UP 
bne _ck4			; NO MATCH SO CHECK NEXT VALUE
  					
lda Ptrhiddenscreen		; hidden screen address
sta temp1
lda Ptrhiddenscreen+1
sta temp2
lda PtrSparecolour		; colour address
sta temp3
lda PtrSparecolour+1
sta temp4					
jsr filltop			; CALL FILLTOP
					
lda #7				; SET SCREEN SCROLL POSITION 
sta yscroll			; SAVE NEW SCROLL POSITION 
   					
lda $d011			; set screen scroll position
and #%01111000
ora #5				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
   				
_ck5quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31

_ck4				
cmp #4				; START SCROLL DOWN 
bne _ck3			; NO MATCH SO CHECK NEXT VALUE
  					
inc udflag			; WE SCROLL EACH WAY TWO TIMES
lda udflag
cmp #1				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuey4b		; NO
cmp #2				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuey4a		; NO
lda #0				; STOP SCROLLING
sta scrollstop			; SET IRQ TO STOP UNTIL JOYTSTICK IS MOVED AGAIN
sta udflag
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
  					
_ckcontinuey4a		
lda mapy			; GET VALUE OF MAP POINTER
cmp #maxheight			; MAKE SURE WE CAN STILL MOVE DOWN 
beq _ckcontinuey4b		; NO
inc mapy			; MOVE MAP POINTER DOWN ONE LINE			
_ckcontinuey4b		
ldx #1				; COPY SCREEN UP ONE POSITION
jsr copyscreenlu		; CALL copyscreenlu
					
lda #2				; SET NEW FLAG VALUE
sta yscroll		        ; SET YSCROLL FOR NEXT IRQ CALL  
   				
lda $d011		        ; set screen scroll position
and #%01111000
ora #4				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
   					
_ck4quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31 

_ck3				
cmp #3				; START SCROLL UP 
bne _ck2			; NO MATCH SO CHECK NEXT VALUE
  					
inc udflag
  					
lda udflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuey3a		; NO
cmp #2				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuey3b		; NO
lda #0				; STOP SCROLLIMG
sta scrollstop			; SET IRQ TO STOP UNTIL JOYTSTICK IS MOVED AGAIN
sta udflag
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
  					
_ckcontinuey3a  	
lda mapy			; GET VALUE OF MAP POINTER
cmp #0				; MAKE SURE WE CAN STILL MOVE DOWN 
beq _ckcontinuey3b		; NO
dec mapy			; MOVE MAP POINTER DOWN ONE LINE				
_ckcontinuey3b		
ldx #1			        ; SET COPY SCREEN DOWN
jsr copyscreenrd		; CALL COPYSCREENRD	
					
lda $d011			; set screen scroll position
and #%01111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
					
lda #5				; NEW VALUE FOR YSCROLL
sta yscroll			; SET NEW YSCROLL VALUE 
   										
_ck3quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31

_ck2				
cmp #2				; CONTINUE SCROLL DOWN 
bne _ck1			; NO MATCH SO CHECK NEXT VALUE
	                        
                                ; SET UP POINTER FOR BOTTOM ROW
clc				; POSITION ROW BOTTOM OF SCREEN
lda Ptrhiddenscreen		; hidden screen address
adc #<960	
sta temp1
lda Ptrhiddenscreen+1
adc #>960
sta temp2
					
clc
lda PtrSparecolour		; colour address
adc #<960
sta temp3
lda PtrSparecolour+1
adc #>960
sta temp4									
jsr fillbottom		        ; CALL FILLTOPBOTTOM
				
lda #0				; SET SCREEN SCROLL POSITION FLAG
sta yscroll		        ; STORE YSCROLL POSITION 

_ck2quit 			
lda $d011			; set screen scroll position
and #%01111000
ora #2				; Smooth Scroll to x Dot-Position (0-7)
sta $d011			
					
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31  
				 
_ck1				
cmp #1 				; DOING NOUT 
bne _ck0			; NO MATCH SO CHECK NEXT VALUE
lda #3			        ; SET NEW FLAG VALUE
sta yscroll		        ; SET YSCROLL FOR NEXT IRQ CALL  
   										
_ck1quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
				 
_ck0				
cmp #0 				; DOING NOUT 
bne ckyquit			; NO MATCH SO GO TO RESET
 					
lda #6				; SET NEW FLAG VALUE
sta yscroll		        ; SET YSCROLL FOR NEXT IRQ CALL 
   					
lda $d011		        ; set screen scroll position
and #%01111000
ora #0				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
   					
lda udflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1	
bne _not0next
LDA #<IRQUPDOWN			; COPY COLOURS FROM HIDDEN COLOUR MAP TO CURRENT COLOUR MAP
LDX #>IRQUPDOWN
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019		        ; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_not0next          	
LDA #<IRQUPDOWN2		; COPY COLOURS FROM HIDDEN COLOUR MAP TO CURRENT COLOUR MAP
LDX #>IRQUPDOWN2
STA $0314			; irq address 
STX $0315			; irq address 
ckyquit				
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31

;************************************************************          			
;** SCROLL THE SCREEN LEFT OR RIGHT USING XSCROLL AND MAPX **
;************************************************************					
leftrightscroll		
lda xscroll			; CURRENT XSCROLL VALUE	
								
_ck7				
cmp #7				; DOING NOUT 
bne _ck6			; NO MATCH SO CHECK NEXT VALUE
 					
lda #1				; SET SCREEN SCROLL POSITION 
sta xscroll			; SAVE NEW SCROLL POSITION 
 					
lda $d016			; set screen scroll position
and #%11111000
ora #7				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
					
lda lrflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1	
bne _not7next
LDA #<irqleftright2		; COPY COLOURS TO CURRENT SCREEN FROM HIDDEN COLOUR MAP
LDX #>irqleftright2
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_not7next           
LDA #<irqleftright	        ; COPY COLOURS TO CURRENT SCREEN FROM HIDDEN COLOUR MAP
LDX #>irqleftright
STA $0314			; irq address 
STX $0315			; irq address 
_ck7quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
						
_ck6				
cmp #6				; DOING NOUT 
bne _ck5			; NO MATCH SO CHECK NEXT VALUE
 					
lda #4			        ; SET SCREEN SCROLL POSITION 
sta xscroll			; SAVE NEW SCROLL POSITION 
   					
_ck6quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
	 					
_ck5				
cmp #5				; CONTINUE SCROLL LEFT 
bne _ck4			; NO MATCH SO CHECK NEXT VALUE
lda Ptrhiddenscreen	        ; hidden screen address
sta temp1
lda Ptrhiddenscreen+1
sta temp2
					
lda PtrSparecolour		; colour address
sta temp3
lda PtrSparecolour+1
sta temp4
jsr fillleftside		; CALL FILLLEFTSIDE
									
lda #7				; SET SCREEN SCROLL POSITION 
sta xscroll			; SAVE NEW SCROLL POSITION 
lda $d016			; set screen scroll position
and #%11111000
ora #5			        ; Smooth Scroll to x Dot-Position (0-7)
sta $d016	

_ck5quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
_ck4				
cmp #4				; START SCROLL RIGHT 
bne _ck3			; NO MATCH SO CHECK NEXT VALUE
  					
inc lrflag
  					
lda lrflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinue4b		; NO
cmp #2				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinue4a		; NO
lda #0				; STOP SCROLLIMG
sta scrollstop			; SET IRQ TO STOP UNTIL JOYTSTICK IS MOVED AGAIN
sta lrflag
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
  					
_ckcontinue4a  		
lda mapx			; GET VALUE OF MAP POINTER
cmp #maxwidth		        ; MAKE SURE WE CAN STILL MOVE RIGHT 
beq _ckcontinue4b		; NO
inc mapx			; MOVE MAP POINTER RIGHT ONE TILE			
					
_ckcontinue4b		
ldx #0				; COPY SCREEN LEFT ONE POSITION
jsr copyscreenlu		; CALL COPYSCREENlU
					
lda #2				; SET NEW FLAG VALUE
sta xscroll			; SET XSCROLL FOR NEXT IRQ CALL  
lda $d016			; set screen scroll position
and #%11111000
ora #4				; Smooth Scroll to x Dot-Position (0-7)
sta $d016						
_ck4quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31 

_ck3				
cmp #3				; START SCROLL LEFT 
bne _ck2			; NO MATCH SO CHECK NEXT VALUE
  					
inc lrflag
  					
lda lrflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuex3a	        ; NO
cmp #2				; DO WE NEED TO SCROLL AGAIN
beq _ckcontinuex3b		; NO
lda #0				; STOP SCROLLIMG
sta scrollstop			; SET IRQ TO STOP UNTIL JOYTSTICK IS MOVED AGAIN
sta lrflag
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
  					
_ckcontinuex3a		
lda mapx		        ; GET VALUE OF MAP POINTER
cmp #0				; MAKE SURE WE CAN STILL MOVE LEFT
beq _ckcontinuex3b	        ; NO
dec mapx			; MOVE MAP POINTER LEFT ONE LINE
 					
_ckcontinuex3b		
ldx #0			        ; SET COPY SCREEN LEFT
jsr copyscreenrd		; CALL COPYSCREENRD	
					
lda #5				; NEW VALUE FOR XSCROLL
sta xscroll			; SET NEW XSCROLL VALUE 
   					
lda $d016			; set screen scroll position
and #%11111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
									  
_ck3quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31

_ck2				
cmp #2				; CONTINUE SCROLL RIGHT 
bne _ck1			; NO MATCH SO CHECK NEXT VALUE
					
lda Ptrhiddenscreen		; hidden screen address
sta temp1
lda Ptrhiddenscreen+1
sta temp2
lda PtrSparecolour		; colour address
sta temp3
lda PtrSparecolour+1
sta temp4					
jsr fillrightside		; CALL FILLRIGHTSIDE
					
lda #0				; SET SCREEN SCROLL POSITION 
sta xscroll			; SAVE NEW SCROLL POSITION 
   					
lda $d016		        ; set screen scroll position
and #%11111000
ora #2				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	

_ck2quit 			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31  
					 
_ck1				
cmp #1 				; DOING NOUT 
bne _ck0			; NO MATCH SO CHECK NEXT VALUE
 					
lda #3				; SET SCREEN SCROLL POSITION 
sta xscroll			; SAVE NEW SCROLL POSITION 
  					
_ck1quit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
					 
_ck0				
cmp #0 				; DOING NOUT 
bne ckxquit			; NO MATCH SO QUIT OUT
 					
lda #6				; SET SCREEN SCROLL POSITION 
sta xscroll		        ; SAVE NEW SCROLL POSITION 
lda $d016			; set screen scroll position
and #%11111000
ora #0				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
					
lda lrflag			; WE SCROLL EACH WAY TWO TIMES
cmp #1	
bne _not0next
LDA #<irqleftright		; COPY COLOURS FROM HIDDEN COLOUR MAP TO CURRENT COLOUR MAP
LDX #>irqleftright
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019		        ; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_not0next			
LDA #<irqleftright2	        ; COPY COLOURS FROM HIDDEN COLOUR MAP TO CURRENT COLOUR MAP
LDX #>irqleftright2
STA $0314			; irq address 
STX $0315			; irq address 
ckxquit			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31

IRQUPDOWN			
;inc $d020
ldy #0				; COPY COLOUR FOR SCROLL DOWN OR UP
_loop				
lda sparecolour,y  		; LINE 0 IF GOING UP CHANGE THIS ONE			
sta 55296,y			; 0
sta 55297,y
lda sparecolour+40,y  		; 1			
sta 55296+40,y
sta 55296+41,y	
lda sparecolour+120,y  		; 3			
sta 55296+120,y	
sta 55296+121,y	
lda sparecolour+200,y  	        ; 5			
sta 55296+200,y
sta 55296+201,y	
lda sparecolour+280,y  		; 7			
sta 55296+280,y
sta 55296+281,y	
lda sparecolour+360,y  		; 9			
sta 55296+360,y	
sta 55296+361,y
lda sparecolour+440,y  		; 11			
sta 55296+440,y	
sta 55296+441,y	
lda sparecolour+520,y  		; 13			
sta 55296+520,y	
sta 55296+521,y
lda sparecolour+600,y  		; 15			
sta 55296+600,y	
sta 55296+601,y
lda sparecolour+680,y  		; 17			
sta 55296+680,y	
sta 55296+681,y	
lda sparecolour+760,y  	        ; 19			
sta 55296+760,y	
sta 55296+761,y
lda sparecolour+840,y  		; 21			
sta 55296+840,y	
sta 55296+841,y
lda sparecolour+920,y  		; 23			
sta 55296+920,y	
sta 55296+921,y	
lda sparecolour+960,y  		; YES LINE 24 IF GOING DOWN CHANGE THIS ONE			
sta 55296+960,y	
sta 55296+961,y
iny	
iny				; move to next line
cpy #40				; 40 across count
beq _irq1quit
jmp _loop
_irq1quit			
;dec $d020
jmp IRQSWAPSCREEN

;*********************************************************************************
IRQUPDOWN2			
;inc $d020
ldy #0
_loop				
lda sparecolour,y  		; 0			
sta 55296,y	
sta 55297,y
lda sparecolour+80,y  	        ; 2	
sta 55296+80,y	
sta 55296+81,y	
lda sparecolour+160,y  		; 4			
sta 55296+160,y	
sta 55296+161,y
lda sparecolour+240,y  		; 6			
sta 55296+240,y	
sta 55296+241,y	
lda sparecolour+320,y  		; 8			
sta 55296+320,y	
sta 55296+321,y	
lda sparecolour+400,y  	        ; 10			
sta 55296+400,y	
sta 55296+401,y	
lda sparecolour+480,y  		; 12			
sta 55296+480,y	
sta 55296+481,y
lda sparecolour+560,y  		; 14			
sta 55296+560,y	
sta 55296+561,y	
lda sparecolour+640,y  		; 16			
sta 55296+640,y		
sta 55296+641,y	
lda sparecolour+720,y  		; 18			
sta 55296+720,y	
sta 55296+721,y		
lda sparecolour+800,y   	; 20		
sta 55296+800,y
sta 55296+801,y	
lda sparecolour+880,y  		; 22			
sta 55296+880,y	
sta 55296+881,y	
lda sparecolour+960,y  		; 24			
sta 55296+960,y	
sta 55296+961,y	
iny				; move to next line
iny	
cpy #40				; 40 across count
beq irq2quit
jmp _loop
  					
irq2quit			
IRQSWAPSCREEN		
lda whichscreen			; which screen is beening shown
cmp #0				; screen address 3072 is not beening shown
bne _buf
lda $D018 			; current screen 
and #%00001111				
ora #16				; set current screen that you can see to 1024 
sta $D018  
lda #(3072/256)		        ; not need on pcKERNAL'S screen editor 
sta 648
lda #<1024			; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>1024
sta Ptrscreen+1			; set current screen bitmap
lda #<3072			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>3072
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #1
sta whichscreen
lda $d011		        ; set screen scroll position
and #%01111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
  				
LDA #<vblank			; wait for start of the scroll screen
LDX #>vblank
STA $0314			; irq address 
STX $0315			; irq address 
          			
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_buf			
lda $D018 			; set default screen
and #%00001111
ora #48				; set current screen that you can see to 3072
sta $D018  	
lda #(1024/256)			; not need on pc KERNAL'S screen editor 
sta 648
lda #<3072			; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>3072
sta Ptrscreen+1			; set current screen bitmap
lda #<1024			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>1024
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #0
sta whichscreen
  					
lda $d011			; set screen scroll position
and #%01111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d011	
  					
LDA #<vblank			; wait for start of the scroll screen
LDX #>vblank
STA $0314			; irq address 
STX $0315		        ; irq address 
          					
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31
;*********************************************************************************

irqleftright		
;inc $d020
ldy #1				; COPY ODD NUMBERS
_loop				
lda sparecolour+0,y  		; 0			
sta 55296,y	
lda sparecolour+40,y  		; 1			
sta 55296+40,y	
lda sparecolour+80,y  		; 2			
sta 55296+80,y	
lda sparecolour+120,y  		; 3			
sta 55296+120,y	
lda sparecolour+160,y  		; 4			
sta 55296+160,y	
lda sparecolour+200,y  		; 5			
sta 55296+200,y	
lda sparecolour+240,y  		; 6			
sta 55296+240,y	
lda sparecolour+280,y  		; 7			
sta 55296+280,y	
lda sparecolour+320,y  	        ; 8			
sta 55296+320,y	
lda sparecolour+360,y  		; 9		
sta 55296+360,y	
lda sparecolour+400,y  		; 10			
sta 55296+400,y	
lda sparecolour+440,y  		; 11			
sta 55296+440,y	
lda sparecolour+480,y  		; 12			
sta 55296+480,y	
lda sparecolour+520,y  		; 13			
sta 55296+520,y	
lda sparecolour+560,y  		; 14			
sta 55296+560,y	
lda sparecolour+600,y  		; 15			
sta 55296+600,y	
lda sparecolour+640,y  		; 16			
sta 55296+640,y	
lda sparecolour+680,y  		; 17			
sta 55296+680,y	
lda sparecolour+720,y  		; 18			
sta 55296+720,y	
lda sparecolour+760,y  		; 19			
sta 55296+760,y	
lda sparecolour+800,y   	; 20		
sta 55296+800,y	
lda sparecolour+840,y  		; 21			
sta 55296+840,y	
lda sparecolour+880,y  		; 22			
sta 55296+880,y	
lda sparecolour+920,y  		; 23			
sta 55296+920,y	
lda sparecolour+960,y  		; 24			
sta 55296+960,y	
iny	
iny				; move to next line
;dec $d020
cpy #39				; 40 across count
beq _irq1quit
jmp _loop
  					
_irq1quit			
;dec $d020
jmp IRQSWAPSCREEN2
		          	
;*********************************************************************************          			
irqleftright2		
;inc $d020
ldy #0				; COPY EVEN NUMBERS 
_loop				
					
lda sparecolour+0,y  		; 0			
sta 55296,y	
lda sparecolour+40,y  		; 1			
sta 55296+40,y	
lda sparecolour+80,y  		; 2			
sta 55296+80,y	
lda sparecolour+120,y  		; 3			
sta 55296+120,y	
lda sparecolour+160,y  		; 4			
sta 55296+160,y	
lda sparecolour+200,y  		; 5			
sta 55296+200,y	
lda sparecolour+240,y  		; 6			
sta 55296+240,y	
lda sparecolour+280,y  		; 7			
sta 55296+280,y	
lda sparecolour+320,y  	        ; 8			
sta 55296+320,y	
lda sparecolour+360,y  		; 9			
sta 55296+360,y	
lda sparecolour+400,y  		; 10			
sta 55296+400,y	
lda sparecolour+440,y  		; 11			
sta 55296+440,y	
lda sparecolour+480,y  		; 12			
sta 55296+480,y	
lda sparecolour+520,y  		; 13			
sta 55296+520,y	
lda sparecolour+560,y  		; 14			
sta 55296+560,y	
lda sparecolour+600,y  		; 15			
sta 55296+600,y	
lda sparecolour+640,y  		; 16			
sta 55296+640,y	
lda sparecolour+680,y  		; 17			
sta 55296+680,y	
lda sparecolour+720,y  		; 18			
sta 55296+720,y	
lda sparecolour+760,y  		; 19			
sta 55296+760,y	
lda sparecolour+800,y   	; 20		
sta 55296+800,y	
lda sparecolour+840,y  		; 21			
sta 55296+840,y	
lda sparecolour+880,y  		; 22			
sta 55296+880,y	
lda sparecolour+920,y  		; 23			
sta 55296+920,y	
lda sparecolour+960,y  		; 24			
sta 55296+960,y	
;inc $d020
iny	  			
iny				; move to next line
cpy #40				; 40 across count
beq irq1quit
jmp _loop
  					
irq1quit			
;dec $d020

IRQSWAPSCREEN2
					
lda whichscreen		        ; which screen is beening shown
cmp #0				; screen address 3072 is not beening shown
bne _buf
lda $D018 			; current screen 
and #%00001111				
ora #16				; set current screen that you can see to 1024 
sta $D018  
lda #(3072/256)			; not need on pcKERNAL'S screen editor 
sta 648
lda #<1024			; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>1024
sta Ptrscreen+1			; set current screen bitmap
lda #<3072			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>3072
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #1
sta whichscreen
lda $d016		        ; set screen scroll position
and #%11111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
LDA #<vblank			; wait for start of the scroll screen
LDX #>vblank
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019		        ; VIC Interrupt Request Register (IRR)	
jmp $ea31
          			
_buf				
lda $D018 			; set default screeh
and #%00001111
ora #48				; set current screen that you can see to 3072
sta $D018  	
lda #(1024/256)			; not need on pc KERNAL'S screen editor 
sta 648
lda #<3072		        ; set address of screen you can see
sta Ptrscreen			; set current screen bitmap
lda #>3072
sta Ptrscreen+1			; set current screen bitmap
lda #<1024			; set address of screen that is hidden
sta Ptrhiddenscreen		; set hidden screen bitmap
lda #>1024
sta Ptrhiddenscreen+1		; set hidden screen bitmap
lda #0
sta whichscreen
lda $d016			; set screen scroll position
and #%11111000
ora #3				; Smooth Scroll to x Dot-Position (0-7)
sta $d016	
LDA #<vblank			; wait for start of the scroll screen
LDX #>vblank
STA $0314			; irq address 
STX $0315			; irq address 
lda #$ff
sta $D019			; VIC Interrupt Request Register (IRR)	
jmp $ea31          	
          			
;***********************
;* RANDOM NUMBER MAKER *
;*********************** 
random			  	
lda $DC04   			; CIA#1  Timer A  Lo byte 
eor $DC05   			; CIA#1  Timer A  Hi byte 
eor $DD04   			; CIA#2  Timer A  Lo byte 
adc $DD05   			; CIA#2  Timer A  Hi byte 
eor $DD06   			; CIA#2  Timer B  Lo byte 
eor $DD07   			; CIA#2  Timer B  Hi byte 
rts  
       					
       
; 	level char and colour data loaded here                 	          	
;	Map Size X         59
;	Map Size Y         36
;	Mult Colour Flag   1
;	Back Ground Colour 0
;	Mult Colour 1      11
;	Mult Colour 2      15
;	Tile Size          2
;	Clear Value        27	tile used to clear a space
 
level
.byte 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31
.byte 31,35,35,35,31,35,35,35,35,35,35,35,31,74,35,35,35,35,35,35,35,94,98,94,31,35,82,82,82,82,31,35,35,132,35,136,31,31,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,31,35,58,31
.byte 31,35,35,35,31,35,31,31,35,31,31,35,31,35,78,94,35,128,35,94,128,35,94,98,31,35,82,82,82,82,31,136,35,35,35,35,31,31,66,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,70,35,82,31
.byte 31,31,35,31,31,35,31,35,35,35,31,35,31,35,94,98,94,35,94,98,94,35,35,94,31,35,82,82,82,82,31,128,35,132,35,136,31,74,35,74,31,74,74,74,74,31,82,78,86,31,136,90,136,31,35,31,35,58,31
.byte 31,35,35,35,35,35,31,35,35,35,31,35,31,35,35,94,35,35,35,94,35,35,35,35,31,66,31,31,31,31,31,35,35,35,35,35,31,82,35,82,31,136,136,136,136,31,82,35,86,31,136,136,136,31,35,31,31,31,31
.byte 31,35,31,31,66,31,31,31,31,31,31,35,31,128,35,35,35,128,35,35,35,35,35,35,31,35,35,35,35,35,35,35,35,35,35,35,31,74,35,74,31,136,136,136,136,31,82,35,86,31,136,136,136,31,35,31,35,58,31
.byte 31,35,31,35,128,35,31,78,35,82,31,35,31,35,94,35,35,35,74,94,35,35,128,35,31,35,31,31,66,31,31,31,66,31,31,35,31,82,35,82,31,136,136,136,136,31,31,66,31,31,136,136,136,31,35,70,35,82,31
.byte 31,35,31,35,128,35,31,35,136,82,31,35,31,35,98,94,35,35,94,98,94,35,35,35,31,35,31,128,128,128,31,128,128,128,31,35,31,74,35,74,31,136,136,136,136,31,140,140,140,31,35,35,35,31,35,31,35,58,31
.byte 31,35,31,128,78,128,31,136,35,82,31,35,31,78,94,98,94,35,35,94,35,35,35,94,31,66,31,128,128,128,31,128,128,128,31,35,31,86,78,86,31,35,35,35,62,35,140,140,140,31,35,35,35,31,35,31,31,31,31
.byte 31,35,31,31,31,31,31,31,66,31,31,35,31,31,31,31,31,35,35,128,35,35,94,98,94,128,31,128,128,128,31,128,128,128,31,35,31,31,31,31,31,35,35,62,62,31,140,140,140,31,35,35,35,31,35,31,35,58,31
.byte 31,35,35,35,35,31,31,35,35,136,31,35,31,78,35,140,31,35,82,94,35,35,35,94,35,35,31,31,31,31,31,31,31,31,31,35,31,82,74,82,31,35,62,62,35,31,31,31,31,31,35,35,35,31,35,70,35,82,31
.byte 31,35,31,31,66,31,31,136,35,35,31,35,70,140,35,35,31,35,94,98,94,35,35,35,35,35,31,78,35,35,74,35,35,78,31,35,70,35,35,74,31,62,62,35,35,70,136,136,136,31,35,35,35,31,35,31,35,58,31
.byte 31,35,31,58,35,58,31,35,35,35,31,35,31,35,35,140,31,35,35,94,82,35,128,35,35,94,31,132,132,132,35,140,140,140,31,35,31,82,74,82,31,62,35,35,35,31,136,136,136,31,31,66,31,31,35,31,31,31,31
.byte 31,35,31,35,140,35,35,35,35,140,31,35,31,31,31,31,31,31,35,31,35,35,35,35,94,98,31,132,132,132,35,140,140,140,31,35,31,31,31,31,31,31,31,31,31,31,31,35,31,31,31,35,35,35,35,35,35,35,31
.byte 31,35,31,58,35,58,31,35,35,35,31,35,35,35,35,31,35,35,128,31,78,35,82,94,98,94,31,132,132,132,35,140,140,140,31,35,31,58,132,132,132,35,35,35,35,35,35,35,82,82,31,35,35,35,35,35,35,35,31
.byte 31,35,31,31,31,31,31,31,31,31,31,31,31,66,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,66,31,31,31,31,35,31,90,132,132,132,35,35,35,35,35,35,35,35,82,31,35,35,35,35,35,35,35,31
.byte 31,35,31,35,35,140,62,35,35,98,35,35,62,128,35,31,35,35,35,132,35,35,31,132,132,35,140,140,140,31,35,35,35,35,35,35,31,58,132,132,132,35,35,35,35,35,35,35,35,35,31,35,35,35,35,35,35,35,31
.byte 31,35,31,94,35,35,62,62,98,94,98,62,62,35,35,31,31,35,94,98,94,35,31,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,35,31,35,31,128,128,128,31,35,35,35,35,35,35,35,31
.byte 31,35,31,98,94,62,62,62,35,98,35,62,62,62,35,98,31,35,98,94,98,35,31,136,31,136,31,136,31,136,31,136,31,136,31,74,82,82,82,74,31,136,31,136,31,136,31,128,128,128,31,35,35,35,35,35,35,35,31
.byte 31,35,31,94,35,140,62,35,35,35,35,35,62,35,98,94,31,35,94,98,94,35,31,136,31,136,31,136,31,136,31,136,31,136,31,82,35,35,35,82,31,62,31,62,31,62,31,128,128,128,31,31,31,31,31,31,31,31,31
.byte 31,35,31,140,35,35,94,35,132,35,132,35,98,128,35,98,31,35,35,35,35,136,35,35,35,35,35,35,35,35,35,35,35,35,31,82,35,35,35,82,31,136,31,136,31,136,31,128,128,128,31,35,136,136,35,35,136,35,31
.byte 31,35,31,62,62,94,98,94,35,94,35,98,94,98,62,62,31,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,31,82,35,35,35,82,31,62,31,62,31,62,31,128,128,128,31,136,35,35,136,136,35,136,31
.byte 31,35,31,35,140,35,94,35,35,35,132,35,98,35,35,62,31,35,98,94,98,35,31,128,31,128,31,128,31,128,31,128,31,35,31,74,35,35,35,74,31,136,31,136,31,136,31,74,74,74,31,35,136,35,35,136,35,35,31
.byte 31,35,31,94,35,35,62,62,132,35,35,62,62,35,132,94,31,128,94,98,94,35,31,128,31,128,31,128,31,128,31,128,31,66,31,31,31,66,31,31,31,62,31,62,31,62,31,31,31,31,31,31,31,31,35,31,31,31,31
.byte 31,35,31,98,94,35,62,62,35,35,35,62,62,35,94,98,31,35,98,94,98,35,31,31,31,31,31,31,31,31,31,31,31,35,35,35,35,35,35,35,35,35,35,35,35,35,31,35,35,35,35,35,70,35,35,35,35,35,31
.byte 31,35,31,31,31,31,31,31,31,66,31,31,31,31,31,31,31,35,35,140,35,35,31,35,35,35,94,98,62,62,62,62,35,35,35,36,99,36,35,35,31,31,31,31,31,31,31,35,31,35,31,35,31,31,31,31,31,35,31
.byte 31,35,31,58,35,58,35,58,35,35,35,35,35,35,35,35,31,31,31,31,31,31,31,35,35,35,98,94,35,35,62,62,35,35,35,99,95,99,35,35,31,35,35,35,35,140,35,35,35,94,35,35,31,58,35,58,31,35,31
.byte 31,35,31,35,35,35,35,35,35,35,35,35,35,35,35,35,35,140,140,140,140,140,31,35,35,35,62,62,35,35,94,98,35,35,35,36,99,36,35,35,70,35,31,35,31,35,31,35,31,35,31,35,31,35,35,35,70,35,31
.byte 31,35,31,58,35,58,35,58,35,35,35,35,35,35,35,35,35,140,140,140,140,140,31,35,35,35,62,62,62,62,98,94,35,35,35,35,35,35,35,35,31,35,35,94,35,35,94,35,35,128,35,35,31,58,35,58,31,35,31
.byte 31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,128,128,128,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,35,31,35,31,35,31,35,31,35,31,31,31,31,31,35,31
.byte 31,35,35,35,35,35,35,35,35,35,35,35,70,35,35,35,35,35,35,140,140,140,31,82,128,82,31,82,35,82,31,58,35,35,35,58,31,58,35,58,31,35,35,128,35,35,35,94,35,35,35,35,31,35,35,35,128,35,31
.byte 31,31,66,31,31,31,66,31,31,31,66,31,31,35,35,35,35,35,35,140,140,140,31,78,128,78,31,82,35,82,31,74,35,35,35,74,31,35,35,35,31,35,31,35,31,35,31,35,31,35,31,35,31,35,128,35,35,35,31
.byte 31,82,128,82,31,82,128,82,31,82,128,82,31,128,128,35,35,35,35,35,35,35,31,86,74,86,31,82,35,82,31,58,35,35,35,58,31,58,35,58,31,35,35,35,35,35,35,140,35,35,35,35,31,35,35,35,35,132,31
.byte 31,82,128,82,31,82,128,82,31,82,128,82,31,128,128,35,35,35,35,35,35,35,31,31,31,31,31,31,66,31,31,31,31,66,31,31,31,31,66,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,35,136,35,35,31
.byte 31,82,74,82,31,82,74,82,31,82,78,82,31,128,128,35,35,35,35,35,35,35,70,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,70,35,35,35,35,35,31
.byte 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31
 

levelcolour	
.byte 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6
.byte 6,14,14,14,6,14,14,14,14,14,14,14,6,10,14,14,14,14,14,14,14,15,15,15,6,14,15,15,15,15,6,14,14,10,14,10,6,6,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,6,15,10,6
.byte 6,14,14,14,6,14,6,6,14,6,6,14,6,14,12,15,14,10,14,15,10,14,15,15,6,14,15,15,15,15,6,10,14,14,14,14,6,6,15,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,15,10,15,15,6
.byte 6,6,14,6,6,14,6,14,14,14,6,14,6,14,15,15,15,14,15,15,15,14,14,15,6,14,15,15,15,15,6,10,14,10,14,10,6,10,15,10,6,10,10,10,10,6,15,15,15,6,10,10,10,6,15,6,15,10,6
.byte 6,14,14,14,14,14,6,14,14,14,6,14,6,14,14,15,14,14,14,15,14,14,14,14,6,13,6,6,6,6,6,14,14,14,14,14,6,15,15,15,6,10,10,10,10,6,15,13,15,6,10,10,10,6,15,6,6,6,6
.byte 6,14,6,6,12,6,6,6,6,6,6,14,6,10,14,14,14,10,14,14,14,14,14,14,6,14,14,14,14,14,14,14,14,14,14,14,6,10,15,10,6,10,10,10,10,6,15,13,15,6,10,10,10,6,15,6,13,10,6
.byte 6,14,6,14,10,14,6,15,14,15,6,14,6,14,15,14,14,14,10,15,14,14,10,14,6,14,6,6,13,6,6,6,13,6,6,14,6,15,15,15,6,10,10,10,10,6,6,15,6,6,10,10,10,6,15,10,13,15,6
.byte 6,14,6,14,10,14,6,14,10,15,6,14,6,14,15,15,14,14,15,15,15,14,14,14,6,14,6,10,10,10,6,10,10,10,6,14,6,10,15,10,6,10,10,10,10,6,10,10,10,6,13,13,13,6,15,6,13,10,6
.byte 6,14,6,10,10,10,6,10,14,15,6,14,6,12,15,15,15,14,14,15,14,14,14,15,6,13,6,10,10,10,6,10,10,10,6,14,6,15,10,15,6,13,13,13,14,13,10,10,10,6,13,13,13,6,15,6,6,6,6
.byte 6,14,6,6,6,6,6,6,12,6,6,14,6,6,6,6,6,14,14,10,14,14,15,15,15,10,6,10,10,10,6,10,10,10,6,14,6,6,6,6,6,13,13,14,14,6,10,10,10,6,13,13,13,6,15,6,15,10,6
.byte 6,14,14,14,14,6,6,14,14,10,6,14,6,12,14,10,6,14,15,15,14,14,14,15,14,14,6,6,6,6,6,6,6,6,6,14,6,15,10,15,6,13,14,14,13,6,6,6,6,6,13,13,13,6,15,10,15,15,6
.byte 6,14,6,6,12,6,6,10,14,14,6,14,12,10,14,14,6,14,15,15,15,14,14,14,14,14,6,10,14,14,10,14,14,15,6,14,12,15,15,10,6,14,14,13,13,15,10,10,10,6,13,13,13,6,15,6,15,10,6
.byte 6,14,6,10,14,10,6,14,14,14,6,14,6,14,14,10,6,14,14,15,15,14,10,14,14,15,6,10,10,10,14,10,10,10,6,14,6,15,10,15,6,14,13,13,13,6,10,10,10,6,6,15,6,6,15,6,6,6,6
.byte 6,14,6,13,10,13,14,14,14,10,6,14,6,6,6,6,6,6,14,6,14,14,14,14,15,15,6,10,10,10,14,10,10,10,6,14,6,6,6,6,6,6,6,6,6,6,6,13,6,6,6,15,15,15,15,15,15,15,6
.byte 6,14,6,10,13,10,6,14,14,14,6,14,14,14,14,6,14,14,10,6,12,14,15,15,15,15,6,10,10,10,14,10,10,10,6,14,6,10,10,10,10,13,13,13,13,13,13,13,15,15,6,15,15,15,15,15,15,15,6
.byte 6,14,6,6,6,6,6,6,6,6,6,6,6,12,6,6,14,6,6,6,6,6,6,6,6,6,6,6,6,6,13,6,6,6,6,14,6,10,10,10,10,13,13,13,13,13,13,13,13,15,6,15,15,15,15,15,15,15,6
.byte 6,14,6,14,14,10,14,14,14,15,14,14,14,10,14,6,14,14,14,10,14,14,6,10,10,14,10,10,10,6,14,14,14,14,14,14,6,10,10,10,10,13,13,13,13,13,13,13,13,13,6,15,15,15,15,15,15,15,6
.byte 6,14,6,15,14,14,14,14,15,15,15,14,14,14,14,6,6,14,15,15,15,14,6,6,6,14,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,13,6,13,6,13,6,10,10,10,6,15,15,15,15,15,15,15,6
.byte 6,14,6,15,15,14,14,14,14,15,14,14,14,14,14,15,6,14,15,15,15,14,6,10,6,10,6,10,6,10,6,10,6,10,6,10,15,15,15,10,6,10,6,10,6,10,6,10,10,10,6,15,15,15,15,15,15,15,6
.byte 6,14,6,15,14,10,14,14,14,14,14,14,14,14,15,15,6,14,15,15,15,14,6,10,6,10,6,10,6,10,6,10,6,10,6,15,13,13,13,15,6,14,6,14,6,14,6,10,10,10,6,6,6,6,6,6,6,6,6
.byte 6,14,6,10,14,14,15,14,10,14,10,14,15,10,14,15,6,14,14,14,14,10,14,14,14,14,14,14,14,14,14,14,14,14,6,15,13,13,13,15,6,10,6,10,6,10,6,10,10,10,6,13,10,10,13,15,10,13,6
.byte 6,14,6,14,14,15,15,15,14,15,14,15,15,15,14,14,6,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,6,15,13,13,13,15,6,14,6,14,6,14,6,10,10,10,6,10,13,13,10,10,13,10,6
.byte 6,14,6,14,10,14,15,14,14,14,10,14,15,14,14,14,6,14,15,15,15,14,6,10,6,10,6,10,6,10,6,10,6,14,6,10,13,13,13,10,6,10,6,10,6,10,6,10,10,10,6,13,10,15,13,10,13,13,6
.byte 6,14,6,15,14,14,14,14,10,14,14,14,14,14,10,15,6,10,15,15,15,14,6,10,6,10,6,10,6,10,6,10,6,15,6,6,6,15,6,6,6,14,6,14,6,14,6,6,6,6,6,6,6,6,13,6,6,6,6
.byte 6,14,6,15,15,14,14,14,14,14,14,14,14,14,15,15,6,14,15,15,15,14,6,6,6,6,6,6,6,6,6,6,6,14,14,13,13,13,13,13,13,13,13,13,13,13,6,13,13,13,13,13,15,13,13,13,13,13,6
.byte 6,14,6,6,6,6,6,6,6,10,6,6,6,6,6,6,6,14,14,10,14,14,6,14,14,14,15,15,14,14,14,14,14,14,14,14,15,14,13,13,6,6,6,6,6,6,6,13,6,13,6,13,6,6,6,6,6,13,6
.byte 6,14,6,10,14,10,14,10,14,14,14,14,14,14,14,14,6,6,6,6,6,6,6,13,13,13,15,15,14,14,14,14,14,14,14,15,15,15,13,13,6,13,13,13,13,10,13,13,13,15,13,13,6,10,13,10,6,13,6
.byte 6,14,6,13,13,13,13,14,13,14,14,14,14,14,14,14,13,10,10,10,10,10,6,13,13,13,14,14,14,14,15,15,14,14,14,14,15,14,13,13,15,13,6,13,6,13,6,13,6,13,6,13,6,13,13,13,10,13,6
.byte 6,14,6,10,14,10,14,10,13,14,14,14,14,14,14,14,13,10,10,10,10,10,6,13,13,13,14,14,14,14,15,15,14,14,14,13,13,13,13,13,6,13,13,15,13,13,15,13,13,10,13,13,6,10,13,10,6,13,6
.byte 6,14,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,10,10,10,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,13,6,13,6,13,6,13,6,13,6,13,6,6,6,6,6,13,6
.byte 6,14,14,14,14,14,14,14,14,14,14,14,10,14,14,14,14,14,14,10,10,10,6,15,10,15,6,15,13,15,6,10,13,13,13,10,6,10,13,10,6,13,13,10,13,13,13,15,13,13,13,13,6,13,13,13,10,13,6
.byte 6,6,12,6,6,6,12,6,6,6,12,6,6,13,13,14,14,14,14,10,10,10,6,10,10,15,6,15,13,15,6,10,13,13,13,10,6,13,13,13,6,13,6,13,6,13,6,13,6,13,6,13,6,13,10,13,13,13,6
.byte 6,15,10,15,6,15,10,15,6,15,10,15,6,10,10,14,14,14,13,13,13,13,6,15,10,15,6,15,13,15,6,10,13,13,13,10,6,10,13,10,6,13,13,13,13,13,13,10,13,13,13,13,6,13,13,13,13,10,6
.byte 6,15,10,15,6,15,10,15,6,15,10,15,6,10,10,14,14,14,13,13,13,13,6,6,6,6,6,6,10,6,6,6,6,10,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,6,6,6,13,13,10,13,13,6
.byte 6,15,10,15,6,15,10,15,6,15,10,15,6,10,10,14,14,14,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,6
.byte 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6



sparecolour
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;1
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;2
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;3
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;4
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;5
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;6
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;7
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;8
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;9
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;10
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;11
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;12
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;13
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;14
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;15
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;16	
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;17
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;18
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;19
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;20
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;21
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;22
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;23
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;24

; where the begining address of the map lines is stored
mapyaddress			
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	

* = 12288			 								; $3000 12288  Address were char image are being loaded
charrom
 .byte 60,102,110,110,96,98,60,0
 .byte 24,60,102,126,102,102,102,0
 .byte 124,102,102,124,102,102,124,0
 .byte 60,102,96,96,96,102,60,0
 .byte 120,108,102,102,102,108,120,0
 .byte 126,96,96,120,96,96,126,0
 .byte 126,96,96,120,96,96,96,0
 .byte 60,102,96,110,102,102,60,0
 .byte 102,102,102,126,102,102,102,0
 .byte 60,24,24,24,24,24,60,0
 .byte 30,12,12,12,12,108,56,0
 .byte 102,108,120,112,120,108,102,0
 .byte 96,96,96,96,96,96,126,0
 .byte 99,119,127,107,99,99,99,0
 .byte 102,118,126,126,110,102,102,0
 .byte 60,102,102,102,102,102,60,0
 .byte 124,102,102,124,96,96,96,0
 .byte 60,102,102,102,102,60,14,0
 .byte 124,102,102,124,120,108,102,0
 .byte 60,102,96,60,6,102,60,0
 .byte 126,24,24,24,24,24,24,0
 .byte 102,102,102,102,102,102,60,0
 .byte 102,102,102,102,102,60,24,0
 .byte 99,99,99,107,127,119,99,0
 .byte 102,102,60,24,60,102,102,0
 .byte 102,102,102,60,24,24,24,0
 .byte 126,6,12,24,48,96,126,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 126,127,94,55,94,42,84,0
 .byte 62,94,46,92,46,84,42,0
 .byte 63,95,47,93,46,85,42,0
 .byte 252,254,188,110,188,212,168,0
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 170,126,126,86,126,126,126,126
 .byte 170,126,126,86,126,126,126,126
 .byte 126,126,126,126,86,126,126,85
 .byte 126,126,126,126,86,126,126,85
 .byte 0,3,6,12,24,48,96,0
 .byte 60,102,110,118,102,102,60,0
 .byte 24,24,56,24,24,24,126,0
 .byte 60,102,6,12,48,96,126,0
 .byte 60,102,6,28,6,102,60,0
 .byte 6,14,30,102,127,6,6,0
 .byte 126,96,124,6,6,102,60,0
 .byte 60,102,96,124,102,102,60,0
 .byte 126,102,12,24,24,24,24,0
 .byte 60,102,102,60,102,102,60,0
 .byte 60,102,102,62,6,102,60,0
 .byte 20,20,20,106,111,47,47,47
 .byte 20,20,20,169,249,248,248,216
 .byte 47,47,47,111,106,20,20,20
 .byte 216,248,248,249,169,20,20,20
 .byte 20,20,20,66,75,47,47,47
 .byte 20,20,84,129,225,248,248,248
 .byte 47,47,47,75,66,20,20,20
 .byte 248,248,248,225,129,20,20,20
 .byte 20,20,20,65,65,20,255,255
 .byte 20,20,20,65,65,20,255,255
 .byte 255,255,20,65,65,20,20,20
 .byte 255,255,20,65,65,20,20,20
 .byte 23,23,23,67,67,23,23,23
 .byte 212,212,212,193,193,212,212,212
 .byte 23,23,23,67,67,23,23,23
 .byte 212,212,212,193,193,212,212,212
 .byte 20,20,20,65,106,43,43,47
 .byte 20,20,20,65,169,232,232,248
 .byte 47,43,43,106,65,20,20,20
 .byte 248,232,232,169,65,20,20,20
 .byte 20,20,20,65,65,20,20,63
 .byte 20,20,20,65,65,20,52,204
 .byte 52,20,20,65,65,20,20,20
 .byte 204,52,20,65,65,20,20,20
 .byte 20,20,20,65,170,149,157,157
 .byte 20,20,20,65,169,88,216,216
 .byte 157,157,149,170,65,20,20,20
 .byte 216,216,88,169,65,20,20,20
 .byte 20,20,20,65,106,37,39,39
 .byte 20,20,20,65,169,88,216,88
 .byte 37,39,37,101,106,20,20,20
 .byte 88,216,216,89,169,20,20,20
 .byte 20,20,20,65,65,23,23,23
 .byte 20,20,20,65,65,212,212,212
 .byte 23,23,23,65,65,20,20,20
 .byte 212,212,212,65,65,20,20,20
 .byte 20,55,55,102,119,55,38,55
 .byte 20,220,220,153,221,220,152,220
 .byte 55,38,55,119,102,55,55,20
 .byte 220,152,220,221,153,220,220,20
 .byte 20,238,238,238,85,85,238,238
 .byte 20,236,236,237,85,84,236,236
 .byte 238,85,85,238,238,238,20,20
 .byte 236,84,84,237,237,236,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 20,20,20,65,65,20,20,20
 .byte 240,240,240,240,0,0,0,0
 .byte 240,240,240,240,15,15,15,15
 .byte 20,20,22,66,77,28,55,63
 .byte 20,20,170,170,77,28,220,252
 .byte 237,221,221,221,221,29,63,23
 .byte 187,183,119,119,119,116,252,212
 .byte 63,255,214,213,127,63,214,214
 .byte 20,20,212,241,113,52,216,216
 .byte 213,213,63,127,214,213,255,63
 .byte 216,216,24,73,249,248,24,24
 .byte 3,63,237,221,221,221,221,221
 .byte 212,252,187,183,119,119,119,119
 .byte 55,55,28,77,66,22,20,20
 .byte 220,220,28,77,170,170,20,20
 .byte 36,36,47,111,97,36,39,39
 .byte 252,252,91,87,253,252,91,91
 .byte 39,39,28,77,67,23,20,20
 .byte 87,87,252,253,91,87,252,252
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 0,0,0,0,0,0,0,0
 .byte 129,231,231,231,231,231,231,255
 .byte 153,153,153,153,153,153,195,255
 .byte 153,153,153,153,153,195,231,255
 .byte 156,156,156,148,128,136,156,255
 .byte 153,153,195,231,195,153,153,255
 .byte 153,153,153,195,231,231,231,255
 .byte 129,249,243,231,207,159,129,255
 .byte 195,207,207,207,207,207,195,255
 .byte 243,237,207,131,207,157,3,255
 .byte 195,243,243,243,243,243,195,255
 .byte 255,231,195,129,231,231,231,231
 .byte 255,239,207,128,128,207,239,255
 .byte 255,255,255,255,255,255,255,255
 .byte 231,231,231,231,255,255,231,255
 .byte 153,153,153,255,255,255,255,255
 .byte 153,153,0,153,0,153,153,255
 .byte 231,193,159,195,249,131,231,255
 .byte 157,153,243,231,207,153,185,255
 .byte 195,153,195,199,152,153,192,255
 .byte 249,243,231,255,255,255,255,255
 .byte 243,231,207,207,207,231,243,255
 .byte 207,231,243,243,243,231,207,255
 .byte 255,153,195,0,195,153,255,255
 .byte 255,231,231,129,231,231,255,255
 .byte 255,255,255,255,255,231,231,207
 .byte 255,255,255,129,255,255,255,255
 .byte 255,255,255,255,255,231,231,255
 .byte 255,252,249,243,231,207,159,255
 .byte 195,153,145,137,153,153,195,255
 .byte 231,231,199,231,231,231,129,255
 .byte 195,153,249,243,207,159,129,255
 .byte 195,153,249,227,249,153,195,255
 .byte 249,241,225,153,128,249,249,255
 .byte 129,159,131,249,249,153,195,255
 .byte 195,153,159,131,153,153,195,255
 .byte 129,153,243,231,231,231,231,255
 .byte 195,153,153,195,153,153,195,255
 .byte 195,153,153,193,249,153,195,255
 .byte 255,255,231,255,255,231,255,255
 .byte 255,255,231,255,255,231,231,207
 .byte 241,231,207,159,207,231,241,255
 .byte 255,255,129,255,129,255,255,255
 .byte 143,231,243,249,243,231,143,255
 .byte 195,153,249,243,231,255,231,255
 .byte 255,255,255,0,0,255,255,255
 .byte 247,227,193,128,128,227,193,255
 .byte 231,231,231,231,231,231,231,231
 .byte 255,255,255,0,0,255,255,255
 .byte 255,255,0,0,255,255,255,255
 .byte 255,0,0,255,255,255,255,255
 .byte 255,255,255,255,0,0,255,255
 .byte 207,207,207,207,207,207,207,207
 .byte 243,243,243,243,243,243,243,243
 .byte 255,255,255,31,15,199,231,231
 .byte 231,231,227,240,248,255,255,255
 .byte 231,231,199,15,31,255,255,255
 .byte 63,63,63,63,63,63,0,0
 .byte 63,31,143,199,227,241,248,252
 .byte 252,248,241,227,199,143,31,63
 .byte 0,0,63,63,63,63,63,63
 .byte 0,0,252,252,252,252,252,252
 .byte 255,195,129,129,129,129,195,255
 .byte 255,255,255,255,255,0,0,255
 .byte 201,128,128,128,193,227,247,255
 .byte 159,159,159,159,159,159,159,159
 .byte 255,255,255,248,240,227,231,231
 .byte 60,24,129,195,195,129,24,60
 .byte 255,195,129,153,153,129,195,255
 .byte 231,231,153,153,231,231,195,255
 .byte 249,249,249,249,249,249,249,249
 .byte 247,227,193,128,193,227,247,255
 .byte 231,231,231,0,0,231,231,231
 .byte 63,63,207,207,63,63,207,207
 .byte 231,231,231,231,231,231,231,231
 .byte 255,255,252,193,137,201,201,255
 .byte 0,128,192,224,240,248,252,254
 .byte 255,255,255,255,255,255,255,255
 .byte 15,15,15,15,15,15,15,15
 .byte 255,255,255,255,0,0,0,0
 .byte 0,255,255,255,255,255,255,255
 .byte 255,255,255,255,255,255,255,0
 .byte 63,63,63,63,63,63,63,63
 .byte 51,51,204,204,51,51,204,204
 .byte 252,252,252,252,252,252,252,252
 .byte 255,255,255,255,51,51,204,204
 .byte 0,1,3,7,15,31,63,127
 .byte 252,252,252,252,252,252,252,252
 .byte 231,231,231,224,224,231,231,231
 .byte 255,255,255,255,240,240,240,240
 .byte 231,231,231,224,224,255,255,255
 .byte 255,255,255,7,7,231,231,231
 .byte 255,255,255,255,255,255,0,0
 .byte 255,255,255,224,224,231,231,231
 .byte 231,231,231,0,0,255,255,255
 .byte 255,255,255,0,0,231,231,231
 .byte 231,231,231,7,7,231,231,231
 .byte 63,63,63,63,63,63,63,63
 .byte 31,31,31,31,31,31,31,31
 .byte 248,248,248,248,248,248,248,248
 .byte 0,0,255,255,255,255,255,255
 .byte 0,0,0,255,255,255,255,255
 .byte 255,255,255,255,255,0,0,0
 .byte 252,252,252,252,252,252,0,0
 .byte 255,255,255,255,15,15,15,15
 .byte 240,240,240,240,255,255,255,255
 .byte 231,231,231,7,7,255,255,255
 .byte 15,15,15,15,255,255,255,255

charromend

*=3072												; 3072
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
; sprite pointer part of the screen
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 

base/4_ways_scroll_part_2.txt · Last modified: 2015-04-17 04:30 by 127.0.0.1