fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

ibmpc/int13: Use 8-bit accesses to PC memory

+12 -15
+12 -15
src/arch/ibmpc/int13.c
··· 166 166 addr += n; 167 167 } 168 168 else { 169 - for (i = 0; i < n; i += 2) { 170 - e86_set_mem16 (cpu, addr >> 4, addr & 0x0f, buf[i] | (buf[i + 1] << 8)); 171 - addr += 2; 169 + for (i = 0; i < n; i++) { 170 + e86_set_mem8 (cpu, addr >> 4, addr & 0x0f, buf[i]); 171 + addr += 1; 172 172 } 173 173 } 174 174 } ··· 179 179 static 180 180 void dsk_int13_03 (disks_t *dsks, e8086_t *cpu) 181 181 { 182 - unsigned i, k, n; 183 - uint32_t blk_i, blk_n; 184 - unsigned c, h, s; 185 - unsigned long addr; 186 - unsigned short val; 187 - unsigned char buf[512 * INT13_MAX_BLOCKS]; 188 - disk_t *dsk; 182 + unsigned i, k, n; 183 + uint32_t blk_i, blk_n; 184 + unsigned c, h, s; 185 + unsigned long addr; 186 + unsigned char buf[512 * INT13_MAX_BLOCKS]; 187 + disk_t *dsk; 189 188 190 189 if ((dsk = dsks_get_disk (dsks, e86_get_dl (cpu))) == NULL) { 191 190 dsk_int13_set_status (dsks, cpu, 0x01); ··· 219 218 addr += k; 220 219 } 221 220 else { 222 - for (i = 0; i < k; i += 2) { 223 - val = e86_get_mem16 (cpu, addr >> 4, addr & 0x0f); 224 - buf[i + 0] = val & 0xff; 225 - buf[i + 1] = (val >> 8) & 0xff; 226 - addr += 2; 221 + for (i = 0; i < k; i++) { 222 + buf[i] = e86_get_mem8 (cpu, addr >> 4, addr & 0x0f); 223 + addr += 1; 227 224 } 228 225 } 229 226