Skip to content

Commit 5e6b61f

Browse files
committed
Allow overwritting system variables if IM=2
1 parent a70ad39 commit 5e6b61f

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

lstate.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ unsigned int i, j;
7070

7171
unsigned char *ptr;
7272
unsigned char *ptr_origin;
73-
//unsigned char *from;
73+
unsigned char *from;
7474
unsigned char *to;
7575

7676
unsigned char rom_selected_p0, rom_selected_p1;
@@ -201,14 +201,13 @@ void main(char *argv[], int argc) {
201201
Read(fH, buffer, sizeof(buffer));
202202

203203
// Don't overwritte MSX-DOS variables area
204-
/*if (segment == 13 && i >= 14 && rom_selected_p0) // OK PROFANATION, BAD NAVY
204+
if (rom_selected_p0 && regs.im != 2 && segment == 13 && i >= 14)
205205
from = (unsigned char *)(0xC000 + i*sizeof(buffer));
206206
else
207-
from = buffer;*/
207+
from = buffer; // If IM = 2 actually we don't care about overwritting
208208

209209
OutPort(0xFE, segment); // FE (write) Mapper segment for page 2 (#8000-#BFFF)
210-
MemCopy(to, buffer, sizeof(buffer)); // OK NAVY, BAD PROFANATION
211-
//MemCopy(to, from, sizeof(buffer)); // BAD NAVY, OK PROFANATION
210+
MemCopy(to, from, sizeof(buffer));
212211

213212
// If rom_selected_p0, we need to copy the
214213
// H.KEYI and H.TIMI hooks the game configured

0 commit comments

Comments
 (0)