diff options
Diffstat (limited to 'src/mame/drivers/atarisy4.cpp')
-rw-r--r-- | src/mame/drivers/atarisy4.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mame/drivers/atarisy4.cpp b/src/mame/drivers/atarisy4.cpp index d9e9f9a3d6e..e574272d416 100644 --- a/src/mame/drivers/atarisy4.cpp +++ b/src/mame/drivers/atarisy4.cpp @@ -847,6 +847,7 @@ void atarisy4_state::load_ldafile(address_space &space, const uint8_t *file) uint8_t sum = 1; uint16_t len; uint16_t addr; + uint8_t pval = 0; if (READ_CHAR() != 0x01) fatalerror("Bad .LDA file\n"); @@ -879,7 +880,11 @@ void atarisy4_state::load_ldafile(address_space &space, const uint8_t *file) { uint8_t data = READ_CHAR(); sum += data; - space.write_byte(addr++, data); + if (addr & 1) + space.write_word(addr >> 1, (pval << 8) | data); + else + pval = data; + addr ++; } while (--len); sum += READ_CHAR(); |