@@ -243,8 +243,8 @@ void restore_state_from(char *data)
r.eax = 0x4f04;
r.ecx = 0xf; /* all states */
r.edx = 2; /* restore state */
- r.es = (unsigned int) (data - LRMI_base_addr()) >> 4;
- r.ebx = (unsigned int) (data - LRMI_base_addr()) & 0xf;
+ r.es = (unsigned long) (data - LRMI_base_addr()) >> 4;
+ r.ebx = (unsigned long) (data - LRMI_base_addr()) & 0xf;
r.ds = 0x0040;
if (!LRMI_int(0x10, &r)) {
@@ -327,8 +327,8 @@ char *__save_state(int *psize)
r.ecx = 0xf; /* all states */
r.edx = 1; /* save state */
- r.es = (unsigned int) (buffer - LRMI_base_addr()) >> 4;
- r.ebx = (unsigned int) (buffer - LRMI_base_addr()) & 0xf;
+ r.es = (unsigned long) (buffer - LRMI_base_addr()) >> 4;
+ r.ebx = (unsigned long) (buffer - LRMI_base_addr()) & 0xf;
r.ds = 0x0040;
fprintf(stderr, "ES: 0x%04X EBX: 0x%04X\n", r.es, r.ebx);