-
Notifications
You must be signed in to change notification settings - Fork 2
/
rle2.asm
211 lines (176 loc) · 28.4 KB
/
rle2.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
*=$1000
VIC_SCREEN = $400
VIC_COLOR = $d800
SC_HIBYTE = #>VIC_SCREEN+3 ; We want this to be "07"
COL_HIBYTE = #>VIC_COLOR+3 ; We want this to be "DB"
NONINTERLEAVED = #1
lda NONINTERLEAVED
beq Interleaved
;********************************************************
; Non-Interleaved program code
;********************************************************
Non_Interleaved
;*********************************************************
; Set up Draw_Screen function to draw characters on screen
;*********************************************************
lda #SC_HIBYTE ; Set Screen Highbyte "07" used for
sta Max_HIGHBYTE+1 ; exiting program at the end of screen
lda #<RLE_NUM ; Set up pointer to Label RLE_NUM
sta Get_Data+1 ; for use in Draw_Screen routine
lda #>RLE_NUM ; This will load # of bytes to repeat
sta Get_Data+2
lda #1 ; Set up #of bytes to skip. Needed for
sta ADD_AMT+1 ; Interleaved version to be 2
sta ADD_AMT2+1 ; 1 for Non.
lda #<RLE_Char ; Set up pointer to Label REL_CHar
sta Next_Ch+1 ; for use in Draw Screen routine
lda #>RLE_Char ; Loads the character to store on screen
sta Next_Ch+2
lda #<VIC_SCREEN ; Set up point to point to the screen
sta VIC_LOOP+1 ; Data at $400 , later it will point
lda #>VIC_SCREEN ; To color data
sta VIC_LOOP+2
jsr Draw_Screen ; Draw the Screen characters only - no color
;*********************************************************
; Set up Draw_Screen function to draw colors on screen
;*********************************************************
lda #COL_HIBYTE ; Set Screen Highbyte to "DB" used for
sta Max_HIGHBYTE+1 ; exiting program at the end of screen
lda #<RLE_Color ; Set up point to the label RLE_Color
sta Next_Ch+1 ; for use in Draw Screen Routine
lda #>RLE_Color ; This will load the color to store on screen
sta Next_Ch+2
lda #<RLE_CNUM ; Set up pointer to Label RLE_CNUM
sta Get_Data+1 ; for use in Draw_Screen routine
lda #>RLE_CNUM ; This will load # of bytes to repeat
sta Get_Data+2
lda #<VIC_Color ; Set up point to point to the screen
sta VIC_LOOP+1 ;
lda #>VIC_COLOR ; Data at $D800
sta VIC_LOOP+2
jsr Draw_Screen ; Draw the Screen color information only
rts
;********************************************************
; Interleaved program code
;********************************************************
Interleaved
;*********************************************************
; Set up Draw_Screen function to draw characters on screen
;*********************************************************
lda #SC_HIBYTE ; Set Screen Highbyte "07" used for
sta Max_HIGHBYTE+1 ; exiting program at the end of screen
Operator Calc
lda #<RLE_Char+1 ; Set up pointer to Label RLE_NUM
sta Get_Data+1 ; for use in Draw_Screen routine
lda #>RLE_Char+1 ; This will load # of bytes to repeat
sta Get_Data+2
Operator Hilo
lda #2 ; Set up #of bytes to skip. Needed for
sta ADD_AMT+1 ; Interleaved version to be 2
sta ADD_AMT2+1 ; 1 for Non.
lda #<RLE_Char ; Set up pointer to Label REL_CHar
sta Next_Ch+1 ; for use in Draw Screen routine
lda #>RLE_Char ; Loads the character to store on screen
sta Next_Ch+2
lda #<VIC_SCREEN ; Set up point to point to the screen
sta VIC_LOOP+1 ; Data at $400 , later it will point
lda #>VIC_SCREEN ; To color data
sta VIC_LOOP+2
jsr Draw_Screen ; Draw the Screen characters only - no color
;*********************************************************
; Set up Draw_Screen function to draw colors on screen
;*********************************************************
lda #COL_HIBYTE ; Set Screen Highbyte to "DB" used for
sta Max_HIGHBYTE+1 ; exiting program at the end of screen
Operator Calc
lda #<RLE_Color+1 ; Set up pointer to Label RLE_CNUM
sta Get_Data+1 ; for use in Draw_Screen routine
lda #>RLE_Color+1 ; This will load # of bytes to repeat
sta Get_Data+2
lda #<RLE_Color ; Set up point to the label RLE_Color
sta Next_Ch+1 ; for use in Draw Screen Routine
lda #>RLE_Color ; This will load the color to store on screen
sta Next_Ch+2
Operator Hilo
lda #<VIC_Color ; Set up point to point to the screen
sta VIC_LOOP+1 ;
lda #>VIC_COLOR ; Data at $D800
sta VIC_LOOP+2
jsr Draw_Screen ; Draw the Screen color information only
rts
;********************************************************
; Draw_Screen program code
; Designed to be used for both Interleaved & non-Interleaved
; versions
;********************************************************
Draw_Screen
Get_Data lda $FFFF ;Self modified, Load RLE_NUM of chars from label
sta MAX_LOOP+1 ;to set exit condition of loop
lda VIC_LOOP+2 ; Set up the program exit condition if the
Max_HIGHBYTE cmp #$FF ; screen drawing has reached the very
bne Next_Ch ; bottom right most portion of the
lda VIC_LOOP+1 ; VIC screen located at
cmp #$e8 ; $07e7 for screen data and
bcs rts_back ; $dbe7 for color data
Next_Ch lda RLE_Char ; Load the character or color we are drawing on screen
ldx #0 ; Set X index to 0
VIC_LOOP sta $FFFF,x ; Loop to store x number of the same character/cols
inx ; on the screen until max number of chars/cols
MAX_LOOP cpx #$FF ; are reached..
bne VIC_LOOP ;
clc ; Prepare for next position on screen to draw
lda VIC_LOOP+1 ; If we just drew 20 characters then new screen pos
adc MAX_LOOP+1 ; for the next time loop is ran need to be
sta VIC_LOOP+1 ; positioned to $400 + 20 or $0414 for example
bcc First_Skip ; If we reach $4ff, need to wrap to $500
inc VIC_LOOP+2 ; by incrementing this high byte value
first_skip
clc ; Prepare for the next position in the data
lda Get_Data+1 ; array to read in. As in above need to
add_amt adc #1 ; Add 1 to low byte (Two for Interleaved)
sta Get_Data+1 ; then check if carry to
bcc ADD_NEXT ; and if necessary increment high byte
inc Get_Data+2 ; Need to do it this way since there may often
add_next ; be more than 255 elements in array
clc
lda Next_Ch+1 ; Same as above grab next value in
add_amt2 adc #1 ; RLE_Char label add 1 ()or two for Interleaved)
sta Next_Ch+1 ; Increment low then high byte
bcc Loop ; If necessary
inc Next_Ch+2
loop
jmp DRAW_Screen ; Draw the Screen color information only
rts_back
rts
;
;Non Interleaved Separate Char color and length
;RLE_Char BYTE $20,$13,$03,$0F,$12,$05,$3A,$20,$30,$20,$08,$09,$3A,$20,$30,$20,$E3,$2A,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$2A,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$2E,$20,$E3,$20,$2E,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$20,$2A,$20,$E3,$2E,$20,$E3,$20,$2E,$E3,$2E,$E3,$2E,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$2E,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$2E,$E3,$2E,$E3,$2E,$20,$E3,$2E,$E3,$20,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$2E,$E3,$20,$E3,$2D,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$2E,$20,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$20,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$20,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$20,$E3,$20,$2E,$E3,$20,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$E3,$20,$2E,$20,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$20,$2E,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$20,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$2E,$20,$2E,$E3,$2E,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$2E,$20,$2E,$20,$2E,$E3,$20,$E3,$20,$E3,$20,$2E,$E3,$20,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$20,$E3,$20,$E3,$20,$2E,$E3,$20,$E3,$20,$E3,$2E,$E3,$2E,$E3,$2E,$E3,$2A,$2E,$E3,$2E,$E3,$2E,$2A,$E3,$20
;RLE_NUM BYTE $05,$01,$01,$01,$01,$01,$01,$01,$07,$05,$01,$01,$01,$01,$07,$05,$29,$01,$02,$01,$06,$01,$09,$03,$07,$03,$04,$01,$02,$01,$01,$01,$01,$01,$04,$01,$01,$01,$07,$01,$03,$01,$05,$01,$03,$01,$03,$01,$02,$01,$01,$01,$01,$01,$01,$04,$01,$05,$02,$01,$05,$02,$01,$02,$05,$02,$01,$01,$02,$05,$01,$01,$02,$03,$01,$01,$01,$01,$03,$02,$01,$01,$01,$01,$03,$01,$01,$01,$01,$03,$01,$01,$01,$02,$01,$03,$02,$01,$04,$01,$01,$01,$01,$01,$02,$01,$01,$02,$01,$01,$03,$01,$01,$01,$01,$01,$03,$01,$01,$01,$02,$03,$01,$01,$01,$0A,$02,$01,$02,$02,$07,$04,$01,$02,$01,$02,$01,$01,$01,$02,$02,$01,$03,$01,$03,$01,$04,$02,$02,$01,$01,$03,$01,$03,$01,$03,$01,$02,$01,$01,$01,$01,$01,$02,$01,$02,$06,$04,$01,$01,$01,$02,$01,$01,$02,$09,$02,$01,$01,$01,$06,$01,$01,$04,$07,$01,$01,$02,$01,$01,$06,$01,$02,$01,$02,$01,$01,$01,$01,$01,$03,$02,$01,$01,$04,$02,$01,$03,$01,$01,$01,$02,$01,$01,$09,$01,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$02,$01,$01,$04,$01,$01,$06,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$03,$03,$01,$02,$02,$01,$06,$01,$01,$01,$04,$01,$01,$03,$01,$01,$01,$01,$02,$01,$01,$01,$02,$01,$04,$01,$01,$0A,$01,$01,$01,$04,$01,$05,$01,$01,$01,$02,$01,$01,$01,$03,$01,$01,$01,$01,$01,$03,$01,$07,$01,$01,$01,$05,$05,$01,$01,$01,$02,$01,$01,$05,$01,$01,$01,$01,$01,$0B,$02,$01,$04,$01,$04,$01,$01,$01,$02,$01,$02,$01,$02,$01,$02,$01,$01,$01,$01,$01,$01,$03,$01,$02,$01,$03,$01,$01,$05,$01,$03,$01,$01,$02,$01,$04,$01,$01,$03,$01,$01,$01,$01,$0A,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$02,$01,$01,$01,$01,$02,$01,$03,$01,$01,$01,$01,$01,$06,$01,$01,$02,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$02,$01,$01,$03,$01,$01,$03,$01,$01,$01,$01,$08,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$01,$02,$01,$03,$01,$01,$01,$03,$01,$01,$01,$01,$01,$06,$01,$01,$02,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$02,$01,$17,$01,$09,$01,$02,$01,$29,$28
;RLE_Color BYTE $00,$03,$00,$03,$01,$07,$03,$07,$03,$07,$03,$07,$03,$07,$01,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$01,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$01,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$00,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$07,$03,$01,$07,$03,$07,$03,$07,$01,$03,$00
;RLE_CNUM BYTE $05,$1E,$05,$29,$01,$02,$01,$06,$01,$09,$03,$07,$03,$04,$01,$02,$01,$01,$01,$01,$01,$04,$01,$01,$01,$07,$01,$03,$01,$05,$01,$03,$01,$03,$01,$02,$01,$01,$01,$01,$01,$01,$04,$01,$05,$02,$08,$01,$09,$01,$01,$02,$05,$01,$01,$02,$03,$01,$01,$01,$04,$02,$01,$01,$01,$01,$03,$01,$01,$01,$01,$03,$01,$01,$01,$02,$01,$03,$01,$01,$01,$04,$01,$01,$01,$01,$01,$02,$01,$01,$02,$01,$01,$03,$01,$01,$01,$01,$01,$03,$01,$01,$01,$02,$03,$01,$01,$01,$0C,$01,$02,$02,$0B,$01,$03,$02,$01,$01,$01,$01,$01,$0A,$01,$04,$04,$01,$01,$03,$01,$03,$01,$03,$01,$02,$01,$01,$01,$01,$01,$05,$06,$04,$01,$01,$01,$02,$01,$01,$0B,$02,$01,$01,$07,$01,$01,$04,$08,$01,$02,$01,$01,$06,$01,$02,$01,$02,$01,$01,$01,$01,$01,$03,$03,$01,$04,$02,$01,$03,$01,$01,$01,$02,$01,$01,$09,$02,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$02,$01,$01,$04,$01,$08,$01,$01,$01,$01,$01,$01,$01,$01,$02,$01,$01,$01,$01,$01,$01,$01,$03,$03,$02,$01,$06,$01,$01,$01,$04,$01,$01,$03,$01,$01,$01,$01,$02,$01,$01,$03,$01,$03,$01,$01,$01,$04,$06,$01,$01,$01,$04,$01,$05,$01,$01,$01,$02,$01,$01,$01,$03,$01,$01,$01,$01,$01,$03,$01,$07,$01,$01,$0C,$01,$01,$02,$01,$01,$05,$01,$01,$01,$0D,$02,$01,$04,$01,$04,$01,$01,$01,$02,$01,$02,$01,$02,$03,$01,$01,$01,$01,$01,$01,$06,$01,$03,$01,$01,$05,$01,$03,$01,$01,$02,$05,$01,$01,$03,$01,$01,$01,$01,$0A,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$02,$01,$01,$01,$01,$07,$01,$01,$01,$01,$06,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$02,$01,$01,$03,$01,$01,$03,$01,$01,$01,$01,$08,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$01,$02,$01,$03,$01,$01,$01,$03,$01,$01,$01,$01,$01,$06,$01,$01,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$02,$01,$17,$01,$09,$01,$02,$01,$29,$28
;Non Interleaved Separate Char color and length
;RLE_Char BYTE $01,$02,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$07,$20,$05,$20,$07,$20,$07,$20,$05,$20,$2A
;RLE_NUM BYTE $28,$28,$5B,$09,$03,$01,$09,$06,$0C,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$06,$0C,$01,$03,$05,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$09,$03,$08,$02,$06,$F0,$01
;RLE_Color BYTE $03,$00,$03,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$0A
;RLE_CNUM BYTE $50,$35,$03,$23,$0D,$09,$06,$0C,$01,$0A,$02,$09,$01,$11,$01,$0A,$02,$09,$01,$11,$01,$0A,$02,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$01,$11,$01,$0B,$01,$09,$06,$0C,$01,$03,$05,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$01,$11,$01,$07,$01,$03,$01,$09,$02,$10,$01,$07,$01,$03,$01,$09,$02,$10,$01,$07,$01,$03,$01,$09,$06,$0C,$09,$03,$08,$02,$06,$F0,$01
;INTERLEAVED Char color and length
;RLE_CNUM ; Not used For Interleaved just need label
;RLE_NUM ; Not used For Interleaved just need label
;RLE_Char BYTE $01,$28,$02,$28,$20,$5B,$07,$09,$20,$03,$07,$01,$20,$09,$05,$06,$20,$0C,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$0B,$07,$01,$20,$09,$05,$06,$20,$0C,$07,$01,$20,$03,$07,$05,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$07,$07,$01,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$07,$07,$01,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$07,$07,$01,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$07,$07,$01,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$01,$20,$07,$07,$01,$20,$03,$07,$01,$20,$09,$05,$01,$20,$11,$07,$09,$20,$03,$07,$08,$20,$02,$05,$06,$20,$F0,$2A,$01
;RLE_Color BYTE $03,$50,$00,$35,$03,$03,$00,$23,$04,$0D,$00,$09,$04,$06,$00,$0C,$04,$01,$00,$0A,$04,$02,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0A,$04,$02,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0A,$04,$02,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0B,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0B,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0B,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$0B,$04,$01,$00,$09,$04,$06,$00,$0C,$04,$01,$00,$03,$04,$05,$00,$03,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$07,$04,$01,$00,$03,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$07,$04,$01,$00,$03,$04,$01,$00,$09,$04,$01,$00,$11,$04,$01,$00,$07,$04,$01,$00,$03,$04,$01,$00,$09,$04,$02,$00,$10,$04,$01,$00,$07,$04,$01,$00,$03,$04,$01,$00,$09,$04,$02,$00,$10,$04,$01,$00,$07,$04,$01,$00,$03,$04,$01,$00,$09,$04,$06,$00,$0C,$04,$09,$00,$03,$04,$08,$00,$02,$04,$06,$00,$F0,$0A,$01
;Non Interleaved Separate Char color and length
;RLE_Char BYTE $20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$04,$05,$0D,$05,$0E,$14,$09,$01,$20,$04,$05,$06,$05,$0E,$04,$05,$12,$20,$0B,$05,$19,$02,$0F,$01,$12,$04,$3A,$20,$0A,$0F,$19,$13,$14,$09,$03,$0B,$3A,$20,$17,$20,$2D,$20,$15,$10,$20,$10,$0F,$12,$14,$20,$32,$20,$1A,$20,$2D,$20,$04,$0F,$17,$0E,$20,$01,$20,$2D,$20,$0C,$05,$06,$14,$20,$13,$20,$2D,$20,$12,$09,$07,$08,$14,$20,$10,$12,$05,$13,$20,$01,$0E,$19,$14,$08,$09,$0E,$07,$20
;RLE_NUM BYTE $57,$05,$02,$05,$02,$03,$05,$05,$0C,$03,$05,$02,$02,$01,$01,$02,$01,$02,$03,$03,$0F,$02,$06,$02,$01,$02,$01,$01,$03,$01,$02,$03,$10,$02,$06,$04,$02,$05,$02,$02,$03,$02,$0C,$02,$02,$03,$01,$02,$04,$01,$03,$01,$02,$02,$03,$02,$0C,$02,$03,$02,$01,$02,$03,$02,$03,$02,$01,$03,$10,$03,$02,$02,$01,$02,$03,$02,$03,$02,$01,$04,$10,$06,$01,$02,$03,$02,$03,$02,$02,$06,$11,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$86,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0E,$01,$01,$01,$01,$01,$01,$01,$01,$01,$30,$01,$01,$01,$01,$01,$01,$11,$01,$01,$01,$01,$01,$01,$0B,$01,$01,$01,$01,$01,$01,$01,$01,$20,$01,$01,$01,$01,$01,$01,$01,$01,$20,$01,$01,$01,$01,$01,$01,$01,$01,$01,$A2,$01,$01,$01,$02,$01,$01,$01,$01,$01,$01,$01,$01,$01,$35
;RLE_Color BYTE $01,$07,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$07,$06,$01,$02,$06,$02,$06,$02,$06,$07,$01,$06,$02,$01,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$01,$02,$06,$02,$06,$02,$06,$02,$01,$0D,$02,$07,$04,$07,$01,$0D,$07,$06,$03,$01,$03,$01,$00,$03,$01,$03,$0A,$01,$0A,$01,$03,$05,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$05,$01,$0D,$01,$03,$0D,$01,$03
;RLE_CNUM BYTE $07,$1B,$09,$01,$01,$01,$01,$05,$02,$06,$01,$03,$04,$06,$08,$04,$01,$05,$02,$06,$01,$03,$04,$06,$08,$08,$04,$02,$02,$07,$02,$04,$0B,$07,$05,$08,$01,$03,$01,$03,$0C,$06,$03,$08,$01,$06,$01,$02,$03,$02,$02,$09,$03,$02,$07,$03,$0A,$02,$02,$02,$06,$03,$01,$02,$01,$08,$02,$0B,$0D,$01,$01,$04,$02,$06,$02,$0C,$0C,$01,$01,$01,$01,$0A,$02,$0F,$0A,$01,$02,$03,$01,$08,$01,$08,$03,$03,$01,$05,$2A,$18,$10,$04,$05,$17,$06,$02,$09,$0E,$09,$08,$18,$03,$0D,$06,$11,$06,$0B,$08,$20,$08,$20,$09,$66,$05,$0F,$07,$04,$04,$09,$03,$08,$1E,$01,$29
;Non Interleaved Separate Char color and length
RLE_Char BYTE $20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$A0,$20,$04,$05,$0D,$05,$0E,$14,$09,$01,$20,$04,$05,$06,$05,$0E,$04,$05,$12,$20,$0B,$05,$19,$02,$0F,$01,$12,$04,$3A,$20,$0A,$0F,$19,$13,$14,$09,$03,$0B,$3A,$20,$17,$20,$2D,$20,$15,$10,$20,$10,$0F,$12,$14,$20,$32,$20,$1A,$20,$2D,$20,$04,$0F,$17,$0E,$20,$01,$20,$2D,$20,$0C,$05,$06,$14,$20,$13,$20,$2D,$20,$12,$09,$07,$08,$14,$20,$10,$12,$05,$13,$20,$01,$0E,$19,$14,$08,$09,$0E,$07,$20
RLE_NUM BYTE $57,$05,$02,$05,$02,$03,$05,$05,$0C,$03,$05,$02,$02,$01,$01,$02,$01,$02,$03,$03,$0F,$02,$06,$02,$01,$02,$01,$01,$03,$01,$02,$03,$10,$02,$06,$04,$02,$05,$02,$02,$03,$02,$0C,$02,$02,$03,$01,$02,$04,$01,$03,$01,$02,$02,$03,$02,$0C,$02,$03,$02,$01,$02,$03,$02,$03,$02,$01,$03,$10,$03,$02,$02,$01,$02,$03,$02,$03,$02,$01,$04,$10,$06,$01,$02,$03,$02,$03,$02,$02,$06,$11,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$86,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0E,$01,$01,$01,$01,$01,$01,$01,$01,$01,$30,$01,$01,$01,$01,$01,$01,$11,$01,$01,$01,$01,$01,$01,$0B,$01,$01,$01,$01,$01,$01,$01,$01,$20,$01,$01,$01,$01,$01,$01,$01,$01,$20,$01,$01,$01,$01,$01,$01,$01,$01,$01,$A2,$01,$01,$01,$02,$01,$01,$01,$01,$01,$01,$01,$01,$01,$35
RLE_Color BYTE $01,$07,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$07,$06,$01,$02,$06,$02,$06,$02,$06,$07,$01,$06,$02,$01,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$06,$02,$01,$02,$06,$02,$06,$02,$06,$02,$01,$0D,$02,$07,$04,$07,$01,$0D,$07,$06,$03,$01,$03,$01,$00,$03,$01,$03,$0A,$01,$0A,$01,$03,$05,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$03,$01,$05,$01,$0D,$01,$03,$0D,$01,$03
RLE_CNUM BYTE $07,$1B,$09,$01,$01,$01,$01,$05,$02,$06,$01,$03,$04,$06,$08,$04,$01,$05,$02,$06,$01,$03,$04,$06,$08,$08,$04,$02,$02,$07,$02,$04,$0B,$07,$05,$08,$01,$03,$01,$03,$0C,$06,$03,$08,$01,$06,$01,$02,$03,$02,$02,$09,$03,$02,$07,$03,$0A,$02,$02,$02,$06,$03,$01,$02,$01,$08,$02,$0B,$0D,$01,$01,$04,$02,$06,$02,$0C,$0C,$01,$01,$01,$01,$0A,$02,$0F,$0A,$01,$02,$03,$01,$08,$01,$08,$03,$03,$01,$05,$2A,$18,$10,$04,$05,$17,$06,$02,$09,$0E,$09,$08,$18,$03,$0D,$06,$11,$06,$0B,$08,$20,$08,$20,$09,$66,$05,$0F,$07,$04,$04,$09,$03,$08,$1E,$01,$29
;INTERLEAVED Char color and length
;RLE_CNUM ; Not used For Interleaved just need label
;rle_num ; Not used For Interleaved just need label
;
;RLE_Char BYTE $20,$57,$A0,$05,$20,$02,$A0,$05,$20,$02,$A0,$03,$20,$05,$A0,$05,$20,$0C,$A0,$03,$20,$05,$A0,$02,$20,$02,$A0,$01,$20,$01,$A0,$02,$20,$01,$A0,$02,$20,$03,$A0,$03,$20,$0F,$A0,$02,$20,$06,$A0,$02,$20,$01,$A0,$02,$20,$01,$A0,$01,$20,$03,$A0,$01,$20,$02,$A0,$03,$20,$10,$A0,$02,$20,$06,$A0,$04,$20,$02,$A0,$05,$20,$02,$A0,$02,$20,$03,$A0,$02,$20,$0C,$A0,$02,$20,$02,$A0,$03,$20,$01,$A0,$02,$20,$04,$A0,$01,$20,$03,$A0,$01,$20,$02,$A0,$02,$20,$03,$A0,$02,$20,$0C,$A0,$02,$20,$03,$A0,$02,$20,$01,$A0,$02,$20,$03,$A0,$02,$20,$03,$A0,$02,$20,$01,$A0,$03,$20,$10,$A0,$03,$20,$02,$A0,$02,$20,$01,$A0,$02,$20,$03,$A0,$02,$20,$03,$A0,$02,$20,$01,$A0,$04,$20,$10,$A0,$06,$20,$01,$A0,$02,$20,$03,$A0,$02,$20,$03,$A0,$02,$20,$02,$A0,$06,$20,$11,$04,$01,$05,$01,$0D,$01,$05,$01,$0E,$01,$14,$01,$09,$01,$01,$01,$20,$01,$04,$01,$05,$01,$06,$01,$05,$01,$0E,$01,$04,$01,$05,$01,$12,$01,$20,$86,$0B,$01,$05,$01,$19,$01,$02,$01,$0F,$01,$01,$01,$12,$01,$04,$01,$3A,$01,$20,$0E,$0A,$01,$0F,$01,$19,$01,$13,$01,$14,$01,$09,$01,$03,$01,$0B,$01,$3A,$01,$20,$30,$17,$01,$20,$01,$2D,$01,$20,$01,$15,$01,$10,$01,$20,$11,$10,$01,$0F,$01,$12,$01,$14,$01,$20,$01,$32,$01,$20,$0B,$1A,$01,$20,$01,$2D,$01,$20,$01,$04,$01,$0F,$01,$17,$01,$0E,$01,$20,$20,$01,$01,$20,$01,$2D,$01,$20,$01,$0C,$01,$05,$01,$06,$01,$14,$01,$20,$20,$13,$01,$20,$01,$2D,$01,$20,$01,$12,$01,$09,$01,$07,$01,$08,$01,$14,$01,$20,$A2,$10,$01,$12,$01,$05,$01,$13,$02,$20,$01,$01,$01,$0E,$01,$19,$01,$14,$01,$08,$01,$09,$01,$0E,$01,$07,$01,$20,$35
;RLE_Color BYTE $01,$07,$07,$1B,$06,$09,$02,$01,$06,$01,$02,$01,$06,$01,$02,$05,$06,$02,$02,$06,$06,$01,$02,$03,$06,$04,$02,$06,$06,$08,$02,$04,$06,$01,$02,$05,$06,$02,$02,$06,$06,$01,$02,$03,$06,$04,$02,$06,$06,$08,$02,$08,$06,$04,$02,$02,$06,$02,$02,$07,$06,$02,$02,$04,$06,$0B,$02,$07,$06,$05,$02,$08,$06,$01,$02,$03,$06,$01,$02,$03,$06,$0C,$02,$06,$06,$03,$02,$08,$06,$01,$02,$06,$06,$01,$02,$02,$06,$03,$07,$02,$06,$02,$01,$09,$02,$03,$06,$02,$02,$07,$06,$03,$02,$0A,$06,$02,$07,$02,$01,$02,$06,$06,$02,$03,$01,$01,$02,$02,$06,$01,$02,$08,$06,$02,$02,$0B,$06,$0D,$02,$01,$06,$01,$02,$04,$06,$02,$02,$06,$06,$02,$02,$0C,$06,$0C,$02,$01,$01,$01,$02,$01,$06,$01,$02,$0A,$06,$02,$02,$0F,$06,$0A,$02,$01,$01,$02,$0D,$03,$02,$01,$07,$08,$04,$01,$07,$08,$01,$03,$0D,$03,$07,$01,$06,$05,$03,$2A,$01,$18,$03,$10,$01,$04,$00,$05,$03,$17,$01,$06,$03,$02,$0A,$09,$01,$0E,$0A,$09,$01,$08,$03,$18,$05,$03,$03,$0D,$01,$06,$03,$11,$01,$06,$03,$0B,$01,$08,$03,$20,$01,$08,$03,$20,$01,$09,$03,$66,$01,$05,$03,$0F,$01,$07,$05,$04,$01,$04,$0D,$09,$01,$03,$03,$08,$0D,$1E,$01,$01,$03,$29