udo-munk / z80pack

A Zilog Z80 and Intel 8080 systems emulation
MIT License
168 stars 37 forks source link

Remove imsai_vio_ctrl() from imsaisim memwrt() and let the VIO refresh loop handle this #35

Closed dmcnaugh closed 6 years ago

dmcnaugh commented 6 years ago

Priority: medium Difficulty: easy

For efficiency and better separation-of-concerns, the code in the imsaisim memory.c/h module memwrt() shouldn't have to perform

    if (addr == 0xf7ff)
        imsai_vio_ctrl(data);

This is getting done on every memory write just to check 1 byte, effecting performance. This check could be moved to the imsai-vio.c module where a double-buffer could be used with any change noticed and acted on in the refresh loop.

udo-munk commented 6 years ago

Fixed, thanks.