-
Notifications
You must be signed in to change notification settings - Fork 2
/
rle5.asm
178 lines (148 loc) · 26.6 KB
/
rle5.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
*=$1000
;********************************************************
; Gray Defender
; 05/30/2020
; Program to Decrypt basic RLE compression
;********************************************************
;INTERLEAVED = 1 ; Comment this line out for Non-Interleaved Version
ifdef INTERLEAVED
RLE_CNUM ; Not used For Interleaved just need the label defined
RLE_NUM ; Not used For Interleaved just need the label defined
jmp SUB_Interleaved ; Jump to the interlvd routine if directed
endif
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"
Defm SetUpVars
lda #</1
sta /2+1
lda #>/1
sta /2+2
endm
;********************************************************
; 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 #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.
SetUpVars RLE_NUM,Get_Data ; Set up pointer to RLE_NUM, #of bytes to repeat
SetUpVars RLE_Char,Next_Ch ; Point to REL_CHAR - Loads character to store on screen
SetUpVars VIC_SCREEN,VIC_LOOP ; Pointer to scn data at $400 and later $d800
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
SetUpVars RLE_Color,Next_Ch ; Set up pointer to RLE_Color Label
SetUpVars RLE_CNUM,Get_Data ; Set up pointer to RLE_CNUM, # bytes to repeat
SetUpVars VIC_COLOR,VIC_LOOP ; Set up pointer to point to COLOR data
jsr Draw_Screen ; Draw the Screen color information only
rts
;********************************************************
; Interleaved program code
;********************************************************
SUB_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 #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.
Operator Calc
SetUpVars RLE_Char+1,Get_Data ; Set up Pointer to RLE_Char+1 to get length #
Operator Hilo
SetUpVars RLE_Char,Next_Ch ; Set up pointer to RLE_Char preparing next char to grab
SetUpVars VIC_SCREEN,VIC_LOOP ;Pointer to scn data $400 and later $d800
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
SetUpVars RLE_Color+1,Get_Data ; Set up point to RLE_Color+1 to grab color
SetUpVars RLE_COLOR,Next_Ch ; Set up pointer to RLE_Color preparing next color to grab
Operator Hilo
SetUpVars VIC_Color,VIC_LOOP ; Set up pointer to point to COLOR data at $d800
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 or (REL_Char+1)
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_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_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