From c8199e714442260fa7c1b0fcd5e6e2c979ac6741 Mon Sep 17 00:00:00 2001 From: giomba Date: Mon, 12 Apr 2021 23:28:34 +0200 Subject: [PATCH] updated sid tune new sid tune is bigger than 4k, so charset had to be moved now (part of) first half of the charset actually is used by the sid and ignored by the VIC; chars had to be redefined --- README.md | 11 +- src/font.asm | 1280 ------------------------------------------- src/initdata.asm | 10 +- src/levels.asm | 8 +- src/main.asm | 7 +- src/program.asm | 10 +- src/subroutines.asm | 22 +- util/rlevel.cpp | 6 +- 8 files changed, 38 insertions(+), 1316 deletions(-) diff --git a/README.md b/README.md index 105f14c..35d5689 100644 --- a/README.md +++ b/README.md @@ -68,9 +68,10 @@ Address | PRG | Description #### Custom charset Index | Description ----------------|------------- -```$00 - $1F``` | A-Z (space first) -```$20 - $3F``` | A-Z, reversed (space first) -```$40 - $4F``` | hex digits -```$50 - $5F``` | hex digits, reversed -```$60 - ``` | game tiles +```$00 - $7F``` | unused (space for SID) +```$80 - $9F``` | A-Z (space first) +```$A0 - $BF``` | A-Z, reversed (space first) +```$C0 - $CF``` | hex digits +```$D0 - $DF``` | hex digits, reversed +```$E0 - ``` | game tiles diff --git a/src/font.asm b/src/font.asm index 5ffed05..6770ec4 100644 --- a/src/font.asm +++ b/src/font.asm @@ -1283,1286 +1283,6 @@ LASTINIT SET . BYTE #%10101010 BYTE #%10101010 -; char 0x80, 128 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%11101111 - BYTE #%11101111 - -; char 0x81, 129 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%11111111 - BYTE #%11111100 - -; char 0x82, 130 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - -; char 0x83, 131 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - -; char 0x84, 132 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - -; char 0x85, 133 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - -; char 0x86, 134 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - -; char 0x87, 135 - BYTE #%00111111 - BYTE #%01010111 - BYTE #%11111111 - BYTE #%11110111 - BYTE #%11111111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11111111 - -; char 0x88, 136 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - -; char 0x89, 137 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - -; char 0x8a, 138 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - BYTE #%10011010 - -; char 0x8b, 139 - BYTE #%10101000 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - -; char 0x8c, 140 - BYTE #%00001010 - BYTE #%00101111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111111 - BYTE #%10111011 - BYTE #%10100010 - -; char 0x8d, 141 - BYTE #%10101010 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11101011 - BYTE #%10010110 - -; char 0x8e, 142 - BYTE #%10100000 - BYTE #%11111000 - BYTE #%11111110 - BYTE #%11111110 - BYTE #%11111110 - BYTE #%11111110 - BYTE #%11101110 - BYTE #%10001010 - -; char 0x8f, 143 - BYTE #%01010101 - BYTE #%10101010 - BYTE #%00111110 - BYTE #%00001011 - BYTE #%00001011 - BYTE #%00011110 - BYTE #%10101010 - BYTE #%11111111 - -; char 0x90, 144 - BYTE #%01010101 - BYTE #%10101010 - BYTE #%10111110 - BYTE #%11101011 - BYTE #%11101011 - BYTE #%10111110 - BYTE #%10101010 - BYTE #%11111111 - -; char 0x91, 145 - BYTE #%01010101 - BYTE #%10101010 - BYTE #%10111100 - BYTE #%11100000 - BYTE #%11100000 - BYTE #%10111000 - BYTE #%10101010 - BYTE #%11111111 - -; char 0x92, 146 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00010000 - BYTE #%00111000 - BYTE #%00111000 - BYTE #%00111000 - BYTE #%00111000 - -; char 0x93, 147 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000001 - BYTE #%00000011 - -; char 0x94, 148 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000100 - BYTE #%00001110 - BYTE #%00001110 - BYTE #%00001110 - BYTE #%10001110 - -; char 0x95, 149 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00011100 - -; char 0x96, 150 - BYTE #%00000000 - BYTE #%00000001 - BYTE #%00000111 - BYTE #%00001111 - BYTE #%00011111 - BYTE #%00111100 - BYTE #%01111001 - BYTE #%11111111 - -; char 0x97, 151 - BYTE #%00111100 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11101111 - BYTE #%11111111 - BYTE #%11101111 - -; char 0x98, 152 - BYTE #%00000000 - BYTE #%10000000 - BYTE #%11100000 - BYTE #%11110000 - BYTE #%11111000 - BYTE #%00111100 - BYTE #%10011110 - BYTE #%11111111 - -; char 0x99, 153 - BYTE #%01101010 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%10101111 - BYTE #%10101111 - BYTE #%10111100 - -; char 0x9a, 154 - BYTE #%11111100 - BYTE #%01011000 - BYTE #%01111000 - BYTE #%10101100 - BYTE #%10101100 - BYTE #%10111100 - BYTE #%10110000 - BYTE #%10110000 - -; char 0x9b, 155 - BYTE #%10110000 - BYTE #%11100000 - BYTE #%01110000 - BYTE #%10110000 - BYTE #%10110000 - BYTE #%11000000 - BYTE #%11000000 - BYTE #%11000000 - -; char 0x9c, 156 - BYTE #%00010101 - BYTE #%01010110 - BYTE #%01011010 - BYTE #%01011010 - BYTE #%01101010 - BYTE #%01101010 - BYTE #%01101010 - BYTE #%00011010 - -; char 0x9d, 157 - BYTE #%00101111 - BYTE #%00010101 - BYTE #%00010110 - BYTE #%00011010 - BYTE #%00011010 - BYTE #%00011010 - BYTE #%00011010 - BYTE #%00000110 - -; char 0x9e, 158 - BYTE #%00000110 - BYTE #%00000110 - BYTE #%00000111 - BYTE #%00000101 - BYTE #%00000001 - BYTE #%00000001 - BYTE #%00000001 - BYTE #%00000001 - -; char 0x9f, 159 - BYTE #%11000011 - BYTE #%01100011 - BYTE #%00100011 - BYTE #%00110110 - BYTE #%00111110 - BYTE #%01111110 - BYTE #%01101111 - BYTE #%11001101 - -; char 0xa0, 160 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - -; char 0xa1, 161 - BYTE #%11000111 - BYTE #%10010011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00000001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xa2, 162 - BYTE #%00000111 - BYTE #%00110011 - BYTE #%00110011 - BYTE #%00000111 - BYTE #%00110011 - BYTE #%00111001 - BYTE #%00000011 - BYTE #%11111111 - -; char 0xa3, 163 - BYTE #%11000011 - BYTE #%10011001 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%10011001 - BYTE #%11000011 - BYTE #%11111111 - -; char 0xa4, 164 - BYTE #%00000111 - BYTE #%00110011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00110011 - BYTE #%00000111 - BYTE #%11111111 - -; char 0xa5, 165 - BYTE #%00000011 - BYTE #%00111001 - BYTE #%00111111 - BYTE #%00000111 - BYTE #%00111111 - BYTE #%00111001 - BYTE #%00000011 - BYTE #%11111111 - -; char 0xa6, 166 - BYTE #%00000011 - BYTE #%00111001 - BYTE #%00111111 - BYTE #%00000111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%11111111 - -; char 0xa7, 167 - BYTE #%11000011 - BYTE #%10011001 - BYTE #%00111111 - BYTE #%00100001 - BYTE #%00111001 - BYTE #%10011001 - BYTE #%11000011 - BYTE #%11111111 - -; char 0xa8, 168 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00000001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xa9, 169 - BYTE #%10000001 - BYTE #%00100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%10000001 - BYTE #%11111111 - -; char 0xaa, 170 - BYTE #%10000001 - BYTE #%00110011 - BYTE #%11110011 - BYTE #%11110011 - BYTE #%11110011 - BYTE #%00100111 - BYTE #%10001111 - BYTE #%11111111 - -; char 0xab, 171 - BYTE #%00111001 - BYTE #%00110011 - BYTE #%00100111 - BYTE #%00001111 - BYTE #%00100111 - BYTE #%00110011 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xac, 172 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111001 - BYTE #%00000011 - BYTE #%11111111 - -; char 0xad, 173 - BYTE #%00111001 - BYTE #%00010001 - BYTE #%00000001 - BYTE #%00101001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xae, 174 - BYTE #%00100011 - BYTE #%00001001 - BYTE #%00011001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xaf, 175 - BYTE #%11000111 - BYTE #%10010011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%10010011 - BYTE #%11000111 - BYTE #%11111111 - -; char 0xb0, 176 - BYTE #%00000011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00000011 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%00111111 - BYTE #%11111111 - -; char 0xb1, 177 - BYTE #%11000111 - BYTE #%10010011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00110101 - BYTE #%10010011 - BYTE #%11001001 - BYTE #%11111111 - -; char 0xb2, 178 - BYTE #%00000011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00000011 - BYTE #%00100111 - BYTE #%00110011 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xb3, 179 - BYTE #%10000011 - BYTE #%00111001 - BYTE #%00111111 - BYTE #%10000011 - BYTE #%11110001 - BYTE #%00111001 - BYTE #%10000011 - BYTE #%11111111 - -; char 0xb4, 180 - BYTE #%10000001 - BYTE #%00100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11111111 - -; char 0xb5, 181 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%10000011 - BYTE #%11111111 - -; char 0xb6, 182 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%10010011 - BYTE #%11000111 - BYTE #%11101111 - BYTE #%11111111 - -; char 0xb7, 183 - BYTE #%00111001 - BYTE #%00101001 - BYTE #%00101001 - BYTE #%00000001 - BYTE #%00010001 - BYTE #%00111001 - BYTE #%01111101 - BYTE #%11111111 - -; char 0xb8, 184 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%10010011 - BYTE #%11000111 - BYTE #%10010011 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%11111111 - -; char 0xb9, 185 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%00111001 - BYTE #%10010011 - BYTE #%11000111 - BYTE #%11001111 - BYTE #%10011111 - BYTE #%11111111 - -; char 0xba, 186 - BYTE #%10000001 - BYTE #%00111001 - BYTE #%11110011 - BYTE #%11100111 - BYTE #%11001111 - BYTE #%10011001 - BYTE #%00000011 - BYTE #%11111111 - -; char 0xbb, 187 - BYTE #%11000011 - BYTE #%10111101 - BYTE #%01100110 - BYTE #%01011110 - BYTE #%01011110 - BYTE #%01100110 - BYTE #%10111101 - BYTE #%11000011 - -; char 0xbc, 188 - BYTE #%11111010 - BYTE #%11010110 - BYTE #%11010100 - BYTE #%01010000 - BYTE #%10000000 - BYTE #%10100101 - BYTE #%10010101 - BYTE #%01000101 - -; char 0xbd, 189 - BYTE #%11111010 - BYTE #%10100101 - BYTE #%01010101 - BYTE #%01010000 - BYTE #%00010010 - BYTE #%00001010 - BYTE #%01001001 - BYTE #%01000101 - -; char 0xbe, 190 - BYTE #%11111111 - BYTE #%00101111 - BYTE #%10100111 - BYTE #%00010100 - BYTE #%00000001 - BYTE #%01010000 - BYTE #%01010100 - BYTE #%01000000 - -; char 0xbf, 191 - BYTE #%00000001 - BYTE #%10010000 - BYTE #%10010100 - BYTE #%10100101 - BYTE #%00010000 - BYTE #%11010101 - BYTE #%11100101 - BYTE #%11111010 - -; char 0xc0, 192 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - -; char 0xc1, 193 - BYTE #%00100000 - BYTE #%10010101 - BYTE #%10010101 - BYTE #%01000101 - BYTE #%00000011 - BYTE #%00010111 - BYTE #%01011111 - BYTE #%01111111 - -; char 0xc2, 194 - BYTE #%11111111 - BYTE #%11111110 - BYTE #%11111010 - BYTE #%11101001 - BYTE #%11101001 - BYTE #%10010100 - BYTE #%10010100 - BYTE #%01100000 - -; char 0xc3, 195 - BYTE #%11111010 - BYTE #%10100110 - BYTE #%01010101 - BYTE #%01010100 - BYTE #%00011000 - BYTE #%00100001 - BYTE #%01000001 - BYTE #%01001001 - -; char 0xc4, 196 - BYTE #%10111111 - BYTE #%10011011 - BYTE #%10010111 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%00001001 - BYTE #%01000100 - BYTE #%00010100 - -; char 0xc5, 197 - BYTE #%10100110 - BYTE #%10010000 - BYTE #%10010010 - BYTE #%10001000 - BYTE #%11100101 - BYTE #%11100110 - BYTE #%11100100 - BYTE #%11110101 - -; char 0xc6, 198 - BYTE #%10100101 - BYTE #%10010100 - BYTE #%01010100 - BYTE #%01000010 - BYTE #%00001001 - BYTE #%01011001 - BYTE #%01000100 - BYTE #%00000001 - -; char 0xc7, 199 - BYTE #%00000100 - BYTE #%00100000 - BYTE #%10010100 - BYTE #%00000000 - BYTE #%01010001 - BYTE #%01000011 - BYTE #%01100011 - BYTE #%00011111 - -; char 0xc8, 200 - BYTE #%11100011 - BYTE #%11001111 - BYTE #%11011111 - BYTE #%10011111 - BYTE #%11011111 - BYTE #%11001111 - BYTE #%11100011 - BYTE #%11111111 - -; char 0xc9, 201 - BYTE #%11000111 - BYTE #%11110011 - BYTE #%11111011 - BYTE #%11111001 - BYTE #%11111011 - BYTE #%11110011 - BYTE #%11000111 - BYTE #%11111111 - -; char 0xca, 202 - BYTE #%10111111 - BYTE #%10011011 - BYTE #%10010111 - BYTE #%01010111 - BYTE #%10010101 - BYTE #%01011001 - BYTE #%01000101 - BYTE #%00010100 - -; char 0xcb, 203 - BYTE #%10100110 - BYTE #%10100110 - BYTE #%10010010 - BYTE #%10000101 - BYTE #%11011001 - BYTE #%11100110 - BYTE #%11100100 - BYTE #%11110101 - -; char 0xcc, 204 - BYTE #%10100101 - BYTE #%10010100 - BYTE #%01010000 - BYTE #%01000001 - BYTE #%00010100 - BYTE #%01010101 - BYTE #%01000100 - BYTE #%00000000 - -; char 0xcd, 205 - BYTE #%00000100 - BYTE #%00010000 - BYTE #%01010100 - BYTE #%01000000 - BYTE #%01010011 - BYTE #%01000011 - BYTE #%00000011 - BYTE #%00001111 - -; char 0xce, 206 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11100111 - BYTE #%11100111 - BYTE #%11111111 - -; char 0xcf, 207 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%10110111 - BYTE #%10111011 - BYTE #%11011101 - BYTE #%11000111 - BYTE #%11111111 - BYTE #%11111111 - -; char 0xd0, 208 - BYTE #%10010000 - BYTE #%00000010 - BYTE #%00101001 - BYTE #%00100101 - BYTE #%00100101 - BYTE #%00100101 - BYTE #%00100101 - BYTE #%01001001 - -; char 0xd1, 209 - BYTE #%00100101 - BYTE #%01001001 - BYTE #%01010010 - BYTE #%01010000 - BYTE #%01010100 - BYTE #%01010100 - BYTE #%01010000 - BYTE #%01010000 - -; char 0xd2, 210 - BYTE #%01000000 - BYTE #%00001000 - BYTE #%00101010 - BYTE #%10100101 - BYTE #%10010101 - BYTE #%10010101 - BYTE #%10010101 - BYTE #%10010101 - -; char 0xd3, 211 - BYTE #%10100010 - BYTE #%01010010 - BYTE #%01010010 - BYTE #%00000000 - BYTE #%10101010 - BYTE #%10010101 - BYTE #%10010101 - BYTE #%00000000 - -; char 0xd4, 212 - BYTE #%10101010 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%00000000 - BYTE #%10001010 - BYTE #%01001001 - BYTE #%01001001 - BYTE #%00000000 - -; char 0xd5, 213 - BYTE #%00101010 - BYTE #%00100101 - BYTE #%00100101 - BYTE #%00000000 - BYTE #%10101000 - BYTE #%01010100 - BYTE #%01010100 - BYTE #%00000000 - -; char 0xd6, 214 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00101010 - BYTE #%00101010 - BYTE #%00101010 - BYTE #%00100000 - BYTE #%00101000 - BYTE #%00101010 - -; char 0xd7, 215 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10000010 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - -; char 0xd8, 216 - BYTE #%00000000 - BYTE #%00000001 - BYTE #%10101001 - BYTE #%10101001 - BYTE #%10101001 - BYTE #%00001001 - BYTE #%00101001 - BYTE #%10101001 - -; char 0xd9, 217 - BYTE #%00101010 - BYTE #%00101000 - BYTE #%00100000 - BYTE #%00101010 - BYTE #%00101010 - BYTE #%00101010 - BYTE #%00010101 - BYTE #%01010101 - -; char 0xda, 218 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%10000010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%01010101 - BYTE #%01010101 - -; char 0xdb, 219 - BYTE #%10101001 - BYTE #%00101001 - BYTE #%00001001 - BYTE #%10101001 - BYTE #%10101001 - BYTE #%10101001 - BYTE #%01010101 - BYTE #%01010101 - -; char 0xdc, 220 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10000000 - BYTE #%10000000 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10000101 - -; char 0xdd, 221 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - -; char 0xde, 222 - BYTE #%10101010 - BYTE #%10101000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%01011000 - BYTE #%01011000 - BYTE #%01011000 - BYTE #%01011000 - -; char 0xdf, 223 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10000101 - BYTE #%10011010 - BYTE #%01000000 - BYTE #%00000000 - -; char 0xe0, 224 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%10101010 - BYTE #%00000000 - BYTE #%00000000 - -; char 0xe1, 225 - BYTE #%11111111 - BYTE #%11010111 - BYTE #%01010100 - BYTE #%01010100 - BYTE #%01010100 - BYTE #%01010100 - BYTE #%11010111 - BYTE #%11111111 - -; char 0xe2, 226 - BYTE #%10101011 - BYTE #%10010100 - BYTE #%01010100 - BYTE #%01010000 - BYTE #%01001111 - BYTE #%00111111 - BYTE #%11111111 - BYTE #%11111111 - -; char 0xe3, 227 - BYTE #%10101011 - BYTE #%10010100 - BYTE #%01010100 - BYTE #%00000100 - BYTE #%11110000 - BYTE #%11111100 - BYTE #%11111111 - BYTE #%11111111 - -; char 0xe4, 228 - BYTE #%11111111 - BYTE #%11110000 - BYTE #%01010000 - BYTE #%01001010 - BYTE #%11001010 - BYTE #%00101010 - BYTE #%00101010 - BYTE #%01010101 - -; char 0xe5, 229 - BYTE #%11111111 - BYTE #%00001111 - BYTE #%00100101 - BYTE #%10010101 - BYTE #%10100111 - BYTE #%10100101 - BYTE #%10101001 - BYTE #%01010101 - -; char 0xe6, 230 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%01010101 - BYTE #%00000000 - BYTE #%11111111 - BYTE #%01010101 - BYTE #%00000000 - BYTE #%11111111 - -; char 0xe7, 231 - BYTE #%00000001 - BYTE #%00011001 - BYTE #%00111101 - BYTE #%00111111 - BYTE #%00011111 - BYTE #%00000101 - BYTE #%00000001 - BYTE #%00110011 - -; char 0xe8, 232 - BYTE #%11111100 - BYTE #%11111000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%11000000 - BYTE #%11100000 - BYTE #%11000000 - BYTE #%10000000 - -; char 0xe9, 233 - BYTE #%00111111 - BYTE #%00011111 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000011 - BYTE #%00000111 - BYTE #%00000011 - BYTE #%00000001 - -; char 0xea, 234 - BYTE #%11101010 - BYTE #%01101010 - BYTE #%01101010 - BYTE #%01101010 - BYTE #%01010111 - BYTE #%11011111 - BYTE #%11011111 - BYTE #%01111111 - -; char 0xeb, 235 - BYTE #%10100101 - BYTE #%10010100 - BYTE #%01010000 - BYTE #%01000001 - BYTE #%00010100 - BYTE #%01010101 - BYTE #%01000100 - BYTE #%00000000 - -; char 0xec, 236 - BYTE #%00000100 - BYTE #%00010000 - BYTE #%01010100 - BYTE #%01000000 - BYTE #%01010011 - BYTE #%01000011 - BYTE #%00000011 - BYTE #%00001111 - -; char 0xed, 237 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%10101011 - BYTE #%11011111 - -; char 0xee, 238 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%10100110 - BYTE #%10100110 - -; char 0xef, 239 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%01010101 - BYTE #%01010101 - -; char 0xf0, 240 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%00010000 - BYTE #%00010000 - -; char 0xf1, 241 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%00000000 - BYTE #%00000011 - -; char 0xf2, 242 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - BYTE #%11110000 - -; char 0xf3, 243 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - -; char 0xf4, 244 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - -; char 0xf5, 245 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - -; char 0xf6, 246 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - BYTE #%00001111 - -; char 0xf7, 247 - BYTE #%11000000 - BYTE #%10101000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00000000 - -; char 0xf8, 248 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - BYTE #%00001000 - -; char 0xf9, 249 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - -; char 0xfa, 250 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - BYTE #%01100101 - -; char 0xfb, 251 - BYTE #%01010111 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - -; char 0xfc, 252 - BYTE #%11110101 - BYTE #%11010000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000000 - BYTE #%01000100 - BYTE #%01011101 - -; char 0xfd, 253 - BYTE #%01010101 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00000000 - BYTE #%00010100 - BYTE #%01101001 - -; char 0xfe, 254 - BYTE #%01011111 - BYTE #%00000111 - BYTE #%00000001 - BYTE #%00000001 - BYTE #%00000001 - BYTE #%00000001 - BYTE #%00010001 - BYTE #%01110101 - -; char 0xff, 255 - BYTE #%10101010 - BYTE #%01010101 - BYTE #%11000001 - BYTE #%11110100 - BYTE #%11110100 - BYTE #%11100001 - BYTE #%01010101 - BYTE #%00000000 - #if VERBOSE = 1 ECHO "font.asm @ ",LASTINIT,"len:",(. - LASTINIT) #endif diff --git a/src/initdata.asm b/src/initdata.asm index 282abe7..b19aa84 100644 --- a/src/initdata.asm +++ b/src/initdata.asm @@ -38,10 +38,10 @@ SCREEN_H = 24 ; Tiles ; ----- -EMPTY_TILE = $60 -SNAKE_TILE = $61 -FOOD_TILE = $62 -WALL_TILE = $63 +EMPTY_TILE = $e0 +SNAKE_TILE = $e1 +FOOD_TILE = $e2 +WALL_TILE = $e3 ; Tiles colors ; Note: these colors will be picked by the level select routine @@ -101,4 +101,4 @@ levelsList: #if VERBOSE = 1 ECHO "initdata.asm @ ",LASTINIT,"len:",(. - LASTINIT) -#endif \ No newline at end of file +#endif diff --git a/src/levels.asm b/src/levels.asm index 301392b..f4a97e4 100644 --- a/src/levels.asm +++ b/src/levels.asm @@ -60,7 +60,7 @@ statusLevelLoad SUBROUTINE ; Upper bar -- fill with spaces, color yellow ldx #39 .loop: - lda #$0 + lda #$80 sta $400,x lda #7 sta $d800,x @@ -139,9 +139,9 @@ writeLevelElement: lda levelT sta (levelVideoPointer),y ; tiles colors can be found in an array - ; position in array = tile value - $60 + ; position in array = tile value - $e0 sec - sbc #$60 + sbc #$e0 tax lda tilesColors,x sta (levelColorPointer),y @@ -168,4 +168,4 @@ writeLevelEnd: #if VERBOSE = 1 ECHO "levels.asm @ ",LASTINIT,"len:",(. - LASTINIT) -#endif \ No newline at end of file +#endif diff --git a/src/main.asm b/src/main.asm index 115092f..404564f 100644 --- a/src/main.asm +++ b/src/main.asm @@ -25,15 +25,16 @@ SEG sidSegment org $1000 sidtune: - INCBIN "../res.bin/amour.sid" + INCBIN "../res.bin/amour2.sid" #if VERBOSE = 1 - ECHO "End of SIDtune at ",.,"Space left:",($2000 - .) + ECHO "top $2000: End of SIDtune at ",.,"Space left:",($2000 - .) + ECHO "top $2400: End of SIDtune at ",.,"Space left:",($2400 - .) #endif ; Font Data ; ---------------------------------------------------------------------- SEG fontSegment - org $2000 + org $2400 ; This binary data that defines the font is exactly 2kB long ($800) INCLUDE "font.asm" diff --git a/src/program.asm b/src/program.asm index 9954bee..0d8e748 100644 --- a/src/program.asm +++ b/src/program.asm @@ -166,10 +166,10 @@ checkEndStatus: ; Play music jsr sidtune + 3 - jsr sidtune + 3 - jsr sidtune + 3 - jsr sidtune + 3 - jsr sidtune + 3 +; jsr sidtune + 3 +; jsr sidtune + 3 +; jsr sidtune + 3 +; jsr sidtune + 3 ; Increase random value inc random @@ -192,4 +192,4 @@ checkEndStatus: #if VERBOSE = 1 ECHO "program.asm @ ",LASTINIT,"len:",(. - LASTINIT) -#endif \ No newline at end of file +#endif diff --git a/src/subroutines.asm b/src/subroutines.asm index 47fdb0d..76d0fed 100644 --- a/src/subroutines.asm +++ b/src/subroutines.asm @@ -9,7 +9,7 @@ LASTINIT SET . clearScreen SUBROUTINE ldx #$ff .loop: - lda #$00 + lda #$80 sta $400,x sta $500,x sta $600,x @@ -81,12 +81,12 @@ printByte SUBROUTINE lsr lsr lsr - ora #$40 ; add 64 (see font) + ora #$c0 ; add 192 (see font) sta $400,y ; print msb char txa ; Take least significant nibble (use previous copy) and #$0f - ora #$40 ; add 64 (see font) + ora #$c0 ; add 192 (see font) sta $401,y ; print lsb char rts @@ -104,22 +104,22 @@ printString SUBROUTINE beq .end ; if zero, then end (string must be null-terminated) cmp #$20 ; is space? bne .checkP1 - lda #$0 + lda #$80 jmp .print .checkP1: cmp #$28 ; is char '(' ? bne .checkP2 - lda #$1b + lda #$9b jmp .print .checkP2: cmp #$29 ; is char ')' ? bne .checkP3 - lda #$1c + lda #$9c jmp .print .checkP3 cmp #$2e ; is char '.' ? bne .checkNumber - lda #$1d + lda #$9d jmp .print .checkNumber: ; is char a number? cmp #$2f @@ -129,14 +129,14 @@ printString SUBROUTINE sec sbc #$30 clc - adc #$40 + adc #$c0 jmp .print .nextCheck: .isLetter: ; defaults to an uppercase letter of ASCII set - sec - sbc #$40 + clc + adc #$40 .print: sta (dstScreenPointer),y ; put screen code to screen iny ; next char in string @@ -167,4 +167,4 @@ nextPointer: #if VERBOSE = 1 ECHO "subroutines.asm @ ",LASTINIT,"len:",(. - LASTINIT) -#endif \ No newline at end of file +#endif diff --git a/util/rlevel.cpp b/util/rlevel.cpp index 8f240ac..d33b70d 100644 --- a/util/rlevel.cpp +++ b/util/rlevel.cpp @@ -7,11 +7,11 @@ void flush(char last, int count) { char tile, color; switch(last) { case 'x': - tile = (char)0x63; break; + tile = (char)0xe3; break; case 'f': - tile = (char)0x62; break; + tile = (char)0xe2; break; default: - tile = (char)0x60; break; + tile = (char)0xe0; break; } cout << tile << (char)count; }