User Tools

Site Tools


base:4_ways_scroll_part_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

base:4_ways_scroll_part_2 [2015-04-17 04:30] (current)
Line 1: Line 1:
 +====== 4 ways scroll part 2 ======
  
 +<code> 
 +;  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 |                                     |
 +;+-------+------+-------+----------+-------------------------------------+
 +;|      00  |       49152  | ($C000-$FFFF)*                      |
 +;|      01  |       32768  | ($8000-$BFFF)                       |
 +;|      10  |       16384  | ($4000-$7FFF)*                      |
 +;|      11  |            | ($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,              ; 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, ; LINE 0 IF GOING UP CHANGE THIS ONE
 +sta 55296,y ; 0
 +sta 55297,y
 +lda sparecolour+40, ; 1
 +sta 55296+40,y
 +sta 55296+41,y
 +lda sparecolour+120, ; 3
 +sta 55296+120,y
 +sta 55296+121,y
 +lda sparecolour+200,         ; 5
 +sta 55296+200,y
 +sta 55296+201,y
 +lda sparecolour+280, ; 7
 +sta 55296+280,y
 +sta 55296+281,y
 +lda sparecolour+360, ; 9
 +sta 55296+360,y
 +sta 55296+361,y
 +lda sparecolour+440, ; 11
 +sta 55296+440,y
 +sta 55296+441,y
 +lda sparecolour+520, ; 13
 +sta 55296+520,y
 +sta 55296+521,y
 +lda sparecolour+600, ; 15
 +sta 55296+600,y
 +sta 55296+601,y
 +lda sparecolour+680, ; 17
 +sta 55296+680,y
 +sta 55296+681,y
 +lda sparecolour+760,         ; 19
 +sta 55296+760,y
 +sta 55296+761,y
 +lda sparecolour+840, ; 21
 +sta 55296+840,y
 +sta 55296+841,y
 +lda sparecolour+920, ; 23
 +sta 55296+920,y
 +sta 55296+921,y
 +lda sparecolour+960, ; 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, ; 0
 +sta 55296,y
 +sta 55297,y
 +lda sparecolour+80,         ; 2
 +sta 55296+80,y
 +sta 55296+81,y
 +lda sparecolour+160, ; 4
 +sta 55296+160,y
 +sta 55296+161,y
 +lda sparecolour+240, ; 6
 +sta 55296+240,y
 +sta 55296+241,y
 +lda sparecolour+320, ; 8
 +sta 55296+320,y
 +sta 55296+321,y
 +lda sparecolour+400,         ; 10
 +sta 55296+400,y
 +sta 55296+401,y
 +lda sparecolour+480, ; 12
 +sta 55296+480,y
 +sta 55296+481,y
 +lda sparecolour+560, ; 14
 +sta 55296+560,y
 +sta 55296+561,y
 +lda sparecolour+640, ; 16
 +sta 55296+640,y
 +sta 55296+641,y
 +lda sparecolour+720, ; 18
 +sta 55296+720,y
 +sta 55296+721,y
 +lda sparecolour+800,   ; 20
 +sta 55296+800,y
 +sta 55296+801,y
 +lda sparecolour+880, ; 22
 +sta 55296+880,y
 +sta 55296+881,y
 +lda sparecolour+960, ; 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, ; 0
 +sta 55296,y
 +lda sparecolour+40, ; 1
 +sta 55296+40,y
 +lda sparecolour+80, ; 2
 +sta 55296+80,y
 +lda sparecolour+120, ; 3
 +sta 55296+120,y
 +lda sparecolour+160, ; 4
 +sta 55296+160,y
 +lda sparecolour+200, ; 5
 +sta 55296+200,y
 +lda sparecolour+240, ; 6
 +sta 55296+240,y
 +lda sparecolour+280, ; 7
 +sta 55296+280,y
 +lda sparecolour+320,         ; 8
 +sta 55296+320,y
 +lda sparecolour+360, ; 9
 +sta 55296+360,y
 +lda sparecolour+400, ; 10
 +sta 55296+400,y
 +lda sparecolour+440, ; 11
 +sta 55296+440,y
 +lda sparecolour+480, ; 12
 +sta 55296+480,y
 +lda sparecolour+520, ; 13
 +sta 55296+520,y
 +lda sparecolour+560, ; 14
 +sta 55296+560,y
 +lda sparecolour+600, ; 15
 +sta 55296+600,y
 +lda sparecolour+640, ; 16
 +sta 55296+640,y
 +lda sparecolour+680, ; 17
 +sta 55296+680,y
 +lda sparecolour+720, ; 18
 +sta 55296+720,y
 +lda sparecolour+760, ; 19
 +sta 55296+760,y
 +lda sparecolour+800,   ; 20
 +sta 55296+800,y
 +lda sparecolour+840, ; 21
 +sta 55296+840,y
 +lda sparecolour+880, ; 22
 +sta 55296+880,y
 +lda sparecolour+920, ; 23
 +sta 55296+920,y
 +lda sparecolour+960, ; 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, ; 0
 +sta 55296,y
 +lda sparecolour+40, ; 1
 +sta 55296+40,y
 +lda sparecolour+80, ; 2
 +sta 55296+80,y
 +lda sparecolour+120, ; 3
 +sta 55296+120,y
 +lda sparecolour+160, ; 4
 +sta 55296+160,y
 +lda sparecolour+200, ; 5
 +sta 55296+200,y
 +lda sparecolour+240, ; 6
 +sta 55296+240,y
 +lda sparecolour+280, ; 7
 +sta 55296+280,y
 +lda sparecolour+320,         ; 8
 +sta 55296+320,y
 +lda sparecolour+360, ; 9
 +sta 55296+360,y
 +lda sparecolour+400, ; 10
 +sta 55296+400,y
 +lda sparecolour+440, ; 11
 +sta 55296+440,y
 +lda sparecolour+480, ; 12
 +sta 55296+480,y
 +lda sparecolour+520, ; 13
 +sta 55296+520,y
 +lda sparecolour+560, ; 14
 +sta 55296+560,y
 +lda sparecolour+600, ; 15
 +sta 55296+600,y
 +lda sparecolour+640, ; 16
 +sta 55296+640,y
 +lda sparecolour+680, ; 17
 +sta 55296+680,y
 +lda sparecolour+720, ; 18
 +sta 55296+720,y
 +lda sparecolour+760, ; 19
 +sta 55296+760,y
 +lda sparecolour+800,   ; 20
 +sta 55296+800,y
 +lda sparecolour+840, ; 21
 +sta 55296+840,y
 +lda sparecolour+880, ; 22
 +sta 55296+880,y
 +lda sparecolour+920, ; 23
 +sta 55296+920,y
 +lda sparecolour+960, ; 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 
 +
 +
 +</code>
base/4_ways_scroll_part_2.txt ยท Last modified: 2015-04-17 04:30 (external edit)