Morning all.
I bought and built a 512kb expansion for my 6128.
Plugged it in. Switched it on.... no magic smoke so must be all good?
Is there a poke or call command for testing that it has actually been picked up?
I'd like to play 'Doomsday Lost Echoes' which requires an expansion (as well as 2x drives one of which is 720kb) but I don't want to use an emulator (that's cheating).
So, any ideas on testing the 512kb expansion? (I've got a Gotek so am trying to use that to get the game working)
You should run the SyX's ram expansion test program to know if all is OK.
http://www.cpc-power.com/index.php?page=detail&num=6987
Perfect!
Worked like a charm.
Now to work out how to get the game running. :-)
Quote from: TotO on 10:37, 03 March 19
You should run the SyX's ram expansion test program to know if all is OK.
http://www.cpc-power.com/index.php?page=detail&num=6987 (http://www.cpc-power.com/index.php?page=detail&num=6987)
And for testing 1024 Kb RAM ?
Quote from: XeNoMoRPH on 11:22, 03 March 19And for testing 1024 Kb RAM ?
I can add here a BASIC program to do that.
10 ' DISPLAY RAM
20 ' Display de CPC RAM at &7F00 and &7E00
30 ' Using C0 and "C4-C7" modes
40 '
50 ' CPC Video Gate Array RAM on port #7F00
60 OUT &7F00,&C0:POKE &4000,&EE:OUT &7F00,&C0:vga=PEEK(&4000)
70 PRINT:IF vga=&EE THEN PRINT"VGA RAM: 64K" ELSE PRINT"VGA RAM: 00K"
80 '
90 ' Central Processor Unit RAM on port #7F00
100 RESTORE:FOR i=1 TO 32:READ a
110 OUT &7F00,a:POKE &4000,i:NEXT i
120 RESTORE:FOR i=1 TO 32:READ a
130 OUT &7F00,a:cpu=PEEK(&4000)
140 OUT &7F00,&C0:vga=PEEK(&4000)
150 IF cpu=i AND vga=&EE THEN ram=ram+16
160 PRINT"CPU RAM:";ram;CHR$(8);"K"+CHR$(11)
170 NEXT i
180 RESTORE:FOR i=1 TO 32:READ a
190 OUT &7F00,a:POKE &4000,&EE:NEXT i
200 ' Central Processor Unit RAM on port #7E00
210 RESTORE:FOR i=1 TO 32:READ a
220 OUT &7E00,a:ee=PEEK(&4000) : IF ee<>&EE THEN OUT &7E00,a:POKE &4000,i
230 NEXT i
240 RESTORE:FOR i=1 TO 32:READ a
250 OUT &7E00,a:cpu=PEEK(&4000)
260 OUT &7E00,&C0:vga=PEEK(&4000)
270 IF cpu=i AND vga=&EE THEN ram=ram+16
280 PRINT"CPU RAM:";ram;CHR$(8);"K"+CHR$(11)
290 NEXT i:PRINT:PRINT:END
300 RESTORE:FOR i=1 TO 32:READ a
310 OUT &7F00,a:POKE &4000,0:NEXT i
320 DATA &C4,&C5,&C6,&C7
330 DATA &CC,&CD,&CE,&CF
340 DATA &D4,&D5,&D6,&D7
350 DATA &DC,&DD,&DE,&DF
360 DATA &E4,&E5,&E6,&E7
370 DATA &EC,&ED,&EE,&EF
380 DATA &F4,&F5,&F6,&F7
390 DATA &FC,&FD,&FE,&FF
(https://i.ibb.co/RQ2pkB4/234234.png)
Very Nice 8)
For testing how much RAM - up to 4 MB - is connected you can use my tool:
http://www.cpcwiki.eu/imgs/2/28/E-RAM_Test_2014.zip
Quote from: GUNHED on 19:56, 04 March 19
For testing how much RAM - up to 4 MB - is connected you can use my tool:
http://www.cpcwiki.eu/imgs/2/28/E-RAM_Test_2014.zip (http://www.cpcwiki.eu/imgs/2/28/E-RAM_Test_2014.zip)
Yes! ;D Or expand my quick & dirty BASIC program... :-\
Very good BASIC program to verify more than 512K RAM expansion.
It helps me to debug my faulty emulator while "E-RAM_Test_2014" tells me I had 4096K available.
Quote from: Fredouille on 10:45, 05 March 19
... while "E-RAM_Test_2014" tells me I had 4096K available.
This one just checks of the RAM block is present or not. It does not check for:
- Integrity of every single byte in the 16 KB block
- If your hardware/emulator can switch quick enough between blocks
It would have been interesting to implement integrity test on 4096K RAM ;)
Quote from: Kris on 19:58, 05 March 19
It would have been interesting to implement integrity test on 4096K RAM ;)
This was originally planned for an FutureOS application called "Captain F. Hardware", but for reasons I dropped the project.