Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Breakpoints/Freezepoints and the 128
2019-08-17 15:07
oziphantom

Registered: Oct 2014
Posts: 478
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.
2019-08-17 21:55
tlr

Registered: Sep 2003
Posts: 1702
I assume you mean in native c128 mode?
2019-08-18 07:26
oziphantom

Registered: Oct 2014
Posts: 478
yes, for C64 mode, just plug in an AR Cart.
2019-08-18 12:46
tlr

Registered: Sep 2003
Posts: 1702
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?
2019-08-18 13:16
oziphantom

Registered: Oct 2014
Posts: 478
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.
2019-08-19 07:24
Oswald

Registered: Apr 2002
Posts: 5017
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 ?
2019-08-19 08:59
oziphantom

Registered: Oct 2014
Posts: 478
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.
2019-08-19 09:40
Oswald

Registered: Apr 2002
Posts: 5017
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 ? :)
2019-08-19 10:16
oziphantom

Registered: Oct 2014
Posts: 478
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..
2019-08-19 11:05
Oswald

Registered: Apr 2002
Posts: 5017
so the problem is that a freezer cart cant bank in its own ROM ?
2019-08-19 12:12
oziphantom

Registered: Oct 2014
Posts: 478
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Jetboy/Elysium
t0m3000/ibex-crew
icon/The Silents, Sp..
Acidchild/Padua
Martin Piper
Krill/Plush
Guests online: 152
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.9)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Logo Graphicians
1 Sander  (10)
2 Facet  (9.7)
3 Mermaid  (9.4)
4 Pal  (9.4)
5 Shine  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.038 sec.