Hi!
I'm not sure, but if I know correctly, 1750REU can be connected also with GeoRAM (e.g. Exp.Port Expander).
I think that 'cause in VICE emulator is possible to add both.
How to detect size of GeoRAM?
Many thanks.
Miro
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von angryking am
Hi!
I'm not sure, but if I know correctly, 1750REU can be connected also with GeoRAM (e.g. Exp.Port Expander).
I think that 'cause in VICE emulator is possible to add both.
How to detect size of GeoRAM?
Many thanks.
Miro
You will need to check for page mirrors manualy.
- Save Page 0 to normal memory.
- Write some known value to page 0. $de,$ad,$f0,$0d repeated to fill the page would be a good value.
- Flip trough all pages and check when the known value is seen.
- If we get our known value we have the size of the GeoRAM/NeoRAM.
- Dont forget to write back Page 0.
Hi!
Many thanks!
But I'm confused...
I'm using to detect size of REU e.g. 10 known values to bank $00 - $ff and at mem-switch if is compare error, this means that the latest bank was size of REU...
So, why PageZero of memory - it may cause unknown computer behavior - ZeroPage is used for lot of system values...
Or I understand not correctly?
Miro
About using REU and GeoRAM at the same time: this is not easily possible, because the command registers of both expansions share the same I/O area in the C64 memory map: IO2 from $DF00-$DFFF. REU uses $DF00-$DF0A but is mirrored all over the place, and GeoRAM uses only two bytes $DFFE-$DFFF but also mirrored.
Now in NeoRAM I reduced the mirroring to $DFC0-DFFF, so there is a chance to use it together with REU if it doesn't care about writes to its mirrors at $DFFE-$DFFF. It shouldn't since the registers are unused.
About size detection of GeoRAM/NeoRAM it isn't easy because there exist different versions from 256kB up to 2MB. Some versions use memory mirrors others have memory holes. E.g. my NeoRAM uses 512kB minimum and then there are holes at 1MB-2MB. Maybe you can talk to cbmhardware who wrote a program that works well with different versions: http://www.cbmhardware.de/georam/index.php
Ich habe mich hieran auch versucht und beigefügtes Testprogramm entwickelt, um die Größe einer GeoRAM/NeoRAM zu testen. Der Teil zum Erkennen, ob überhaupt eine GeoRAM angeschlossen ist, ist in dem Programm nicht enthalten, aber ohne angeschlossene GeoRAM kommen trotzdem Werte raus, die den eindeutigen Rückschluss erlauben.
Im Vergleich zu den anderen Versionen, die man u. U. im Netz finden kann, kann mein Code die GeoRAMs mit Kapazität 8 MB und 16 MB, die ich in der 1541 Ultimate II Firmware eingebaut habe, ebenfalls erkennen.
Ich würde mich freuen, wenn ich Testergebnsse bekäme, ob das Programm korrekt arbeitet. Insbesondere auf NeoRAMs, die Speicherlöcher haben (diese Situation emuliert Vice nicht).
Wenn alles geht, liefere ich den CC65 Queltext nach.
Nachtrag: Sehe gerade, dieser alte Thread ist im C128 Forum. Naja, läuft auch auf jenen, nur halt im C64-Mode. Und natürlich auf allen C64.
Georam 512 wird erkannt (64 pages/32 banks).
ch glaube, ich habe hier noch einen Quelltext angekündigt und dann vergessen, Hier ist er.
Erkennt sogar 16mb