Advertisement
Guest User

Untitled

a guest
Jan 7th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     ; routine assemblata su $0924
  2.  
  3.     !Zone BuildMap
  4.     init_buildmap: 
  5.         ; Points our ZP 16 bit pointer to map data address ($0FDA)
  6.         ;lda #<ADDR_MAP_DATA
  7.         ldx SCREEN_NR  
  8.         lda ADDR_MAP_DATA_TABLE,x
  9.         sta ZEROPAGE_POINTER_1
  10.         ;lda #>ADDR_MAP_DATA
  11.         lda ADDR_MAP_DATA_TABLE + 1,x
  12.         sta ZEROPAGE_POINTER_1+1
  13.        
  14.         ; Points our ZP 16 bit pointer to tile data address
  15.         ; lda #<ADDR_TILESET_DATA
  16.         ; sta ZEROPAGE_POINTER_2
  17.         ; lda #>ADDR_TILESET_DATA
  18.         ; sta ZEROPAGE_POINTER_2+1
  19.        
  20.         ; Points our ZP 16 bit pointer to attribs data address
  21.         ; lda #<ADDR_CHARSET_ATTRIB_DATA
  22.         ; sta ZEROPAGE_POINTER_3
  23.         ; lda #>ADDR_CHARSET_ATTRIB_DATA
  24.         ; sta ZEROPAGE_POINTER_3+1
  25.        
  26.         lda #0                  ;set colours
  27.         sta $d021
  28.         lda #COLR_SCREEN
  29.         sta $d020
  30.         lda #COLR_CHAR_MC1
  31.         sta $d022
  32.         lda #COLR_CHAR_MC2
  33.         sta $d023
  34.     ; $093D
  35.     decodemap:
  36.         lda #0
  37.         sta MAPCOUNTER ; MAPCOUNTER = $09AC
  38.  
  39.     cyclemap:
  40.         ldy MAPCOUNTER
  41.         lda (ZEROPAGE_POINTER_1),y
  42.         ; calculate lo-byte tile address
  43.         ; (masking the lsb and multiplicating them by 16)
  44.         and #$0f
  45.         asl
  46.         asl
  47.         asl
  48.         asl
  49.         sta ZEROPAGE_POINTER_2   ; $d0
  50.         lda (ZEROPAGE_POINTER_1),y
  51.         ; calculate hi-byte tile address
  52.         ; (masking the msb and diving them by 16)
  53.         and #$f0
  54.         lsr
  55.         lsr
  56.         lsr
  57.         lsr
  58.         clc
  59.         adc #>ADDR_TILESET_DATA
  60.         sta ZEROPAGE_POINTER_2+1 ; $00
  61.         ; Now ZEROPAGE_POINTER_2 points to our tile
  62.        
  63.         ; initialize tilecounter
  64.         lda #0
  65.         sta TILECOUNTER ; $09BE
  66.          
  67.         ; points ZP_PT3 to screenram position for this tile of
  68.         ; the map and ZP_PT4 to colram position for this tile
  69.         ; of the map
  70.         lda SCREEN_TILE_OFFSET_TABLE_LO,y
  71.         sta ZEROPAGE_POINTER_3
  72.         sta ZEROPAGE_POINTER_4
  73.         lda SCREEN_TILE_OFFSET_TABLE_HI,y
  74.         sta ZEROPAGE_POINTER_3+1
  75.         clc
  76.         adc #( ( SCREEN_COLOR - SCREEN_CHAR ) & 0xff00 ) >> 8
  77.         sta ZEROPAGE_POINTER_4 + 1
  78.         ldx #0
  79.         stx CHARCOUNTER
  80.     cycletile: 
  81.         ; load the charcode from tile data address
  82.         ldy TILECOUNTER
  83.         lda (ZEROPAGE_POINTER_2),y 
  84.         ; store character in screenram
  85.         ldy CHARCOUNTER
  86.         sta (ZEROPAGE_POINTER_3),y
  87.        
  88.         ; load attribute from attr data address
  89.         tay
  90.         lda ADDR_CHARSET_ATTRIB_DATA,y
  91.         and #$0f
  92.         ; store color in colram
  93.         ldy CHARCOUNTER
  94.         sta (ZEROPAGE_POINTER_4),y
  95.         ; Incrementa il contatore dei caratteri
  96.         iny
  97.         sty CHARCOUNTER
  98.         ldx CHARROWCOUNT
  99.         inx
  100.         stx CHARROWCOUNT
  101.         cpx #4
  102.         beq resetfourthcount
  103.     continuecycle
  104.         ldx TILECOUNTER
  105.         inx
  106.         stx TILECOUNTER
  107.         cpx #16
  108.         bne cycletile
  109.         ldx MAPCOUNTER
  110.         inx
  111.         stx MAPCOUNTER 
  112.         cpx #50
  113.         bne cyclemap
  114.         rts
  115.  
  116.     resetfourthcount
  117.         lda CHARCOUNTER
  118.         clc
  119.         adc #36
  120.         sta CHARCOUNTER
  121.         bcc noincscreenhibyte
  122.         ldx ZEROPAGE_POINTER_3+1
  123.         inx
  124.         stx ZEROPAGE_POINTER_3+1
  125.         ldx ZEROPAGE_POINTER_4+1
  126.         inx
  127.         stx ZEROPAGE_POINTER_4+1
  128.        
  129.     ; otherwise continue regurarly
  130.     noincscreenhibyte  
  131.         lda #0
  132.         sta CHARROWCOUNT
  133.         jmp continuecycle
  134.        
  135.     MAPCOUNTER
  136.         !byte 0
  137.     TILECOUNTER
  138.         !byte 0
  139.     CHARCOUNTER
  140.         !byte 0
  141.     CHARROWCOUNT
  142.         !byte 0
  143.        
  144.     clearbottom:
  145.         ldx #0
  146.         lda #$04
  147.     loopclear  
  148.         sta $CF20,x
  149.         inx
  150.         cpx #200
  151.         bne loopclear  
  152.         rts
  153.             ; routine assemblata su $0924
  154.  
  155.     !Zone BuildMap
  156.     init_buildmap: 
  157.         ; Points our ZP 16 bit pointer to map data address ($0FDA)
  158.         ;lda #<ADDR_MAP_DATA
  159.         ldx SCREEN_NR  
  160.         lda ADDR_MAP_DATA_TABLE,x
  161.         sta ZEROPAGE_POINTER_1
  162.         ;lda #>ADDR_MAP_DATA
  163.         lda ADDR_MAP_DATA_TABLE + 1,x
  164.         sta ZEROPAGE_POINTER_1+1
  165.        
  166.         ; Points our ZP 16 bit pointer to tile data address
  167.         ; lda #<ADDR_TILESET_DATA
  168.         ; sta ZEROPAGE_POINTER_2
  169.         ; lda #>ADDR_TILESET_DATA
  170.         ; sta ZEROPAGE_POINTER_2+1
  171.        
  172.         ; Points our ZP 16 bit pointer to attribs data address
  173.         ; lda #<ADDR_CHARSET_ATTRIB_DATA
  174.         ; sta ZEROPAGE_POINTER_3
  175.         ; lda #>ADDR_CHARSET_ATTRIB_DATA
  176.         ; sta ZEROPAGE_POINTER_3+1
  177.        
  178.         lda #0                  ;set colours
  179.         sta $d021
  180.         lda #COLR_SCREEN
  181.         sta $d020
  182.         lda #COLR_CHAR_MC1
  183.         sta $d022
  184.         lda #COLR_CHAR_MC2
  185.         sta $d023
  186.     ; $093D
  187.     decodemap:
  188.         lda #0
  189.         sta MAPCOUNTER ; MAPCOUNTER = $09AC
  190.  
  191.     cyclemap:
  192.         ldy MAPCOUNTER
  193.         lda (ZEROPAGE_POINTER_1),y
  194.         ; calculate lo-byte tile address
  195.         ; (masking the lsb and multiplicating them by 16)
  196.         and #$0f
  197.         asl
  198.         asl
  199.         asl
  200.         asl
  201.         sta ZEROPAGE_POINTER_2   ; $d0
  202.         lda (ZEROPAGE_POINTER_1),y
  203.         ; calculate hi-byte tile address
  204.         ; (masking the msb and diving them by 16)
  205.         and #$f0
  206.         lsr
  207.         lsr
  208.         lsr
  209.         lsr
  210.         clc
  211.         adc #>ADDR_TILESET_DATA
  212.         sta ZEROPAGE_POINTER_2+1 ; $00
  213.         ; Now ZEROPAGE_POINTER_2 points to our tile
  214.        
  215.         ; initialize tilecounter
  216.         lda #0
  217.         sta TILECOUNTER ; $09BE
  218.          
  219.         ; points ZP_PT3 to screenram position for this tile of
  220.         ; the map and ZP_PT4 to colram position for this tile
  221.         ; of the map
  222.         lda SCREEN_TILE_OFFSET_TABLE_LO,y
  223.         sta ZEROPAGE_POINTER_3
  224.         sta ZEROPAGE_POINTER_4
  225.         lda SCREEN_TILE_OFFSET_TABLE_HI,y
  226.         sta ZEROPAGE_POINTER_3+1
  227.         clc
  228.         adc #( ( SCREEN_COLOR - SCREEN_CHAR ) & 0xff00 ) >> 8
  229.         sta ZEROPAGE_POINTER_4 + 1
  230.         ldx #0
  231.         stx CHARCOUNTER
  232.     cycletile: 
  233.         ; load the charcode from tile data address
  234.         ldy TILECOUNTER
  235.         lda (ZEROPAGE_POINTER_2),y 
  236.         ; store character in screenram
  237.         ldy CHARCOUNTER
  238.         sta (ZEROPAGE_POINTER_3),y
  239.        
  240.         ; load attribute from attr data address
  241.         tay
  242.         lda ADDR_CHARSET_ATTRIB_DATA,y
  243.         and #$0f
  244.         ; store color in colram
  245.         ldy CHARCOUNTER
  246.         sta (ZEROPAGE_POINTER_4),y
  247.         ; Incrementa il contatore dei caratteri
  248.         iny
  249.         sty CHARCOUNTER
  250.         ldx CHARROWCOUNT
  251.         inx
  252.         stx CHARROWCOUNT
  253.         cpx #4
  254.         beq resetfourthcount
  255.     continuecycle
  256.         ldx TILECOUNTER
  257.         inx
  258.         stx TILECOUNTER
  259.         cpx #16
  260.         bne cycletile
  261.         ldx MAPCOUNTER
  262.         inx
  263.         stx MAPCOUNTER 
  264.         cpx #50
  265.         bne cyclemap
  266.         rts
  267.  
  268.     resetfourthcount
  269.         lda CHARCOUNTER
  270.         clc
  271.         adc #36
  272.         sta CHARCOUNTER
  273.         bcc noincscreenhibyte
  274.         ldx ZEROPAGE_POINTER_3+1
  275.         inx
  276.         stx ZEROPAGE_POINTER_3+1
  277.         ldx ZEROPAGE_POINTER_4+1
  278.         inx
  279.         stx ZEROPAGE_POINTER_4+1
  280.        
  281.     ; otherwise continue regurarly
  282.     noincscreenhibyte  
  283.         lda #0
  284.         sta CHARROWCOUNT
  285.         jmp continuecycle
  286.        
  287.     MAPCOUNTER
  288.         !byte 0
  289.     TILECOUNTER
  290.         !byte 0
  291.     CHARCOUNTER
  292.         !byte 0
  293.     CHARROWCOUNT
  294.         !byte 0
  295.        
  296.     clearbottom:
  297.         ldx #0
  298.         lda #$04
  299.     loopclear  
  300.         sta $CF20,x
  301.         inx
  302.         cpx #200
  303.         bne loopclear  
  304.         rts
  305. ;!to "build/map.prg",cbm
  306. ; Generated by CharPad 2. Assemble with 64TASS or similar.
  307.  
  308.  
  309. ; General constants:-
  310.  
  311. TRUE = 1
  312. FALSE = 0
  313. COLRMETH_GLOBAL = 0
  314. COLRMETH_PERTILE = 1
  315. COLRMETH_PERCHAR = 2
  316.  
  317.  
  318. ; Project constants:-
  319.  
  320. COLOURING_METHOD = COLRMETH_PERCHAR
  321. CHAR_MULTICOLOUR_MODE = TRUE
  322. COLR_SCREEN = 0
  323. COLR_CHAR_DEF = 11
  324. COLR_CHAR_MC1 = 14
  325. COLR_CHAR_MC2 = 6
  326. CHAR_COUNT = 73
  327. TILE_COUNT = 18
  328. TILE_WID = 4
  329. TILE_HEI = 4
  330. MAP_WID = 10
  331. MAP_HEI = 5
  332. MAP_WID_CHRS = 40
  333. MAP_HEI_CHRS = 20
  334. MAP_WID_PXLS = 320
  335. MAP_HEI_PXLS = 160
  336.  
  337.  
  338. ; Data block size constants:-
  339.  
  340. SZ_CHARSET_DATA        = 456
  341. SZ_CHARSET_ATTRIB_DATA = 57
  342. SZ_TILESET_DATA        = 224
  343. SZ_MAP_DATA            = 50
  344.  
  345.  
  346. ; Data block address constants (dummy values):-
  347.  
  348. ; ADDR_CHARSET_DATA        = $2000   ; nb. label = 'charset_data'        (block size = $1c8).
  349. ; ADDR_CHARSET_ATTRIB_DATA = $3900   ; nb. label = 'charset_attrib_data' (block size = $39).
  350. ADDR_TILESET_DATA        = $2000   ; nb. label = 'tileset_data'        (block size = $e0).
  351. ; ADDR_MAP_DATA            = $3800   ; nb. label = 'map_data'            (block size = $32).
  352.  
  353.  
  354. MAP_LEN = 2
  355. SCREEN_NR !byte 0
  356. ADDR_MAP_DATA_TABLE
  357. !word MAP_SCR0,MAP_SCR1,MAP_SCR1
  358.  
  359.  
  360.  
  361. ; CHAR SET ATTRIBUTE DATA : 57 attributes : total size is 57 ($39) bytes.
  362. ; nb. Upper nybbles = Material, Lower nybbles = Colour.
  363.  
  364. ADDR_CHARSET_ATTRIB_DATA
  365. !byte $0b,$08,$08,$09,$00,$09,$08,$09,$08,$08,$19,$0b,$0b,$0b,$fb,$fb
  366. !byte $08,$08,$08,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d
  367. !byte $0d,$0d,$0d,$0d,$0b,$0b,$fb,$1b,$09,$09,$09,$09,$09,$09,$09,$09
  368. !byte $09,$09,$09,$09,$fb,$fb,$fb,$09,$09,$09,$09,$09,$09,$09,$0b,$0b
  369. !byte $0b,$1b,$1b,$0b,$0b,$0b,$1b,$1b,$f9
  370.  
  371. ; CHAR SET DATA : 57 (8 byte) chars : total size is 456 ($1c8) bytes.
  372.  
  373. ADDR_CHARSET_DATA
  374. !byte $aa,$95,$90,$90,$90,$90,$90,$90,$aa,$55,$00,$00,$00,$00,$00,$00
  375. !byte $90,$90,$90,$90,$90,$90,$90,$90,$00,$00,$00,$0c,$00,$00,$00,$00
  376. !byte $00,$00,$00,$00,$00,$00,$00,$00,$aa,$55,$00,$00,$00,$00,$00,$00
  377. !byte $00,$00,$00,$0c,$3f,$0c,$00,$00,$00,$00,$00,$0c,$3f,$0c,$00,$00
  378. !byte $aa,$56,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06
  379. !byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$ab,$ad,$b5,$d5
  380. !byte $ab,$ad,$b5,$d5,$55,$55,$55,$55,$ff,$55,$55,$55,$55,$55,$55,$55
  381. !byte $ff,$d5,$d5,$d5,$d5,$d5,$d5,$ff,$ff,$55,$55,$55,$55,$55,$55,$ff
  382. !byte $00,$00,$00,$0c,$00,$00,$00,$00,$90,$90,$90,$90,$90,$90,$95,$aa
  383. !byte $00,$00,$00,$00,$00,$00,$55,$aa,$00,$03,$0f,$0f,$3f,$3f,$ff,$ff
  384. !byte $03,$03,$0f,$0f,$0f,$3f,$55,$aa,$ff,$f0,$f3,$f0,$ff,$ff,$55,$aa
  385. !byte $00,$00,$00,$00,$00,$00,$00,$0f,$06,$06,$06,$06,$06,$06,$06,$f6
  386. !byte $00,$00,$00,$00,$03,$0f,$30,$cf,$00,$03,$3c,$ff,$3f,$ff,$f3,$f3
  387. !byte $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f6,$f6,$f6,$36,$c6,$c6,$f6,$f6
  388. !byte $33,$cf,$cc,$c3,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
  389. !byte $ff,$cf,$c3,$f3,$c3,$cf,$ff,$ff,$f6,$f6,$f6,$f6,$f6,$f6,$f6,$f6
  390. !byte $fc,$c0,$3f,$ff,$ff,$ff,$55,$aa,$3f,$ff,$ff,$ff,$ff,$ff,$55,$aa
  391. !byte $ff,$ff,$ff,$cf,$ff,$ff,$55,$aa,$f6,$f6,$f6,$f6,$f6,$f6,$56,$aa
  392. !byte $ea,$7a,$5e,$57,$55,$55,$55,$55,$aa,$aa,$aa,$aa,$ea,$7a,$5e,$57
  393. !byte $ff,$57,$57,$57,$57,$57,$57,$ff,$aa,$aa,$a2,$a2,$9a,$9a,$aa,$aa
  394. !byte $a8,$a3,$8f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3d,$35,$16,$1a,$1b,$1a
  395. !byte $fc,$fc,$7c,$5c,$94,$a4,$a4,$a4,$2a,$ca,$f2,$fc,$fc,$fc,$fc,$fc
  396. !byte $3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$1a,$1a,$16,$35,$3d,$3f,$3d,$3b
  397. !byte $e4,$a4,$94,$5c,$7c,$fc,$7c,$ec,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc
  398. !byte $3f,$3f,$3f,$3f,$33,$44,$55,$55,$3d,$3f,$3f,$3f,$0f,$53,$54,$55
  399. !byte $7c,$fc,$fc,$fc,$f0,$c5,$15,$55,$fc,$fc,$fc,$fc,$cc,$11,$55,$55
  400. !byte $ff,$55,$51,$44,$51,$54,$55,$ff,$ff,$55,$11,$44,$11,$44,$55,$ff
  401. !byte $ff,$55,$11,$44,$11,$45,$55,$ff,$a8,$a3,$a3,$a3,$a3,$a1,$a1,$85
  402. !byte $2a,$ca,$ca,$ca,$ca,$8a,$8a,$a2,$85,$86,$86,$86,$8a,$86,$88,$82
  403. !byte $a2,$a2,$a2,$a2,$a2,$a2,$22,$82,$3a,$3a,$3a,$3a,$3e,$3f,$3f,$3f
  404. !byte $82,$ac,$ac,$bc,$bc,$fc,$fc,$fc,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
  405. !byte $ff,$55,$55,$55,$55,$55,$55,$57,$ff,$55,$55,$57,$5d,$75,$d5,$55
  406. !byte $fe,$7e,$de,$5e,$5e,$5e,$5e,$5e,$55,$55,$55,$55,$57,$5e,$7a,$ea
  407. !byte $5e,$5e,$7a,$ea,$aa,$aa,$aa,$aa,$bf,$bd,$b7,$b5,$b5,$b5,$b5,$b5
  408. !byte $ff,$55,$55,$d5,$75,$5d,$57,$55,$ff,$55,$55,$55,$55,$55,$55,$d5
  409. !byte $b5,$b5,$ad,$ab,$aa,$aa,$aa,$aa,$55,$55,$55,$55,$d5,$b5,$ad,$ab
  410. !byte $55,$55,$55,$99,$66,$99,$66,$99
  411. ; TILE SET DATA : 14 (4x4) tiles : total size is 224 ($e0) bytes.
  412.  
  413.  
  414. ; MAP DATA : 1 (10x5) map : total size is 50 ($32) bytes.
  415. ; D70F
  416. MAP_SCR0
  417. ADDR_MAP_DATA
  418. !byte $11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$05,$05,$05,$05,$05,$05
  419. !byte $05,$05,$05,$05,$05,$05,$05,$04,$0b,$0b,$0a,$05,$05,$05,$05,$0e
  420. !byte $0f,$05,$05,$05,$0e,$0b,$0a,$05,$0b,$0b,$0b,$0f,$05,$05,$05,$05
  421. !byte $0e,$0b
  422.  
  423. MAP_SCR1
  424. !byte $11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$05,$05,$05,$05,$05,$05
  425. !byte $05,$05,$05,$05,$05,$05,$05,$04,$0b,$0b,$0a,$05,$05,$05,$05,$0e
  426. !byte $0f,$05,$05,$05,$0e,$0b,$0a,$05,$0b,$0b,$0b,$0f,$05,$05,$05,$05
  427. !byte $0e,$0b
  428.  
  429. MAP_SCR2
  430. !byte $11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$05,$05,$00,$01,$02,$01
  431. !byte $02,$03,$05,$05,$05,$05,$06,$07,$07,$07,$08,$09,$05,$05,$05,$05
  432. !byte $05,$05,$05,$05,$05,$05,$0d,$05,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b
  433. !byte $0c,$0a
  434.  
  435.  
  436. * = ADDR_TILESET_DATA
  437. !byte $00,$01,$01,$01,$02,$03,$04,$04,$02,$04,$04,$03,$02,$04,$04,$04
  438. !byte $01,$01,$01,$05,$06,$03,$04,$04,$04,$04,$04,$04,$07,$04,$04,$03
  439. !byte $01,$01,$01,$01,$04,$04,$04,$07,$04,$03,$04,$04,$04,$04,$04,$04
  440. !byte $01,$01,$01,$08,$04,$04,$03,$09,$03,$04,$04,$09,$04,$04,$03,$09
  441. !byte $27,$27,$27,$27,$27,$27,$27,$27,$0b,$0c,$0d,$0d,$0e,$0f,$0f,$0f
  442. !byte $27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27
  443. !byte $02,$04,$03,$04,$02,$04,$04,$10,$02,$03,$04,$04,$11,$12,$12,$12
  444. !byte $04,$04,$04,$04,$04,$04,$03,$04,$04,$03,$04,$04,$12,$12,$12,$12
  445. !byte $04,$07,$04,$03,$04,$04,$04,$04,$10,$04,$04,$13,$12,$12,$14,$15
  446. !byte $04,$04,$16,$17,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f,$20,$21,$22,$23
  447. !byte $27,$27,$27,$27,$27,$27,$27,$27,$0d,$0d,$24,$25,$0f,$0f,$0f,$26
  448. !byte $27,$27,$27,$27,$27,$27,$27,$27,$0d,$0d,$0d,$0d,$0f,$0f,$0f,$0f
  449. !byte $28,$29,$2a,$2b,$2c,$2d,$2e,$2f,$30,$31,$32,$33,$34,$35,$35,$36
  450. !byte $27,$27,$27,$27,$27,$37,$38,$27,$27,$39,$3a,$27,$27,$3b,$3c,$27
  451. !byte $27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$0b,$0c,$27,$27,$0e,$0f
  452. !byte $27,$27,$27,$27,$27,$27,$27,$27,$0d,$3e,$3f,$40,$0f,$26,$41,$42
  453. !byte $27,$27,$27,$27,$27,$27,$27,$27,$43,$44,$45,$0d,$46,$47,$0e,$0f
  454. !byte $48,$48,$48,$48,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27
  455.  
  456.  
  457.  
  458. SCREEN_LINE_OFFSET_TABLE_LO
  459.           !byte ( SCREEN_CHAR +   0 ) & 0x00ff ; ($cc00 + 0 )  = $cc00 AND $ff = $0
  460.           !byte ( SCREEN_CHAR +  40 ) & 0x00ff ; ($cc00 + 40)  = $cc28 AND $ff = $28
  461.           !byte ( SCREEN_CHAR +  80 ) & 0x00ff ; ($cc00 + 80)  = $cc50 AND $ff = $50
  462.           !byte ( SCREEN_CHAR + 120 ) & 0x00ff ; ($cc00 + 120) = $cc78 AND $ff = $78
  463.           !byte ( SCREEN_CHAR + 160 ) & 0x00ff
  464.           !byte ( SCREEN_CHAR + 200 ) & 0x00ff ; ($cc00 + 200) = $ccc8 AND $ff = $c8
  465.           !byte ( SCREEN_CHAR + 240 ) & 0x00ff
  466.           !byte ( SCREEN_CHAR + 280 ) & 0x00ff
  467.           !byte ( SCREEN_CHAR + 320 ) & 0x00ff
  468.           !byte ( SCREEN_CHAR + 360 ) & 0x00ff
  469.           !byte ( SCREEN_CHAR + 400 ) & 0x00ff
  470.           !byte ( SCREEN_CHAR + 440 ) & 0x00ff
  471.           !byte ( SCREEN_CHAR + 480 ) & 0x00ff
  472.           !byte ( SCREEN_CHAR + 520 ) & 0x00ff
  473.           !byte ( SCREEN_CHAR + 560 ) & 0x00ff
  474.           !byte ( SCREEN_CHAR + 600 ) & 0x00ff
  475.           !byte ( SCREEN_CHAR + 640 ) & 0x00ff
  476.           !byte ( SCREEN_CHAR + 680 ) & 0x00ff
  477.           !byte ( SCREEN_CHAR + 720 ) & 0x00ff
  478.           !byte ( SCREEN_CHAR + 760 ) & 0x00ff
  479.           !byte ( SCREEN_CHAR + 800 ) & 0x00ff
  480.           !byte ( SCREEN_CHAR + 840 ) & 0x00ff
  481.           !byte ( SCREEN_CHAR + 880 ) & 0x00ff
  482.           !byte ( SCREEN_CHAR + 920 ) & 0x00ff
  483.           !byte ( SCREEN_CHAR + 960 ) & 0x00ff
  484. SCREEN_LINE_OFFSET_TABLE_HI
  485.           !byte ( ( SCREEN_CHAR +   0 ) & 0xff00 ) >> 8
  486.           !byte ( ( SCREEN_CHAR +  40 ) & 0xff00 ) >> 8 ; $cc00 + $28 = $CC48 & $FF00 = $CC00 RSL 8 = $CC
  487.           !byte ( ( SCREEN_CHAR +  80 ) & 0xff00 ) >> 8
  488.           !byte ( ( SCREEN_CHAR + 120 ) & 0xff00 ) >> 8
  489.           !byte ( ( SCREEN_CHAR + 160 ) & 0xff00 ) >> 8
  490.           !byte ( ( SCREEN_CHAR + 200 ) & 0xff00 ) >> 8
  491.           !byte ( ( SCREEN_CHAR + 240 ) & 0xff00 ) >> 8
  492.           !byte ( ( SCREEN_CHAR + 280 ) & 0xff00 ) >> 8
  493.           !byte ( ( SCREEN_CHAR + 320 ) & 0xff00 ) >> 8
  494.           !byte ( ( SCREEN_CHAR + 360 ) & 0xff00 ) >> 8
  495.           !byte ( ( SCREEN_CHAR + 400 ) & 0xff00 ) >> 8
  496.           !byte ( ( SCREEN_CHAR + 440 ) & 0xff00 ) >> 8
  497.           !byte ( ( SCREEN_CHAR + 480 ) & 0xff00 ) >> 8
  498.           !byte ( ( SCREEN_CHAR + 520 ) & 0xff00 ) >> 8
  499.           !byte ( ( SCREEN_CHAR + 560 ) & 0xff00 ) >> 8
  500.           !byte ( ( SCREEN_CHAR + 600 ) & 0xff00 ) >> 8
  501.           !byte ( ( SCREEN_CHAR + 640 ) & 0xff00 ) >> 8
  502.           !byte ( ( SCREEN_CHAR + 680 ) & 0xff00 ) >> 8
  503.           !byte ( ( SCREEN_CHAR + 720 ) & 0xff00 ) >> 8
  504.           !byte ( ( SCREEN_CHAR + 760 ) & 0xff00 ) >> 8
  505.           !byte ( ( SCREEN_CHAR + 800 ) & 0xff00 ) >> 8
  506.           !byte ( ( SCREEN_CHAR + 840 ) & 0xff00 ) >> 8 ; $cc00 + $348 = $CF48 & $FF00 = $CF00 RSL 8 = $CF
  507.           !byte ( ( SCREEN_CHAR + 880 ) & 0xff00 ) >> 8
  508.           !byte ( ( SCREEN_CHAR + 920 ) & 0xff00 ) >> 8
  509.           !byte ( ( SCREEN_CHAR + 960 ) & 0xff00 ) >> 8
  510.          
  511. SCREEN_TILE_OFFSET_TABLE_LO
  512. ; RIGA 0
  513.     !byte ( SCREEN_CHAR +   0 ) & 0x00ff
  514.     !byte ( SCREEN_CHAR +   4 ) & 0x00ff
  515.     !byte ( SCREEN_CHAR +   8 ) & 0x00ff
  516.     !byte ( SCREEN_CHAR +  12 ) & 0x00ff
  517.     !byte ( SCREEN_CHAR +  16 ) & 0x00ff
  518.     !byte ( SCREEN_CHAR +  20 ) & 0x00ff
  519.     !byte ( SCREEN_CHAR +  24 ) & 0x00ff
  520.     !byte ( SCREEN_CHAR +  28 ) & 0x00ff
  521.     !byte ( SCREEN_CHAR +  32 ) & 0x00ff
  522.     !byte ( SCREEN_CHAR +  36 ) & 0x00ff
  523. ; RIGA 4   
  524.     !byte ( SCREEN_CHAR + 160 ) & 0x00ff
  525.     !byte ( SCREEN_CHAR + 164 ) & 0x00ff
  526.     !byte ( SCREEN_CHAR + 168 ) & 0x00ff
  527.     !byte ( SCREEN_CHAR + 172 ) & 0x00ff
  528.     !byte ( SCREEN_CHAR + 176 ) & 0x00ff
  529.     !byte ( SCREEN_CHAR + 180 ) & 0x00ff
  530.     !byte ( SCREEN_CHAR + 184 ) & 0x00ff
  531.     !byte ( SCREEN_CHAR + 188 ) & 0x00ff
  532.     !byte ( SCREEN_CHAR + 192 ) & 0x00ff
  533.     !byte ( SCREEN_CHAR + 196 ) & 0x00ff
  534. ; RIGA 8
  535.     !byte ( SCREEN_CHAR + 320 ) & 0x00ff
  536.     !byte ( SCREEN_CHAR + 324 ) & 0x00ff
  537.     !byte ( SCREEN_CHAR + 328 ) & 0x00ff
  538.     !byte ( SCREEN_CHAR + 332 ) & 0x00ff
  539.     !byte ( SCREEN_CHAR + 336 ) & 0x00ff
  540.     !byte ( SCREEN_CHAR + 340 ) & 0x00ff
  541.     !byte ( SCREEN_CHAR + 344 ) & 0x00ff
  542.     !byte ( SCREEN_CHAR + 348 ) & 0x00ff
  543.     !byte ( SCREEN_CHAR + 352 ) & 0x00ff
  544.     !byte ( SCREEN_CHAR + 356 ) & 0x00ff
  545. ; RIGA 16
  546.     !byte ( SCREEN_CHAR + 480 ) & 0x00ff
  547.     !byte ( SCREEN_CHAR + 484 ) & 0x00ff
  548.     !byte ( SCREEN_CHAR + 488 ) & 0x00ff
  549.     !byte ( SCREEN_CHAR + 492 ) & 0x00ff
  550.     !byte ( SCREEN_CHAR + 496 ) & 0x00ff
  551.     !byte ( SCREEN_CHAR + 500 ) & 0x00ff
  552.     !byte ( SCREEN_CHAR + 504 ) & 0x00ff
  553.     !byte ( SCREEN_CHAR + 508 ) & 0x00ff
  554.     !byte ( SCREEN_CHAR + 512 ) & 0x00ff
  555.     !byte ( SCREEN_CHAR + 516 ) & 0x00ff
  556. ; RIGA 20
  557.     !byte ( SCREEN_CHAR + 640 ) & 0x00ff
  558.     !byte ( SCREEN_CHAR + 644 ) & 0x00ff
  559.     !byte ( SCREEN_CHAR + 648 ) & 0x00ff
  560.     !byte ( SCREEN_CHAR + 652 ) & 0x00ff
  561.     !byte ( SCREEN_CHAR + 656 ) & 0x00ff
  562.     !byte ( SCREEN_CHAR + 660 ) & 0x00ff
  563.     !byte ( SCREEN_CHAR + 664 ) & 0x00ff
  564.     !byte ( SCREEN_CHAR + 668 ) & 0x00ff
  565.     !byte ( SCREEN_CHAR + 672 ) & 0x00ff
  566.     !byte ( SCREEN_CHAR + 676 ) & 0x00ff
  567.    
  568. SCREEN_TILE_OFFSET_TABLE_HI
  569. ; RIGA 0
  570.     !byte ( ( SCREEN_CHAR +   0 ) & 0xff00 ) >> 8
  571.     !byte ( ( SCREEN_CHAR +   4 ) & 0xff00 ) >> 8
  572.     !byte ( ( SCREEN_CHAR +   8 ) & 0xff00 ) >> 8
  573.     !byte ( ( SCREEN_CHAR +  12 ) & 0xff00 ) >> 8
  574.     !byte ( ( SCREEN_CHAR +  16 ) & 0xff00 ) >> 8
  575.     !byte ( ( SCREEN_CHAR +  20 ) & 0xff00 ) >> 8
  576.     !byte ( ( SCREEN_CHAR +  24 ) & 0xff00 ) >> 8
  577.     !byte ( ( SCREEN_CHAR +  28 ) & 0xff00 ) >> 8
  578.     !byte ( ( SCREEN_CHAR +  32 ) & 0xff00 ) >> 8
  579.     !byte ( ( SCREEN_CHAR +  36 ) & 0xff00 ) >> 8
  580. ; RIGA 4
  581.     !byte ( ( SCREEN_CHAR + 160 ) & 0xff00 ) >> 8
  582.     !byte ( ( SCREEN_CHAR + 164 ) & 0xff00 ) >> 8
  583.     !byte ( ( SCREEN_CHAR + 168 ) & 0xff00 ) >> 8
  584.     !byte ( ( SCREEN_CHAR + 172 ) & 0xff00 ) >> 8
  585.     !byte ( ( SCREEN_CHAR + 176 ) & 0xff00 ) >> 8
  586.     !byte ( ( SCREEN_CHAR + 180 ) & 0xff00 ) >> 8
  587.     !byte ( ( SCREEN_CHAR + 184 ) & 0xff00 ) >> 8
  588.     !byte ( ( SCREEN_CHAR + 188 ) & 0xff00 ) >> 8
  589.     !byte ( ( SCREEN_CHAR + 192 ) & 0xff00 ) >> 8
  590.     !byte ( ( SCREEN_CHAR + 196 ) & 0xff00 ) >> 8
  591. ; RIGA 8
  592.     !byte ( ( SCREEN_CHAR + 320 ) & 0xff00 ) >> 8
  593.     !byte ( ( SCREEN_CHAR + 324 ) & 0xff00 ) >> 8
  594.     !byte ( ( SCREEN_CHAR + 328 ) & 0xff00 ) >> 8
  595.     !byte ( ( SCREEN_CHAR + 332 ) & 0xff00 ) >> 8
  596.     !byte ( ( SCREEN_CHAR + 336 ) & 0xff00 ) >> 8
  597.     !byte ( ( SCREEN_CHAR + 340 ) & 0xff00 ) >> 8
  598.     !byte ( ( SCREEN_CHAR + 344 ) & 0xff00 ) >> 8
  599.     !byte ( ( SCREEN_CHAR + 348 ) & 0xff00 ) >> 8
  600.     !byte ( ( SCREEN_CHAR + 352 ) & 0xff00 ) >> 8
  601.     !byte ( ( SCREEN_CHAR + 356 ) & 0xff00 ) >> 8
  602. ; RIGA 16
  603.     !byte ( ( SCREEN_CHAR + 480 ) & 0xff00 ) >> 8
  604.     !byte ( ( SCREEN_CHAR + 484 ) & 0xff00 ) >> 8
  605.     !byte ( ( SCREEN_CHAR + 488 ) & 0xff00 ) >> 8
  606.     !byte ( ( SCREEN_CHAR + 492 ) & 0xff00 ) >> 8
  607.     !byte ( ( SCREEN_CHAR + 496 ) & 0xff00 ) >> 8
  608.     !byte ( ( SCREEN_CHAR + 500 ) & 0xff00 ) >> 8
  609.     !byte ( ( SCREEN_CHAR + 504 ) & 0xff00 ) >> 8
  610.     !byte ( ( SCREEN_CHAR + 508 ) & 0xff00 ) >> 8
  611.     !byte ( ( SCREEN_CHAR + 512 ) & 0xff00 ) >> 8
  612.     !byte ( ( SCREEN_CHAR + 516 ) & 0xff00 ) >> 8
  613. ; RIGA 20
  614.     !byte ( ( SCREEN_CHAR + 640 ) & 0xff00 ) >> 8
  615.     !byte ( ( SCREEN_CHAR + 644 ) & 0xff00 ) >> 8
  616.     !byte ( ( SCREEN_CHAR + 648 ) & 0xff00 ) >> 8
  617.     !byte ( ( SCREEN_CHAR + 652 ) & 0xff00 ) >> 8
  618.     !byte ( ( SCREEN_CHAR + 656 ) & 0xff00 ) >> 8
  619.     !byte ( ( SCREEN_CHAR + 660 ) & 0xff00 ) >> 8
  620.     !byte ( ( SCREEN_CHAR + 664 ) & 0xff00 ) >> 8
  621.     !byte ( ( SCREEN_CHAR + 668 ) & 0xff00 ) >> 8
  622.     !byte ( ( SCREEN_CHAR + 672 ) & 0xff00 ) >> 8
  623.     !byte ( ( SCREEN_CHAR + 676 ) & 0xff00 ) >> 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement