diff --git a/src/data.asm b/src/data.asm index bfe32d3..22aba83 100644 --- a/src/data.asm +++ b/src/data.asm @@ -54,6 +54,14 @@ delayStatus: score: WORD +; vertical scroll intro +introYscroll: + BYTE + +; raster line for interrupt +rasterLineInt: + BYTE + #if VERBOSE = 1 ECHO "data.asm @ ",LASTINIT,"len:",(. - LASTINIT) #endif \ No newline at end of file diff --git a/src/font.asm b/src/font.asm index 6770ec4..1a84a47 100644 --- a/src/font.asm +++ b/src/font.asm @@ -2,7 +2,7 @@ LASTINIT SET . #endif -; char 0x0, 0 +; char 0x80, 128 BYTE #%00000000 BYTE #%00000000 BYTE #%00000000 @@ -12,7 +12,7 @@ LASTINIT SET . BYTE #%00000000 BYTE #%00000000 -; char 0x1, 1 +; char 0x81, 129 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -22,7 +22,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0x2, 2 +; char 0x82, 130 BYTE #%11111000 BYTE #%11001100 BYTE #%11001100 @@ -32,7 +32,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0x3, 3 +; char 0x83, 131 BYTE #%00111100 BYTE #%01100110 BYTE #%11000000 @@ -42,7 +42,7 @@ LASTINIT SET . BYTE #%00111100 BYTE #%00000000 -; char 0x4, 4 +; char 0x84, 132 BYTE #%11111000 BYTE #%11001100 BYTE #%11000110 @@ -52,7 +52,7 @@ LASTINIT SET . BYTE #%11111000 BYTE #%00000000 -; char 0x5, 5 +; char 0x85, 133 BYTE #%11111100 BYTE #%11000110 BYTE #%11000000 @@ -62,7 +62,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0x6, 6 +; char 0x86, 134 BYTE #%11111100 BYTE #%11000110 BYTE #%11000000 @@ -72,7 +72,7 @@ LASTINIT SET . BYTE #%11000000 BYTE #%00000000 -; char 0x7, 7 +; char 0x87, 135 BYTE #%00111100 BYTE #%01100110 BYTE #%11000000 @@ -82,7 +82,7 @@ LASTINIT SET . BYTE #%00111100 BYTE #%00000000 -; char 0x8, 8 +; char 0x88, 136 BYTE #%11000110 BYTE #%11000110 BYTE #%11000110 @@ -92,7 +92,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0x9, 9 +; char 0x89, 137 BYTE #%01111110 BYTE #%11011000 BYTE #%00011000 @@ -102,7 +102,7 @@ LASTINIT SET . BYTE #%01111110 BYTE #%00000000 -; char 0xa, 10 +; char 0x8a, 138 BYTE #%01111110 BYTE #%11001100 BYTE #%00001100 @@ -112,7 +112,7 @@ LASTINIT SET . BYTE #%01110000 BYTE #%00000000 -; char 0xb, 11 +; char 0x8b, 139 BYTE #%11000110 BYTE #%11001100 BYTE #%11011000 @@ -122,7 +122,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0xc, 12 +; char 0x8c, 140 BYTE #%11000000 BYTE #%11000000 BYTE #%11000000 @@ -132,7 +132,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0xd, 13 +; char 0x8d, 141 BYTE #%11000110 BYTE #%11101110 BYTE #%11111110 @@ -142,7 +142,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0xe, 14 +; char 0x8e, 142 BYTE #%11011100 BYTE #%11110110 BYTE #%11100110 @@ -152,7 +152,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0xf, 15 +; char 0x8f, 143 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -162,7 +162,7 @@ LASTINIT SET . BYTE #%00111000 BYTE #%00000000 -; char 0x10, 16 +; char 0x90, 144 BYTE #%11111100 BYTE #%11000110 BYTE #%11000110 @@ -172,7 +172,7 @@ LASTINIT SET . BYTE #%11000000 BYTE #%00000000 -; char 0x11, 17 +; char 0x91, 145 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -182,7 +182,7 @@ LASTINIT SET . BYTE #%00110110 BYTE #%00000000 -; char 0x12, 18 +; char 0x92, 146 BYTE #%11111100 BYTE #%11000110 BYTE #%11000110 @@ -192,7 +192,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0x13, 19 +; char 0x93, 147 BYTE #%01111100 BYTE #%11000110 BYTE #%11000000 @@ -202,7 +202,7 @@ LASTINIT SET . BYTE #%01111100 BYTE #%00000000 -; char 0x14, 20 +; char 0x94, 148 BYTE #%01111110 BYTE #%11011000 BYTE #%00011000 @@ -212,7 +212,7 @@ LASTINIT SET . BYTE #%00011000 BYTE #%00000000 -; char 0x15, 21 +; char 0x95, 149 BYTE #%11000110 BYTE #%11000110 BYTE #%11000110 @@ -222,7 +222,7 @@ LASTINIT SET . BYTE #%01111100 BYTE #%00000000 -; char 0x16, 22 +; char 0x96, 150 BYTE #%11000110 BYTE #%11000110 BYTE #%11000110 @@ -232,7 +232,7 @@ LASTINIT SET . BYTE #%00010000 BYTE #%00000000 -; char 0x17, 23 +; char 0x97, 151 BYTE #%11000110 BYTE #%11010110 BYTE #%11010110 @@ -242,7 +242,7 @@ LASTINIT SET . BYTE #%10000010 BYTE #%00000000 -; char 0x18, 24 +; char 0x98, 152 BYTE #%11000110 BYTE #%11000110 BYTE #%01101100 @@ -252,7 +252,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0x19, 25 +; char 0x99, 153 BYTE #%11000110 BYTE #%11000110 BYTE #%11000110 @@ -262,7 +262,7 @@ LASTINIT SET . BYTE #%01100000 BYTE #%00000000 -; char 0x1a, 26 +; char 0x9a, 154 BYTE #%01111110 BYTE #%11000110 BYTE #%00001100 @@ -272,7 +272,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0x1b, 27 +; char 0x9b, 155 BYTE #%00011100 BYTE #%00110000 BYTE #%00100000 @@ -282,7 +282,7 @@ LASTINIT SET . BYTE #%00011100 BYTE #%00000000 -; char 0x1c, 28 +; char 0x9c, 156 BYTE #%00111000 BYTE #%00001100 BYTE #%00000100 @@ -292,7 +292,7 @@ LASTINIT SET . BYTE #%00111000 BYTE #%00000000 -; char 0x1d, 29 +; char 0x9d, 157 BYTE #%00000000 BYTE #%00000000 BYTE #%00000000 @@ -302,7 +302,7 @@ LASTINIT SET . BYTE #%00111000 BYTE #%00000000 -; char 0x1e, 30 +; char 0x9e, 158 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -312,7 +312,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x1f, 31 +; char 0x9f, 159 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -322,7 +322,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x20, 32 +; char 0xa0, 160 BYTE #%11111111 BYTE #%11111111 BYTE #%11111111 @@ -332,7 +332,7 @@ LASTINIT SET . BYTE #%11111111 BYTE #%11111111 -; char 0x21, 33 +; char 0xa1, 161 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -342,7 +342,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x22, 34 +; char 0xa2, 162 BYTE #%00000111 BYTE #%00110011 BYTE #%00110011 @@ -352,7 +352,7 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x23, 35 +; char 0xa3, 163 BYTE #%11000011 BYTE #%10011001 BYTE #%00111111 @@ -362,7 +362,7 @@ LASTINIT SET . BYTE #%11000011 BYTE #%11111111 -; char 0x24, 36 +; char 0xa4, 164 BYTE #%00000111 BYTE #%00110011 BYTE #%00111001 @@ -372,7 +372,7 @@ LASTINIT SET . BYTE #%00000111 BYTE #%11111111 -; char 0x25, 37 +; char 0xa5, 165 BYTE #%00000011 BYTE #%00111001 BYTE #%00111111 @@ -382,7 +382,7 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x26, 38 +; char 0xa6, 166 BYTE #%00000011 BYTE #%00111001 BYTE #%00111111 @@ -392,7 +392,7 @@ LASTINIT SET . BYTE #%00111111 BYTE #%11111111 -; char 0x27, 39 +; char 0xa7, 167 BYTE #%11000011 BYTE #%10011001 BYTE #%00111111 @@ -402,7 +402,7 @@ LASTINIT SET . BYTE #%11000011 BYTE #%11111111 -; char 0x28, 40 +; char 0xa8, 168 BYTE #%00111001 BYTE #%00111001 BYTE #%00111001 @@ -412,7 +412,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x29, 41 +; char 0xa9, 169 BYTE #%10000001 BYTE #%00100111 BYTE #%11100111 @@ -422,7 +422,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x2a, 42 +; char 0xaa, 170 BYTE #%10000001 BYTE #%00110011 BYTE #%11110011 @@ -432,7 +432,7 @@ LASTINIT SET . BYTE #%10001111 BYTE #%11111111 -; char 0x2b, 43 +; char 0xab, 171 BYTE #%00111001 BYTE #%00110011 BYTE #%00100111 @@ -442,7 +442,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x2c, 44 +; char 0xac, 172 BYTE #%00111111 BYTE #%00111111 BYTE #%00111111 @@ -452,7 +452,7 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x2d, 45 +; char 0xad, 173 BYTE #%00111001 BYTE #%00010001 BYTE #%00000001 @@ -462,7 +462,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x2e, 46 +; char 0xae, 174 BYTE #%00100011 BYTE #%00001001 BYTE #%00011001 @@ -472,7 +472,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x2f, 47 +; char 0xaf, 175 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -482,7 +482,7 @@ LASTINIT SET . BYTE #%11000111 BYTE #%11111111 -; char 0x30, 48 +; char 0xb0, 176 BYTE #%00000011 BYTE #%00111001 BYTE #%00111001 @@ -492,7 +492,7 @@ LASTINIT SET . BYTE #%00111111 BYTE #%11111111 -; char 0x31, 49 +; char 0xb1, 177 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -502,7 +502,7 @@ LASTINIT SET . BYTE #%11001001 BYTE #%11111111 -; char 0x32, 50 +; char 0xb2, 178 BYTE #%00000011 BYTE #%00111001 BYTE #%00111001 @@ -512,7 +512,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x33, 51 +; char 0xb3, 179 BYTE #%10000011 BYTE #%00111001 BYTE #%00111111 @@ -522,7 +522,7 @@ LASTINIT SET . BYTE #%10000011 BYTE #%11111111 -; char 0x34, 52 +; char 0xb4, 180 BYTE #%10000001 BYTE #%00100111 BYTE #%11100111 @@ -532,7 +532,7 @@ LASTINIT SET . BYTE #%11100111 BYTE #%11111111 -; char 0x35, 53 +; char 0xb5, 181 BYTE #%00111001 BYTE #%00111001 BYTE #%00111001 @@ -542,7 +542,7 @@ LASTINIT SET . BYTE #%10000011 BYTE #%11111111 -; char 0x36, 54 +; char 0xb6, 182 BYTE #%00111001 BYTE #%00111001 BYTE #%00111001 @@ -552,7 +552,7 @@ LASTINIT SET . BYTE #%11101111 BYTE #%11111111 -; char 0x37, 55 +; char 0xb7, 183 BYTE #%00111001 BYTE #%00101001 BYTE #%00101001 @@ -562,7 +562,7 @@ LASTINIT SET . BYTE #%01111101 BYTE #%11111111 -; char 0x38, 56 +; char 0xb8, 184 BYTE #%00111001 BYTE #%00111001 BYTE #%10010011 @@ -572,7 +572,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x39, 57 +; char 0xb9, 185 BYTE #%00111001 BYTE #%00111001 BYTE #%00111001 @@ -582,7 +582,7 @@ LASTINIT SET . BYTE #%10011111 BYTE #%11111111 -; char 0x3a, 58 +; char 0xba, 186 BYTE #%10000001 BYTE #%00111001 BYTE #%11110011 @@ -592,8 +592,8 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x3b, 59 -; char 0x1b, 27 +; char 0xbb, 187 +; char 0x9b, 155 BYTE #%11100011 BYTE #%11001111 BYTE #%11011111 @@ -603,7 +603,7 @@ LASTINIT SET . BYTE #%11100011 BYTE #%11111111 -; char 0x3c, 60 +; char 0xbc, 188 BYTE #%11000111 BYTE #%11110011 BYTE #%11111011 @@ -613,7 +613,7 @@ LASTINIT SET . BYTE #%11000111 BYTE #%11111111 -; char 0x3d, 61 +; char 0xbd, 189 BYTE #%11111111 BYTE #%11111111 BYTE #%11111111 @@ -623,7 +623,7 @@ LASTINIT SET . BYTE #%11000111 BYTE #%11111111 -; char 0x3e, 62 +; char 0xbe, 190 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -633,7 +633,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x3f, 63 +; char 0xbf, 191 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -643,7 +643,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x40, 64 +; char 0xc0, 192 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -653,7 +653,7 @@ LASTINIT SET . BYTE #%00111000 BYTE #%00000000 -; char 0x41, 65 +; char 0xc1, 193 BYTE #%00011000 BYTE #%01111000 BYTE #%00011000 @@ -663,7 +663,7 @@ LASTINIT SET . BYTE #%00111100 BYTE #%00000000 -; char 0x42, 66 +; char 0xc2, 194 BYTE #%01111100 BYTE #%11000110 BYTE #%00000110 @@ -673,7 +673,7 @@ LASTINIT SET . BYTE #%11111110 BYTE #%00000000 -; char 0x43, 67 +; char 0xc3, 195 BYTE #%01111100 BYTE #%11000110 BYTE #%00000110 @@ -683,7 +683,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%01111100 -; char 0x44, 68 +; char 0xc4, 196 BYTE #%00011100 BYTE #%00111100 BYTE #%01101100 @@ -693,7 +693,7 @@ LASTINIT SET . BYTE #%00001100 BYTE #%00001100 -; char 0x45, 69 +; char 0xc5, 197 BYTE #%11111100 BYTE #%11000110 BYTE #%11000000 @@ -703,7 +703,7 @@ LASTINIT SET . BYTE #%11001100 BYTE #%01111000 -; char 0x46, 70 +; char 0xc6, 198 BYTE #%00111100 BYTE #%01100110 BYTE #%11000000 @@ -713,7 +713,7 @@ LASTINIT SET . BYTE #%01101100 BYTE #%00111000 -; char 0x47, 71 +; char 0xc7, 199 BYTE #%01111110 BYTE #%11000110 BYTE #%00000110 @@ -723,7 +723,7 @@ LASTINIT SET . BYTE #%01100000 BYTE #%11000000 -; char 0x48, 72 +; char 0xc8, 200 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -733,7 +733,7 @@ LASTINIT SET . BYTE #%01111100 BYTE #%00000000 -; char 0x49, 73 +; char 0xc9, 201 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -743,7 +743,7 @@ LASTINIT SET . BYTE #%11001100 BYTE #%01111000 -; char 0x4a, 74 +; char 0xca, 202 BYTE #%00111000 BYTE #%01101100 BYTE #%11000110 @@ -753,7 +753,7 @@ LASTINIT SET . BYTE #%11000110 BYTE #%00000000 -; char 0x4b, 75 +; char 0xcb, 203 BYTE #%11111000 BYTE #%11001100 BYTE #%11001100 @@ -763,7 +763,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0x4c, 76 +; char 0xcc, 204 BYTE #%00111100 BYTE #%01100110 BYTE #%11000000 @@ -773,7 +773,7 @@ LASTINIT SET . BYTE #%00111100 BYTE #%00000000 -; char 0x4d, 77 +; char 0xcd, 205 BYTE #%11111000 BYTE #%11001100 BYTE #%11000110 @@ -783,7 +783,7 @@ LASTINIT SET . BYTE #%11111000 BYTE #%00000000 -; char 0x4e, 78 +; char 0xce, 206 BYTE #%11111100 BYTE #%11000110 BYTE #%11000000 @@ -793,7 +793,7 @@ LASTINIT SET . BYTE #%11111100 BYTE #%00000000 -; char 0x4f, 79 +; char 0xcf, 207 BYTE #%11111100 BYTE #%11000110 BYTE #%11000000 @@ -803,7 +803,7 @@ LASTINIT SET . BYTE #%11000000 BYTE #%00000000 -; char 0x50, 80 +; char 0xd0, 208 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -813,7 +813,7 @@ LASTINIT SET . BYTE #%11000111 BYTE #%11111111 -; char 0x51, 81 +; char 0xd1, 209 BYTE #%11100111 BYTE #%10000111 BYTE #%11100111 @@ -823,7 +823,7 @@ LASTINIT SET . BYTE #%11000011 BYTE #%11111111 -; char 0x52, 82 +; char 0xd2, 210 BYTE #%10000011 BYTE #%00111001 BYTE #%11111001 @@ -833,7 +833,7 @@ LASTINIT SET . BYTE #%00000001 BYTE #%11111111 -; char 0x53, 83 +; char 0xd3, 211 BYTE #%10000011 BYTE #%00111001 BYTE #%11111001 @@ -843,7 +843,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%10000011 -; char 0x54, 84 +; char 0xd4, 212 BYTE #%11100011 BYTE #%11000011 BYTE #%10010011 @@ -853,7 +853,7 @@ LASTINIT SET . BYTE #%11110011 BYTE #%11110011 -; char 0x55, 85 +; char 0xd5, 213 BYTE #%00000011 BYTE #%00111001 BYTE #%00111111 @@ -863,7 +863,7 @@ LASTINIT SET . BYTE #%00110011 BYTE #%10000111 -; char 0x56, 86 +; char 0xd6, 214 BYTE #%11000011 BYTE #%10011001 BYTE #%00111111 @@ -873,7 +873,7 @@ LASTINIT SET . BYTE #%10010011 BYTE #%11000111 -; char 0x57, 87 +; char 0xd7, 215 BYTE #%10000001 BYTE #%00111001 BYTE #%11111001 @@ -883,7 +883,7 @@ LASTINIT SET . BYTE #%10011111 BYTE #%00111111 -; char 0x58, 88 +; char 0xd8, 216 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -893,7 +893,7 @@ LASTINIT SET . BYTE #%10000011 BYTE #%11111111 -; char 0x59, 89 +; char 0xd9, 217 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -903,7 +903,7 @@ LASTINIT SET . BYTE #%00110011 BYTE #%10000111 -; char 0x5a, 90 +; char 0xda, 218 BYTE #%11000111 BYTE #%10010011 BYTE #%00111001 @@ -913,7 +913,7 @@ LASTINIT SET . BYTE #%00111001 BYTE #%11111111 -; char 0x5b, 91 +; char 0xdb, 219 BYTE #%00000111 BYTE #%00110011 BYTE #%00110011 @@ -923,7 +923,7 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x5c, 92 +; char 0xdc, 220 BYTE #%11000011 BYTE #%10011001 BYTE #%00111111 @@ -933,7 +933,7 @@ LASTINIT SET . BYTE #%11000011 BYTE #%11111111 -; char 0x5d, 93 +; char 0xdd, 221 BYTE #%00000111 BYTE #%00110011 BYTE #%00111001 @@ -943,7 +943,7 @@ LASTINIT SET . BYTE #%00000111 BYTE #%11111111 -; char 0x5e, 94 +; char 0xde, 222 BYTE #%00000011 BYTE #%00111001 BYTE #%00111111 @@ -953,7 +953,7 @@ LASTINIT SET . BYTE #%00000011 BYTE #%11111111 -; char 0x5f, 95 +; char 0xdf, 223 BYTE #%00000011 BYTE #%00111001 BYTE #%00111111 @@ -963,7 +963,7 @@ LASTINIT SET . BYTE #%00111111 BYTE #%11111111 -; char 0x60, 96 +; char 0xe0, 224 BYTE #%00000000 BYTE #%00000000 BYTE #%00000000 @@ -973,7 +973,7 @@ LASTINIT SET . BYTE #%00000000 BYTE #%00000000 -; char 0x61, 96 +; char 0xe1, 225 BYTE #%00000000 BYTE #%00101000 BYTE #%10101011 @@ -983,7 +983,7 @@ LASTINIT SET . BYTE #%00101000 BYTE #%00000000 -; char 0x62, 97 +; char 0xe2, 226 BYTE #%00010101 BYTE #%10010101 BYTE #%10010101 @@ -993,7 +993,7 @@ LASTINIT SET . BYTE #%00100000 BYTE #%10000000 -; char 0x63, 98 +; char 0xe3, 227 BYTE #%01010101 BYTE #%11010101 BYTE #%01011101 @@ -1003,7 +1003,7 @@ LASTINIT SET . BYTE #%11010101 BYTE #%01011101 -; char 0x64, 100 +; char 0xe4, 228 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1013,7 +1013,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x65, 101 +; char 0xe5, 229 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1023,7 +1023,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x66, 102 +; char 0xe6, 230 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1033,7 +1033,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x67, 103 +; char 0xe7, 231 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1043,7 +1043,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x68, 104 +; char 0xe8, 232 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1053,7 +1053,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x69, 105 +; char 0xe9, 233 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1063,7 +1063,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6a, 106 +; char 0xea, 234 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1073,7 +1073,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6b, 107 +; char 0xeb, 235 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1083,7 +1083,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6c, 108 +; char 0xec, 236 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1093,7 +1093,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6d, 109 +; char 0xed, 237 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1103,7 +1103,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6e, 110 +; char 0xee, 238 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1113,7 +1113,7 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x6f, 111 +; char 0xef, 239 BYTE #%11111111 BYTE #%10000001 BYTE #%10000001 @@ -1123,165 +1123,165 @@ LASTINIT SET . BYTE #%10000001 BYTE #%11111111 -; char 0x70, 112 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%10101010 - BYTE #%01010101 - BYTE #%11111111 - BYTE #%11111111 - -; char 0x71, 113 - BYTE #%00000000 - BYTE #%00101000 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%10101011 - BYTE #%00101000 - BYTE #%00000000 - -; char 0x72, 114 - BYTE #%01010100 - BYTE #%01101011 - BYTE #%10101011 - BYTE #%10101111 - BYTE #%10110000 - BYTE #%11000000 +; char 0xf0, 240 BYTE #%00000000 BYTE #%00000000 - -; char 0x73, 115 - BYTE #%01010100 - BYTE #%01101011 - BYTE #%10101011 - BYTE #%11111011 + BYTE #%00000000 + BYTE #%00000111 BYTE #%00001111 - BYTE #%00000011 - BYTE #%00000000 - BYTE #%00000000 + BYTE #%00011100 + BYTE #%00011000 + BYTE #%00011000 -; char 0x74, 116 - BYTE #%00000000 - BYTE #%00001111 - BYTE #%10101111 - BYTE #%10110101 - BYTE #%00110101 - BYTE #%11010101 - BYTE #%11010101 - BYTE #%10101010 - -; char 0x75, 117 - BYTE #%00000000 - BYTE #%11110000 - BYTE #%11011010 - BYTE #%01101010 - BYTE #%01011000 - BYTE #%01011010 - BYTE #%01010110 - BYTE #%10101010 - -; char 0x76, 118 +; char 0xf1, 241 BYTE #%00000000 BYTE #%00000000 - BYTE #%10101010 - BYTE #%11111111 BYTE #%00000000 - BYTE #%10101010 - BYTE #%11111111 - BYTE #%00000000 - -; char 0x77, 119 - BYTE #%11111110 - BYTE #%11100110 - BYTE #%11000010 - BYTE #%11000000 BYTE #%11100000 - BYTE #%11111010 - BYTE #%11111110 - BYTE #%11001100 + BYTE #%11110000 + BYTE #%00111000 + BYTE #%00011000 + BYTE #%00011000 -; char 0x78, 120 +; char 0xf2, 242 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011100 + BYTE #%00001111 + BYTE #%00000111 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 + +; char 0xf3, 243 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00111000 + BYTE #%11110000 + BYTE #%11100000 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 + +; char 0xf4, 244 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%11111111 + BYTE #%11111111 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 + +; char 0xf5, 245 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + +; char 0xf6, 246 + BYTE #%00000001 BYTE #%00000011 BYTE #%00000111 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%00111111 + BYTE #%00001111 BYTE #%00011111 BYTE #%00111111 BYTE #%01111111 + BYTE #%11111111 -; char 0x79, 121 +; char 0xf7, 247 + BYTE #%10000000 BYTE #%11000000 BYTE #%11100000 - BYTE #%11111111 - BYTE #%11111111 - BYTE #%11111100 + BYTE #%11110000 BYTE #%11111000 BYTE #%11111100 BYTE #%11111110 + BYTE #%11111111 -; char 0x7a, 122 +; char 0xf8, 248 + BYTE #%11111111 + BYTE #%01111111 + BYTE #%00111111 BYTE #%00011111 - BYTE #%10011111 - BYTE #%10011111 - BYTE #%10011111 - BYTE #%10101000 - BYTE #%00100000 - BYTE #%00100000 + BYTE #%00001111 + BYTE #%00000111 + BYTE #%00000011 + BYTE #%00000001 + +; char 0xf9, 249 + BYTE #%11111111 + BYTE #%11111110 + BYTE #%11111100 + BYTE #%11111000 + BYTE #%11110000 + BYTE #%11100000 + BYTE #%11000000 BYTE #%10000000 -; char 0x7b, 123 - BYTE #%01010101 - BYTE #%11010101 - BYTE #%01011101 - BYTE #%01010101 - BYTE #%01110101 - BYTE #%01010111 - BYTE #%11010101 - BYTE #%01011101 - -; char 0x7c, 124 - BYTE #%11111011 - BYTE #%11101111 - BYTE #%10101011 - BYTE #%10111111 - BYTE #%10101100 - BYTE #%10111100 - BYTE #%11111100 - BYTE #%11110000 - -; char 0x7d, 125 +; char 0xfa, 250 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 BYTE #%11111111 - BYTE #%11110111 BYTE #%11111111 - BYTE #%11110111 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 + +; char 0xfb, 251 + BYTE #%00000000 + BYTE #%00000000 + BYTE #%00000000 BYTE #%11111111 - BYTE #%11110111 - BYTE #%01010100 - BYTE #%00100000 + BYTE #%11111111 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 -; char 0x7e, 126 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%11110111 - BYTE #%01011001 - BYTE #%01011001 +; char 0xfc, 252 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%11111000 + BYTE #%11111000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 -; char 0x7f, 127 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%01010101 - BYTE #%10101010 - BYTE #%10101010 +; char 0xfd, 253 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011111 + BYTE #%00011111 + BYTE #%00011000 + BYTE #%00011000 + BYTE #%00011000 + +; char 0xfe, 254 + BYTE #%11111111 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%11111111 + +; char 0xff, 255 + BYTE #%11111111 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%10000001 + BYTE #%11111111 #if VERBOSE = 1 ECHO "font.asm @ ",LASTINIT,"len:",(. - LASTINIT) diff --git a/src/initdata.asm b/src/initdata.asm index b19aa84..dec51cd 100644 --- a/src/initdata.asm +++ b/src/initdata.asm @@ -25,11 +25,16 @@ delay: ; Status of the game (costants pre-processor defined, sort of enum) ST_INTRO0 = 0 ST_INTRO1 = 1 -ST_LEVEL_TITLE = 2 -ST_LEVEL_LOAD = 3 -ST_PLAY = 4 -ST_DELAY = 5 -ST_END = 6 +ST_INTRO2 = 2 +ST_INTRO3 = 3 +ST_INTRO4 = 4 +ST_MENURESET = 64 +ST_MENU = 65 +ST_LEVEL_TITLE = 128 +ST_LEVEL_LOAD = 129 +ST_PLAY = 130 +ST_DELAY = 131 +ST_END = 132 ST_PAUSE = 255 ; Screen features @@ -79,7 +84,7 @@ intro3string: #if DEBUG = 1 BYTE "DBG RELS" #else - BYTE "(C) 2018" + BYTE "2017 (C) 2021" #endif BYTE #0 levelIntroString: @@ -93,6 +98,15 @@ scoreString: noMoreLevelsString: BYTE "NO MORE LEVELS" BYTE #0 +introStringA1: + BYTE "RETROFFICINA" + BYTE #$0 +introStringA2: + BYTE "AND" + BYTE #$0 +introStringA3: + BYTE "GIOMBA" + BYTE #$0 ; Levels ; ---------------------------------------------------------------------- diff --git a/src/intro1.asm b/src/intro1.asm index f504feb..2f00f5e 100644 --- a/src/intro1.asm +++ b/src/intro1.asm @@ -4,8 +4,301 @@ LASTINIT SET . ; Currently statusIntro0 is the same as statusIntro1 ; statusIntro1 has just been reserved for future use -statusIntro0: -statusIntro1: +statusIntro0 SUBROUTINE + lda introYscroll + +.enter: + inc rasterLineInt + + lda $d011 + and #$07 + cmp #$07 + beq .nextline + inc $d011 + jsr setupMagicInterrupt + rts +.nextline: + lda $d011 + and #$f8 + sta $d011 + + ldy #0 + lda #$80 +.clearLineLoop: + sta (dstPointer),y + iny + cpy #40 + bne .clearLineLoop + + clc + lda dstPointer + adc #40 + sta dstPointer + lda dstPointer + 1 + adc #0 + sta dstPointer + 1 + + ldy #$00 +.glgLoop: + lda GLGProgramsText,y + sta (dstPointer),y + iny + cpy #200 + bne .glgLoop + + dec introYscroll + beq .next + + jsr setupMagicInterrupt + + rts + +.next: + lda #ST_INTRO1 + sta status + rts + +setupMagicInterrupt SUBROUTINE + ; Store in $314 address of our custom interrupt handler + ldx #<.magicInterruptH + ldy #>.magicInterruptH + stx $314 + sty $315 + + ; Set raster beam to trigger interrupt at row + lda rasterLineInt + sta $d012 + + rts + +.magicInterruptH: + ; +36 + dec $d019 ; +42, EOI + inc $d020 ; +48, white + bit $02 ; +51, timing + nop ; +53, timing + nop ; +55, timing + nop ; +57, timing + dec $d020 ; +63, black + + ; second line, +0 + inc $0800 ; + 6, timing + inc $0800 ; +12, timing + inc $0800 ; +18, timing + inc $0800 ; +24, timing + inc $0800 ; +30, timing + inc $0800 ; +36, timing + inc $0800 ; +42, timing + inc $d020 ; +54, white + inc $0800 ; +60, timing + bit $02 ; +60, timing + dec $d020 ; +63, black + + ; set raster beam low + ldx #<.magicInterruptL + ldy #>.magicInterruptL + stx $314 + sty $315 + clc + lda rasterLineInt + adc #23 + sta $d012 + + jmp $ea31 + +.magicInterruptL: + ; +36 + dec $d019 ; +42, EOI + inc $0800 ; +48, timing + inc $0800 ; +54, timing + inc $0800 ; +60, timing + bit $02 ; +63, timing + + ; newline + inc $d020 ; + 6, white + inc $0800 ; +12, timing + inc $0800 ; +18, timing + dec $d020 ; +24, black + inc $0800 ; +30, timing + inc $0800 ; +36, timing + inc $0800 ; +42, timing + inc $0800 ; +48, timing + inc $0800 ; +54, timing + inc $0800 ; +60, timing + bit $02 ; +63, timing + + ; newline + inc $d020 ; +6, white + inc $0800 ; +12, timing + inc $0800 ; +18, timing + dec $d020 ; +24, black + + ldx #irq + stx $314 + sty $315 + lda #$00 + sta $d012 + + jmp $ea31 + +GLGProgramsText: + BYTE #$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f0,#$f4,#$80,#$80,#$80,#$f0,#$f4,#$80,#$80,#$f0,#$f4,#$f1,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80 + BYTE #$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f5,#$80,#$80,#$f5,#$80,#$f5,#$80,#$80,#$80,#$f5,#$80,#$f5,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f1,#$80,#$80,#$80,#$f0,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4 + BYTE #$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f5,#$80,#$f5,#$f5,#$80,#$f5,#$80,#$f5,#$80,#$fd,#$f4,#$f3,#$f0,#$f0,#$f1,#$f0,#$f1,#$f0,#$f0,#$fc,#$f0,#$fb,#$f1,#$f2,#$f1,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80 + BYTE #$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f2,#$f4,#$fc,#$f2,#$f4,#$f2,#$f4,#$fc,#$80,#$f5,#$80,#$80,#$f5,#$f2,#$f3,#$f2,#$fc,#$f5,#$f2,#$f3,#$f5,#$f5,#$f5,#$f4,#$f3,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80 + BYTE #$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$f4,#$fa,#$f4,#$f4,#$f4,#$f4,#$f3,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$f3,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80,#$80 + +statusIntro1 SUBROUTINE + lda $d011 + and #$07 + cmp #$04 + beq .next + inc $d011 + inc rasterLineInt + + jsr setupMagicInterrupt + + rts + +.next: + jsr setupMagicInterrupt + + lda counter + cmp #$80 + bne .end + lda counter + 1 + cmp #$00 + bne .end + + ; lda #ST_MENURESET + lda #ST_INTRO2 + sta status + +.end: + rts + +statusIntro2 SUBROUTINE + jsr setupMagicInterrupt + + ; "RETROFFICINA" + lda #introStringA1 + sta srcStringPointer + 1 + lda #$4e + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$08 + bne .end + lda counter + 1 + cmp #$01 + bne .end + lda #ST_INTRO3 + sta status + +.end: + rts + +statusIntro3 SUBROUTINE + jsr setupMagicInterrupt + + ; "AND" + lda #introStringA2 + sta srcStringPointer + 1 + lda #$a3 + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$86 + bne .end + lda counter + 1 + cmp #$01 + bne .end + lda #ST_INTRO4 + sta status + +.end: + rts + +statusIntro4 SUBROUTINE + jsr setupMagicInterrupt + + ; "GIOMBA" + lda #introStringA3 + sta srcStringPointer + 1 + lda #$f1 + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$86 + bne .end + lda counter + 1 + cmp #$01 + bne .end + lda #ST_INTRO4 + sta status + +.end: + rts + +statusMenuReset SUBROUTINE + jsr multicolorOff + + ; Copy shade colors from costant table to color RAM for 2nd and 4th line of text + ldx #39 +.colorShadeLoop: + lda colorshade,x + sta $d828,x ; 2nd line + sta $d878,x ; 4th line + dex + cpx #$ff + bne .colorShadeLoop + + ; Print website + lda #intro2string ; do the same for msb of string address + sta srcStringPointer + 1 ; put into msb of source pointer + lda #$9e ; this is lsb of address of 23th line + sta dstScreenPointer ; put into lsb of dest pointer + lda #$07 ; do the same for msb of adress of 20th line + sta dstScreenPointer + 1 ; put into msb of dest pointer + jsr printString ; print + + ; Print Copyright + lda #intro3string ; and line (24th line) + sta srcStringPointer + 1 + lda #$ce + sta dstScreenPointer + lda #$07 + sta dstScreenPointer + 1 + jsr printString + + jsr setupMagicInterrupt ; never forget the magic + + lda #ST_MENU + sta status + rts + +statusMenu SUBROUTINE + jsr setupMagicInterrupt ; never forget to draw the lines ; Decrement interrupt divider for the intro ldx introCounter dex diff --git a/src/introreset.asm b/src/introreset.asm index 4351ef5..a9e702e 100644 --- a/src/introreset.asm +++ b/src/introreset.asm @@ -4,50 +4,36 @@ LASTINIT SET . ; Intro reset ; ---------------------------------------------------------------------- -introreset: +introreset SUBROUTINE jsr multicolorOff jsr clearScreen - ; Copy shade colors from costant table to color RAM for 2nd and 4th line of text - ldx #39 -introresetColorShade - lda colorshade,x - sta $d828,x ; 2nd line - sta $d878,x ; 4th line - dex - cpx #$ff - bne introresetColorShade - ; Set screen colors lda #0 sta $d020 ; overscan sta $d021 ; center - ; Print website - lda #intro2string ; do the same for msb of string address - sta srcStringPointer + 1 ; put into msb of source pointer - lda #$26 ; this is lsb of address of 20th line - sta dstScreenPointer ; put into lsb of dest pointer - lda #$07 ; do the same for msb of adress of 20th line - sta dstScreenPointer + 1 ; put into msb of dest pointer - jsr printString ; print + lda #14 + sta introYscroll - ; Print Copyright - lda #intro3string ; and line (21th line) - sta srcStringPointer + 1 - lda #$58 - sta dstScreenPointer - lda #$07 - sta dstScreenPointer + 1 - jsr printString + ldx #$78 + stx dstPointer + ldy #$04 + sty dstPointer + 1 - rts + lda #68+19 + sta rasterLineInt + +#if DEBUG = 1 + ldy #$00 +.charsetLoop: + tya + sta $4c8,y + iny + bne .charsetLoop +#endif #if VERBOSE = 1 ECHO "introreset.asm @ ",LASTINIT,"len:",(. - LASTINIT) -#endif \ No newline at end of file +#endif diff --git a/src/program.asm b/src/program.asm index 0d8e748..57d4ce2 100644 --- a/src/program.asm +++ b/src/program.asm @@ -63,16 +63,32 @@ zeroFillZeroPage: ; Reset screen (and other parameters) to play intro jsr introreset -intro0running: ; Cycle here until SPACE or `Q` is pressed +menu SUBROUTINE +.menu: ; Cycle here until SPACE or `Q` is pressed jsr $ffe4 ; GETIN cmp #$20 ; Is it SPACE? - beq intro0end ; if yes, go to intro0end and start game (see) + beq .intro0end ; if yes, go to intro0end and start game (see) +#if DEBUG = 1 + cmp #$41 ; Is it A? + beq .printCounter ; if yes, print current counter +#endif cmp #$51 ; Is it Q? - bne intro0running ; If not, keep looping here, + bne .menu ; If not, keep looping here, jmp $fce2 ; else, reset the computer +#if DEBUG = 1 +.printCounter + lda counter + 1 + ldy #2 + jsr printByte + lda counter + ldy #4 + jsr printByte + jmp .menu +#endif + ; Intro is finished, now it's time to start the proper game -intro0end: +.intro0end: ; Set current level pointer to list start lda # no skew if computations are slow + jsr sidtune + 3 +.noPlay: + #if DEBUG = 1 ; Change background to visually see the ISR timing lda #2 sta $d020 #endif + inc counter + bne .noIncCounter + inc counter + 1 +.noIncCounter + ; Check status and call appropriate sub-routine ; Sort of switch-case lda status +checkStatusIntro0: cmp #ST_INTRO0 bne checkStatusIntro1 jsr statusIntro0 jmp checkEndStatus checkStatusIntro1: cmp #ST_INTRO1 - bne checkStatusPlay + bne checkStatusIntro2 jsr statusIntro1 jmp checkEndStatus +checkStatusIntro2: + cmp #ST_INTRO2 + bne checkStatusIntro3 + jsr statusIntro2 + jmp checkEndStatus +checkStatusIntro3: + cmp #ST_INTRO3 + bne checkStatusIntro4 + jsr statusIntro3 + jmp checkEndStatus +checkStatusIntro4: + cmp #ST_INTRO4 + bne checkStatusMenuReset + jsr statusIntro4 + jmp checkEndStatus +checkStatusMenuReset: + cmp #ST_MENURESET + bne checkStatusMenu + jsr statusMenuReset + jmp checkEndStatus +checkStatusMenu: + cmp #ST_MENU + bne checkStatusPlay + jsr statusMenu + jmp checkEndStatus checkStatusPlay: cmp #ST_PLAY bne checkStatusDelay @@ -158,19 +219,6 @@ checkStatusLevelLoad: jmp checkEndStatus checkEndStatus: -#if DEBUG = 1 - ; Change background to show how much time does music take for each interrupt - lda #1 - sta $d020 -#endif - - ; Play music - jsr sidtune + 3 -; jsr sidtune + 3 -; jsr sidtune + 3 -; jsr sidtune + 3 -; jsr sidtune + 3 - ; Increase random value inc random diff --git a/src/subroutines.asm b/src/subroutines.asm index 76d0fed..eac26a1 100644 --- a/src/subroutines.asm +++ b/src/subroutines.asm @@ -14,7 +14,7 @@ clearScreen SUBROUTINE sta $500,x sta $600,x sta $700,x - lda #$05 + lda #$0f sta $d800,x sta $d900,x sta $da00,x diff --git a/src/zeropage.asm b/src/zeropage.asm index 4c9a5b0..9b3e834 100644 --- a/src/zeropage.asm +++ b/src/zeropage.asm @@ -26,6 +26,9 @@ strlenString DS 2 srcPointer DS 2 dstPointer DS 2 +; Interrupt counter +counter DS 2 + ; Note: Locations $90-$FF in zeropage are used by kernal