Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Cartridge coding questions (Retro Replay hardware)
2011-07-14 18:53
Frantic

Registered: Mar 2003
Posts: 1648
Cartridge coding questions (Retro Replay hardware)

I am fiddling with some code for the retro replay hardware, i.e. I am making my own cartrige ROM software which is supposed to run from the Retro Replay hardware (and compatibles). The basic stuff works, such as autostarting the code in the cart and switching between ROM banks so that I am able to jmp/jsr between banks. I am also able to handle presses on the freeze button.

...but apart from this, I am quite puzzled in a number of ways. :) If someone could set me straight I would be most happy. Questions come here:

Q1. If I have understood correctly, it is not possible to disable BASIC ROM and KERNAL ROM and still have the cartridge ROM enabled. True? (If it is actually possible, then what is the correct value to write to $01 to set this up?)

Q2. If it is not possible to disable BASIC/KERNAL ROM and still have the cartridge ROM enabled, the following question emerges: Is the only way to bypass the KERNAL IRQ handler (the one that $fffe points to) to map the cartridge ROM to $e000-$ffff? (The idea would be that the cartridge ROM then occupies the $fffe/$ffff bytes, so one is able to respecify the IRQ vector this way.)

Q3. If one has to have the cartridge ROM mapped to the $e000-$ffff area, is it then possible to use the cartridge RAM of the retro replay? The "Inside Replay.txt" document somewhat cryptically states that "RAM can only be accessed in $8000-$9fff."

Q4. Is there some source code available that shows how to use the Retro Replay ram? (In general: Please add more cartridge coding stuff to codebase64 if you got something!!)

Q5. How come cartridge ROMs like the Action Replay ROM can "disappear" during normal operation of the C64 and still magically be invoked when it is time to do loading/saving etc? I mean.. either the ROM banks are enabled or they are not? What makes the AR ROM magically "invisible" at one moment, only to suddenly appear again at the right moment to provide some turbo loading code and such? :)

I realize that I am quite confused over the operation of the RR hardware, so bear with me if the questions above do not really make sense. :)
2011-07-14 20:53
Count Zero

Registered: Jan 2003
Posts: 1932
Phew ...

You checked the available documentation at rr.c64.org closely? It should answer a few questions. Meet me on IRC for more details and pointers. Don't feel like it _right now_ :)
2011-07-15 04:50
chatGPZ

Registered: Dec 2001
Posts: 11386
just a quick one:

Q5: a common technique (used by AR and also a bunch of other freezers) is to map rom (or ram) into the i/o area (one page at $de00 and/or $df00). the load/save etc vectors then point to this area, which contains the code to enable/disable the actual cartridge ram (at $8000 for example).
2011-07-15 21:31
Count Zero

Registered: Jan 2003
Posts: 1932
Nearly forgot:

http://rr.c64.org/wiki/Inside_Replay_Essentials.txt

Not perfectly written but when read closely I hope it solves most plain coding problems.
Not me on errors and hard to understand sentences.
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
csabanw
Acidchild/Padua
Chesser/Blazon
ΛΛdZ
Guests online: 93
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

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