| |
oziphantom
Registered: Oct 2014 Posts: 490 |
Breakpoints/Freezepoints and the 128
Does anybody know of any cart or program that provides AR5/6 level FreezePoints on the 128. Just something that automatically patches the code for you when and then enters the monitor. |
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
I assume you mean in native c128 mode? |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
yes, for C64 mode, just plug in an AR Cart. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Can't be of more help, sorry. I have very little experience with native c128 mode, but out of curiousity, are there cartridges supporting running native c128? |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
Sure Partner 128, Mach 128, I'm sure there are others, you can put a "function ROM" in the REUs which then also makes them a "cart". But there are no "freeze carts" for the 128, as you can not freeze a 128.
For something like this I would think a software based solution that can possibly intercept the standard BRK vector(0316/7 on the 128), and/or an Internal Function ROM, there is plenty of room in the VDC one could squirrel away some patch values, you would still need a small hook somewhere in ram, but I would think "dear dev don't touch 1FFEX-1FFFX" and you can get autobreak point patch up would be a very solid deal. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
why is it not possible to freeze the 128? and wouldnt it be possible by some 5 min soldier job to make the AR work in 128 mode ? maybe it wouldnt make the freeze perfectly, but as good as it can do in c64 mode ?
my guess in 128 mode really nothing much is different other than mmu being visible ? |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
The 128 is a very different beast, to think it is just a 64 with an extra bank tacked on will lead down a garden path.
Problem 1. The Z80 boots first and it only ever sees the internal Z80 portion of the internal ROM and can not be made to see an external ROM.
Problem 2. The 128 has no ultimax mode, to the point it even slightly cripples the 64 modes ultimax mode, this is why the Turbo Chameleon won't work on the 128. I think it also impacts flashing of carts such as the GMOD2.
Problem 3. The 128 ignores EXROM and GAME Lines, in fact you can set them to be outputs on the 128 and use them as extra control signals.
Problem 4. The KERNAL strictly sets FF00 to 0 upon its entry points forcing the code to hit and stay on the built in ROMs. So while you can during the boot sequence make it boot to your external ROMs, ( the 128 has 2 16K ROMS for external use, which are like the 16K on a 64, just its 2x16K not 2x8K thus giving you a full 32K ROM set ), you then must keep it always in your external roms, and can't let the KERNAL/BASIC/Editor/Monitor ROM run internally or it will switch it back to the internal ROM set and you will have to find a vector to hook in order to switch the MMU back to external function rom mode.
So you can not take over the 128, you can only let it yield to you on its terms and when you directly instruct it to. You could say install a custom NMI handler and modify the vector at boot, and then your cart will fire an NMI event to which it then jumps to a custom code routine in the lower shared 4K, which then invokes your external cart for a freeze, but there is nothing to stop somebody changing the NMI vector and or trashing your "bootstrap" and the machine must have the KERNAL banked in. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
will replacing the ROM's to freeze friendly code do the trick then? I dont know why ultimax is needed for freeze.
maybe a custom ROM NMI handler ? :) |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
okay, if you don't replace the KERNAL and take over vectors, how do you freeze? I assumed that the AR carts pull into Ultimax mode, and then put their ROM at E000 so it can trap Vector pulls and hence hook into their own code?
replacing the internal KERNAL ROM would let you freeze if you have the KERNAL enabled.. if I bank it out, then it can't help, because I will control the vectors.. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
so the problem is that a freezer cart cant bank in its own ROM ? |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
you can bank in external ROM, just you have to ask the MMU to do it. To do so you have to have control of the CPU, so you need a way from pressing a button to get the CPU under your control. Once you have the CPU under your control, you can set the banks, ZP, stack as you please. |
... 5 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |