News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Weird size of RAM expansion

Started by ralferoo, 01:10, 21 January 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ralferoo

So, I've just added RAM banking to my emulator. I'm using a 512KB chip, so I've effectively got the 64KB internal RAM and a 448KB expansion RAM with 7 banks of 64KB. If the last bank is selected, it reverts to internal RAM.

It seems to work as I'd expect with my test program (winCPC gives the same results except on the last 2 lines) and gerald's memory test seems to succeed too. The question is whether this set up is likely to break any programs and whether it's be better to limit myself to 64KB internal and 256KB+64KB external? Has anyone else made weird and wonderful sized expansion boards? (I'm looking at Bryce mostly... ;)


Devilmarkus

Use 576k instead.
You need 64k base + 512k expansion
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Bryce

My self built RAM expansions are still in the experimental stage, but I have 2x DKTronics 256K connected to my 6128.

Bryce.

Sykobee (Briggsy)

Quote from: Devilmarkus on 01:51, 21 January 13
Use 576k instead.
You need 64k base + 512k expansion


I think the issue is that he only has a 512KB RAM chip on his FPGA board, so it's 64K + 448K at most.


However, logically that is just 64KB (built-in) + 256KB + 64KB + 64KB + 64KB, and I think you could do that with the DkTronics RAM expansions.


Or you could have it as 64KB + 256KB + 192KB Silicon Disk.

Bryce

Quote from: Briggsy on 12:20, 21 January 13

I think the issue is that he only has a 512KB RAM chip on his FPGA board, so it's 64K + 448K at most.


However, logically that is just 64KB (built-in) + 256KB + 64KB + 64KB + 64KB, and I think you could do that with the DkTronics RAM expansions.


Or you could have it as 64KB + 256KB + 192KB Silicon Disk.

Technically you can add 256K + 64K + 64KB + 64KB, but you'd need to modify the DK expansions to do this, because they all try to map to the same page. The same with having 2x 256K DKs, the second one has been modified to be what DK called a silicon disk. The DK silicon disk was 256K, was there a 192K silcon disk made by anyone?

Bryce.

ralferoo

Quote from: Briggsy on 12:20, 21 January 13
I think the issue is that he only has a 512KB RAM chip on his FPGA board, so it's 64K + 448K at most.
Yeah, exactly this. I don't even have any programs myself that require more than 128KB, so if this amount of RAM isn't compatible with things I'll have to be drop the number rather than increasing it!

Quote from: Briggsy
However, logically that is just 64KB (built-in) + 256KB + 64KB + 64KB + 64KB, and I think you could do that with the DkTronics RAM expansions.
I'm sure it'd be possible (although I guess you'd have to open up and modify links to get each expansion appearing at the right place). It's more of whether anyone has done this before and come across programs that crash in this kind of configuration. I can quite imagine software probing that there are banks beyond 64KB+256KB+64KB and assuming it must have a 512KB expansion.

Quote from: Briggsy
Or you could have it as 64KB + 256KB + 192KB Silicon Disk.
I thought all the difference was software for the silicon disk and the hardware was actually the same. I've never owned anything beyond a stock 464 or 6128 though, so this is all from what I've garnered on the web rather than actual fact.

Bryce

Yes, the only real difference is the software. The DK 256K RAM was mapped to pages 0 to 3, the silicon disk was mapped to pages 4 to 7, but you could just use it as RAM instead. The different mapping is also just a jumper on the PCB, so you can easily change a 256K DK RAM from 0-3 to 4-7. Changing the 64K version to be anything other than page 0 or page 4 would be more difficult, you'd have to add some extra logic.

Bryce.

Devilmarkus

If you are using 64k + 448k it's logically that the last banks repeat.
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

TFM

Quote from: ralferoo on 01:10, 21 January 13
So, I've just added RAM banking to my emulator. I'm using a 512KB chip, so I've effectively got the 64KB internal RAM and a 448KB expansion RAM with 7 banks of 64KB. If the last bank is selected, it reverts to internal RAM.

It seems to work as I'd expect with my test program (winCPC gives the same results except on the last 2 lines) and gerald's memory test seems to succeed too. The question is whether this set up is likely to break any programs and whether it's be better to limit myself to 64KB internal and 256KB+64KB external? Has anyone else made weird and wonderful sized expansion boards? (I'm looking at Bryce mostly... ;)

Well, let me talk about software. Usually software using more the 128 KB is checking RAM carefully, so a 448 KB RAM expansion should be running nicely.

There are two programs I made which can help you to see, if your RAM is connected and working right.

1. This for BASIC:
http://www.cpcwiki.eu/imgs/4/44/4_MB_E-RAM_Test.zip

2. A bit more 'easy to see' soluton for FutureOS
http://www.colorado-boys-muenchen.de/users/futureos/files/FutureOS_Utilities.zip
(Start program 'OS-Infos' and use opton 1)

In this case it shall look like this picture here...
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

ralferoo

Cool, I'll give those 2 programs a try when I have my disk emulation working... particularly when my floppy emulation is working it'd be good to give FutureOS a go anyway as I've wanted to try it for ages! :)

TFM

Gryzzzzoooooorrrr!

I still miss the like button... just to mention it ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod