Browse code

(uxnasm) Allow writing the 0xffff byte of RAM.

Andrew Alderwick authored on 19/02/2022 00:28:03
Showing 1 changed files
... ...
@@ -35,7 +35,8 @@ typedef struct {
35 35
 
36 36
 typedef struct {
37 37
 	Uint8 data[LENGTH];
38
-	Uint16 ptr, length, llen, mlen, rlen;
38
+	unsigned int ptr, length;
39
+	Uint16 llen, mlen, rlen;
39 40
 	Label labels[512];
40 41
 	Macro macros[256];
41 42
 	Reference refs[2048];
... ...
@@ -193,6 +194,10 @@ writebyte(Uint8 b)
193 194
 		fprintf(stderr, "-- Writing in zero-page: %02x\n", b);
194 195
 		return 0;
195 196
 	}
197
+	else if(p.ptr > 0xffff) {
198
+		fprintf(stderr, "-- Writing after the end of RAM: %02x\n", b);
199
+		return 0;
200
+	}
196 201
 	else if(p.ptr < p.length) {
197 202
 		fprintf(stderr, "-- Memory overwrite: %04x -> %04x\n", p.length, p.ptr);
198 203
 		return 0;