ZitatAlles anzeigenOriginally posted by peiselulli
The "only basic" idea is better than nothing but not so good for games
that uses the normal disk functions (and I think out aim must be to replace them) if there
has modified the $dd00 lower 2 bits (for displaying a picture, for example).
So I looked for the code that stores at 0xdd00.
my idea is to modify the code BEFORE starting the fastloader with the current
setting of $dd00 lower two bits.
This could absolutely be doable. I'm not sure about the last one. You might have to slow down the drive code aswell.
One work around could be to blank the screen if the bank is anything else that 0.
There's another problem. To be able to blank the screen $d03c has to be modified to kill badlines.
There is no way of reading $d03c, so if anything other than c64 graphics modes is used, it will be wiped (e.g 256 color mode).
For c64 code it will work fine.
On top of this, the segment 3 ($c000-$ffff) mapping does not work like intended, because the $01 mapping is not done on the processor view of the memory. It is instead done before segment mapping. The I/O registers at $d000-$dfff will thus disappear as soon as reg $f is changed from being $03.
Another idea was to use $d100 mapping, but that maps as rom only, and the track buffer must be writable.
Conclusion, go with my original approach, i.e relocate it to $4000. It seems pretty straight forward.
I'll have a go at relocating and copying read sectors to ram using the blitter first, and then we'll see.