On Wed, 25 Jul 2001, Ray Bryan wrote: > I think from my reading of the docs that wrtiing to the $ff00 to $ff04 address > would write to registers in the MMU -- and 0FF00 - 0ffffh are always used byt he > 8502 even in cp/m mode. (8502 is the out/in put processor) The OUT (C),xx instruction (actually it is OUT (BC),xx) definitely does access the I/O area from the Z80. Quite many years ago, I was in the process of constructing a memory map for the Z80 mode. I didn't finish the task, and my notes have been destroyed. I cannot come up with ways of writing to $ff00-$ff04 using a stock C128. You can probably write there from the cartridge port (e.g. using a REU) without the MMU intercepting the addresses. From the 8502 side, you can write there only in C64 mode (from where only a hardware RESET can return the MMU to the C128 mode) or by mapping the memory area to a different address. This is possible with my internal 1 MB expansion that is partially based on Pekka Pessi's 256 kB expansion for the C64. The "common memory bank" feature of MMU that allows you to access bank 0 RAM always at some bottom or top memory bank, or both, regardless which bank has been selected for the middle area, should not be of any help here, since it doesn't perform any address translation. Oh, now I got it: you use the zero page or stack page relocation register and write the data to $100-$104 or to $00-$04 (well, I guess it's easier for you to write to $100 or $101 than to $00 or $01 (I've done the latter without using the MMU)). Marko Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.