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 > RR memory map during freeze?
2016-02-09 18:12
tlr

Registered: Sep 2003
Posts: 1790
RR memory map during freeze?

I'm a bit confused about the memory map in the freeze state. Unfortunately I do not have a real RR so I can't analyse it myself. Anyone cares to enlighten me?

Jens explicitly states in Inside_Replay.txt that no RAM can be visible in the $8000-$9FFF area during freeze, but that $DE00 (or $DF00) is possible.
Quote:
Freeze:
ROM is mapped to $e000-$ffff, bank 0 is active directly after Freeze. Writing to bits 0 and 1 of the $de00 register will have no effect on GAME and EXROM.
RAM can be selected and used in $df00 or $de02, respectively, but not in $8000. Banking bits work, so you have full read access to the ROM, and access to up to four RAM pages with the AllowBank bit set (minus 2 bytes if REU
compatible bit is set).
Cz states this in his Inside_Replay_Essentials.txt:
Quote:
Being in freeze mode allows ROM banks to be mapped by $de00 as before but of course they are mapped to $e000. RAM can only be accessed on the free I/O1 area.
In spite of this it seems vice (r30505) has RAM enabled at both $8000 and $DE00 (or $DF00) during the frozen state before acking it.

From examining the 1541U2 code (3.0beta5) it looks like no RAM can be visible at $DE00 (or $DF00) during freeze which also seems to be wrong.

I was hoping that RAM at $DE00 was mapped in automatically in the freeze state so I could save regs there to avoid trashing the stack unnecessarily.

Which is it?
2016-02-09 18:52
chatGPZ

Registered: Dec 2001
Posts: 11386
drop a testprog into the repo and i'll check it on the real hw :) (you want to check if ram can be read at $8000, and if it can be written to at either $8000 and $e000). iirc its like jens' description says.... the existing tests omit the freeze mode, so i wouldnt be surprised if that is broken in VICE.
2016-02-09 19:02
tlr

Registered: Sep 2003
Posts: 1790
The really interesting bit is whether RAM is at $DE00 already from the start. Jens just states that "RAM can be selected".

I'll see if I can whip up a small test program.
2016-02-09 21:41
tlr

Registered: Sep 2003
Posts: 1790
There: testprogs/C64/carts/rr-freeze/.

The test first lets you select $DE01 bits, then tries to fill $DExx and $DFxx with an increasing pattern. It will then allow you to freeze.

Upon freezing, $DExx and $DFxx will be preserved to C64 ram, then modified and preserved again. Lastly freeze mode will be acked and $9Exx + $9Fxx will be read and finally the whole lot will be dumped to screen.

I believe $DE01=$40 and $DE01=$00 are the interesting cases.
2016-02-09 21:52
Count Zero

Registered: Jan 2003
Posts: 1932
Will see to check your test commit at the weekend.

*Yieks* the essentials.txt looks quite wasted :)

Cannot really remember the setup when in "freeze state" and only the "maxmachine memory setup" is active with an RR attacged. Also emulations on various hardwares will likely largely differ. That is actually one of the test cases I wanted to cover on future Action Replay & Clones Acid Ramtest v0.1 versions. Never really got on to it - as always :(

Also I am not sure about the influence the mode selection using the AllowBank bit would make but whenever that makes a difference we know whom to beat down excessively :)

Will report back whenever I find time for some more tests as well.
2016-02-10 15:12
chatGPZ

Registered: Dec 2001
Posts: 11386
i can see differences between emu and real hw.... however, it would be nice if you could explain what exactly this hexdump is trying to tell me :) what should it look like when there is ram and what should it look like when there is none?
2016-02-10 18:10
tlr

Registered: Sep 2003
Posts: 1790
Quote: i can see differences between emu and real hw.... however, it would be nice if you could explain what exactly this hexdump is trying to tell me :) what should it look like when there is ram and what should it look like when there is none?

@gpz: hmm, yes maybe it's a bit to crude. :)
Basically each "sample" is presented in hex rows of two.

Initially $9Exx and $9Fxx is prefilled with an incrementing pattern. (differnt for each).

First two shows the $de00 area directly after freeze.
The next two shows the $de00 area after trying to eor that area with #$ff.
the next two shows the $de00 area read back through $9e00 in the normal memory map.

After this six more rows, but for $df00 instead.

If REU-Comp is set only the upper part is meaningful, the lower part should be unconnected space.
If REU-Comp is not set, only the lower part is meaningful.

Did that make any sense at all?


This was just a quickie to verify if RAM is present already at the freeze entry. I will try to improve the test to check for RAM/ROM/banking in a more generic way.
2016-02-10 18:51
chatGPZ

Registered: Dec 2001
Posts: 11386
check the readme i added in the repo... if i interpreted the results correctly there is indeed no ram in i/o space in freeze mode.
2016-02-10 19:17
tlr

Registered: Sep 2003
Posts: 1790
Interesting! Thanks for interpreting my cryptic descriptions and deciphering the test program output. :)

I noticed you tested on the Nordic Replay btw. Supposedly the control regs on that is slightly altered compared to Retro Replay just to accommodate the Atomic Power. I assume the alterations are just extra stuff. Do you know which by any chance?
2016-02-10 21:30
Count Zero

Registered: Jan 2003
Posts: 1932
Huh - after querying Grp soon will try to make heads and tails of this on RR/NP/U1541v1 - looks extensible.

And wow - there IS a difference on Atomic to (new) Nordic Power (clone)?
Or is it some implementation thing? Got an original Atomic/Nordic Power here to check against the "clone Nordic Power" carts Jens produced. Will report back ASAP.
2016-02-10 22:19
tlr

Registered: Sep 2003
Posts: 1790
Quote: Huh - after querying Grp soon will try to make heads and tails of this on RR/NP/U1541v1 - looks extensible.

And wow - there IS a difference on Atomic to (new) Nordic Power (clone)?
Or is it some implementation thing? Got an original Atomic/Nordic Power here to check against the "clone Nordic Power" carts Jens produced. Will report back ASAP.


What I ment is that there is a difference between RR and Nordic Replay. Jens states so here: http://wiki.icomp.de/wiki/Nordic_Replay , but he doesn't state what the difference is.

Meanwhile I extended the freeze test to try to present the detected mapping in a more sane way. Ongoing work...
 
... 8 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
E$G/HF ⭐ 7
Morpheus/IPC+C64.COM
El Jefe/Slackers^sidD
Metal Maniac/Dual Crew
csabanw
Dan
algorithm
MWR/Visdom
Brataccas/HF
Guests online: 121
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 Layers  (9.6)
2 No Listen  (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 Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

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