Replies: 1 comment 3 replies
-
|
Hi, just some quick answers for today: A simple example is the checkForReadyPrompt-method. If hijacks the C64, reads some RAM, writes something, then releases the DMA. It is even simple when the CPU triggers some execution, e.g. by writing to IO1/2, because then it just finished a write operation and you can immediately take over (still need to check BA, but the macros in the framework do that for you -- look for PEEK and POKE) For Sidekick64/20: these communicate via ROM/RAM-banking and IO1/2. That's very simple and you can just take, e.g. the GeoRAM example or simple cartridges as a starting point. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
thanks for this great project. I've started with RAD (and Sidekick) recently and now I'd like to hack around my own software experiments.
I read the general disclaimer about HW damages, so don't worry - the following questions are just for me to better understand what I need to take care of in order to reduce the risk of damaging any involved hardware hopefully to zero.
I connect only the RAD to the expansion port - no more carts or other devices in parallel.
1- Can it happen that due to a SW imposed conflict on the bus any involved HW can be damaged?
Background: On the user-port I read that one has to take care that parallel 'high' logical level on I/O ports from the CIA and from an external device connected to the user-port may lead to a damage of the CIA.
2- So on RAD, if I access the C64 memory from an application, do I need to take care of anything before doing so?
3- What would be the recommended pattern to occasionally write some data into C64 memory from the RPi?
(No need to be super-optimized as probably RAD-Doom is).
I thinking of a brief instruction on
a) need to initialize once at the beginning of the program
b) need to setup before doing a transfer (poke & peek)
c) which variant of the xxPOKE() macros to use for which use-case (POKE() vs. MPOKE() vs. SPOKE())
d) cleanup after the transfer, if needed
Alternatively I use Sidekick64, so my questions also would apply to software on the RPi/SK64 and even more for Sidekick20. I have the VIC20 adapter, a shiny VIC20 and some ideas to hack also VIC20 stuff on "Sidekick20-Steroids". Any comments on this are also very welcome.
Thanks for any advice in advance,
pottendo
PS: again, big Thanks for these projects - really cool stuff to keep the motivation to hack the retro world!
PPS: I'm proud owner of one of the 'OrangeCart's (credits to @zeldin). You may have a look on some of my projects there:
RVCop64 SMP + FPU
Zephyr on OrangeCart
...I even started to port Doom to the OrangeCart, but compared to RAD-Doom, failed miserably (so far). ;-)
Beta Was this translation helpful? Give feedback.
All reactions