Re: [cc65] Banking out ROM (was: TGI preview)

From: <>
Date: 2009-11-14 23:35:07
On 2009-11-14, at 12:19, Fatih AygŁn wrote:
> How do those platforms handle disk i/o?

Two ways to achieve that is either bank-in, do the i/o, bank out or copy ROM to RAM, and use those portions of RAM, which do not interfere with the functionality you still need from the now mutable ROM image. In practice I believe the first method is more common.

> [...] So I can't load anything into the extra
> memory from disk, because the i/o routines are in the rom and when the rom is enabled to
> call them, they just try to write over the rom, which obviously doesn't work.

Well, on the Commie it "obviously" works ;-) It is so because the ROM is banked-in on read only. On write, the RAM is being accessed, which as simple as it looks makes lot of things easier. E.g. to make any of the ROMs mutable, a simple loop

lda (vector),y
sta (vector),y

is enough. No temporary buffers, no need for two copy passes, etc.

Now I don't know how are the ROMs wired on Ataris but if you can't write over the ROMs to get to the RAM beneath, I would assume that you are to use some I/O buffers, read the data in there, bank the ROM out and move the data. Yeah - not very much appealing.

To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sat Nov 14 23:35:19 2009

This archive was generated by hypermail 2.1.8 : 2009-11-14 23:35:21 CET