> Hello, CBM-Hackers; > > I sent this quite some time ago, and now I'm reposting here. > > Hello, CBM-Hackers; > > I was wondering if there is any way a program can stash ordinary data onto > addresses $ff00-$ff04 in 128 mode of the c128 line of computers? I want to > put data there and have the VIC-II reference it in displaying a bitmap, for > example. But, the MMU registers are always there? Is there a way of blocking According to the C128's reference guide, you're stuck - $FF00 is always occupied by the MMU. A simple test I just did shows that the MMU only occupies $FF00-$FF04; the rest of the space around it is RAM/ROM, thankfully. So as a workaround for the affected cell (row 24 column 32 if I'm right), set the background color of the cell as you normally would, and set the foreground color of that cell to the same value, to render the MMU's register data invisible. Now place a sprite over that cell and set it's color(s) to the actual foreground color(s) you wanted to use in that cell. Then just make sure you plot to the sprite when you need to plot to the blocked cell. Make sure the sprite-to-background priority for the sprite you use is set to place the sprite on top of the (invisible) data instead of under it. You may wish to set up a raster split if you need all 8 sprites elsewhere, or if they need to be multicolor and your colors don't match what the blocked cell needs. > Can I enter Z80 mode and then stash data there at $ff00-$ff04, or does the > Z80 use the MMU as well? The MMU is what decides which processor is running, so I would guess its registers also show up in the Z80's memory map, but I'm not certain at all. -- _________________________ ___ ___ | email@example.com //ZZ]__ | | C64/C128/SCPU |'/ |Z/ | | What's *YOUR* Hobby!? | \__|_\ | |_________________________\___]___| Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.