News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_IngoQ

CPC664 - possible upgrades

Started by IngoQ, 16:22, 21 February 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

IngoQ

Hiya :)
Since yesterday I am a proud owner of a CPC664. It is and is going to remain my only CPC, mainly due to space constraints (there are some other machines here as well ;) ).
Once the usual work is done (PSU, drive belt, keyboard mat, recapping), I'd like to upgrade the 664 for it being capable of running almost everything (including demos) in a comfortable way. I did some research already, the biggest issue seems to be the RAM expansion. And here is my first question: What are my current options to expand the apparently insufficient 64k in the most compatible way?

In other systems I know of quite simple ways of expanding the memory i.e. to 128k, sometimes only by adding RAM and some wires. But I already learned that this is not the case here, if I understood correctly. Biggest issue seems to be the video access.
In addition to that I am looking for a nice option for data exchange and mass storage. I stumbled upon the M4-Board and I am impressed. I often heard the combination with ZMEM mentioned, but I am not clea, how compatible this would be software wise? Would I be able to run CPC6128 software, for example?
Overall I would prefer an internal solution, I am not a huge fan of exposed PCBs. M4  + ZMEM + Mother X4 sounds intriguing, but did anyone manage to fit something like this in the case? Or is there anyone who designed an external case for it, maybe 3D-printed?
Regarding my capabilities, I would be comfortable with somewhat more demanding solder jobs, so I am not afraid of more complex ideas. I am not capable of designing my own circuits and boards though, but I could send a readily available layout to a manufacturer and finish it by myself :)

Lots of questions, and thanks in advance for your replies :)
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

LambdaMikel

#1
With the 664, I'd probably suggest to install a Gotek (FlashFloppy) either as primary or secondary drive, with ABBA switch. IMHO this is the best modern DSK solution. M4 or XMem are great for memory expansion and ROMs and extra goodies (Wifi and such - but I consider these features less important than DSK image support). Gotek or HxC are still the best solutions in terms of DSK compatibility. And in your case, you already have the disk controller built in, which is the biggest obstacle towards connecting the Gotek.

Not sure if anybody has used a Gotek with a 664? I haven't. Installing XMem or M4 internally should be possible - as long as you still have access to the SD card on M4 and such. Would be curious to learn if anybody has done that. Pictures please!  :)

LambdaMikel

At the same token, I would be hesitant to solder in an M4 or X-Mem with ribbon cables and such, not a clean solution.

Rather, a little "CPU to 50 pin IDC socket" connector should be created such that one can plug in the M4 or X-Mem cleanly internally (not standing, lying horizontally of course).

Similar "CPU plug in" mechanisms existed for other 664 mem expansions, i.e., DKtronics and the "DMV" mem expansion which happens to be in my 664.

IngoQ

Quote from: LambdaMikel on 16:47, 21 February 19
With the 664, I'd probably suggest to install a Gotek (FlashFloppy) either as primary or secondary drive, with ABBA switch. IMHO this is the best modern DSK solution.
Yes, you're probably right. Although I did not know that the Flashfloppy firmware actually supports DSK. I have a HxC in my ST and this one only knows its own format. But I have to admit, not needing to plug flash media (be it a stick or a SD) has its charm ;)

Quote from: LambdaMikel on 16:47, 21 February 19M4 or XMem are great for memory expansion and ROMs and extra goodies.
Can you say anything about the compatibility? Would for example the R-Type remake R-Type 128 run on an expanded CPC664 or is the CPC6128s memory still different?

Quote from: LambdaMikel on 16:47, 21 February 19Pictures please!  :)
Will do if I go that route :)
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

LambdaMikel

I might volunteer to create a CPU socket to MX4  plug in connector if enough people are interested and such a solution does not already exists.

GUNHED

About the RAM expansion you should be careful to get one which really can do RAM mode &C3. That's either Revaldhinos or get the new Symbiface 3 (which will come out probably during this year).  :)




And ... Welcome!

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

IngoQ

Quote from: GUNHED on 19:11, 21 February 19
About the RAM expansion you should be careful to get one which really can do RAM mode &C3. That's either Revaldhinos or get the new Symbiface 3 (which will come out probably during this year).  :)

Thanks for that. I had a look at Revaldhinos project, and found the following:

QuoteIt's not possible to work around the remapping of internal CPC RAM from block 2 to block 4 (video memory) without some motherboard modifications or backdriving signals against the Z80 CPU.

That's what my earlier questions have been about. If I understand that correctly, it means that no external RAM upgrade could achieve full compatibility with a CPC6128. Is that correct? And if so, how big of an issue is that in real life? And are there RAM expansions that have the necessary backdriving of signals for example?


Quote from: GUNHED on 19:11, 21 February 19
And ... Welcome!

Thanks :)
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

TotO

You can externaly plug an original DK'Tronics 64K expansion to increase your 664 "like" a 6128 and run R-TYPE 128K of others 6128 games.
Using the X-MEM, all the memory modes are handled too and you can install the Firmware 3.x in ROM at boot to be really 6128 compatible.
I think that all depend of your usages... The Gotek or HxC floppy emulator can be externaly plugged to not remove the internal 3" drive!
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

revaldinho


Quote
Thanks for that. I had a look at Revaldhinos project, and found the following:

Quote


It's not possible to work around the remapping of internal CPC RAM from block 2 to block 4 (video memory) without some motherboard modifications or backdriving signals against the Z80 CPU.


Looks like my GitHub Wiki is a little out of date as it doesn't include a description of my revised card at all. There's a summary of it here on CPCWIKI though:


http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/wanted-working-memory-expansion-for-cpc-464/msg167952/#msg167952


In short, all the RAM cards which have a 464 mode (including X-MEM, Zaxxon, DK'Tronics)  backdrive one or two of the CPU signals in order to write-protect internal (CPC) memory when accessing an expansion and to remap internal memory for writes to the video area in the 'C3' mode. As the DK'tronics manual itself says, this is sufficient for a 464 to run almost all 6128 software, but it's not a perfect emulation. Read from the remapped memory area in 'C3' mode can get corrupted as the overdriven address signal can cause ROM data rather than RAM data to be fetched.


My new RAM card does manage the perfect emulation by spending an entire 64K of the expansion RAM on the task. That wouldn't have been a practical solution in 1985 but given that you can get a 512KByte SRAM today for about 3 or 4 UKP, it seems a reasonable thing to do now.


Not very much software needs the perfect 'C3' mode, but if you want to run FutureOS on your 464/664 then currently this is your only option, although as Gunhed says the plan is to implement the same system in the forthcoming SymbiFaceIII card.


I'll update my GitHub wiki soon - all my projects have been a bit neglected so far this year.

GUNHED

The CPC6128's CP/M Plus does need RAM mode &C3 too. However there are some patched versions too.


If I would have seen Revaldhinos RAM expansion in time I probably would still have my 464 and 664.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

IngoQ

Good morning  ;D

Thanks for all your feedback!

So to kinda sum it up:

If I want maximum compatibility regarding the memory expansion, the next best thing after a 6128 ist Revaldinhos new memory expansion "elephant". As I understand it is external, and comes with a MX4 plug.

So the minimalist configuration would be this one with an adapter to plug directly in the expansion port and a Gotek with FlashFloppy-Firmware. This would give me RAM and disk image handling, but nothing more.

If I want more, like ROM handling, I will need a backplane (Mother X4 or AMSDAP) and the M4 board.

OR I wait, and get the SymbiFaceIII card, which is supposed to do everything of the above.

Having all this internal will require additional tinkering, but could be possible.

Did I get everything right, so far?
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

TotO

Quote from: GUNHED on 00:47, 22 February 19
The CPC6128's CP/M Plus does need RAM mode &C3
Pac-Man Emulator too.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

GUNHED

Sorry, for CP/M Plus it was &C1 IIRC  :-X
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

#13
Quote from: IngoQ on 08:24, 22 February 19

If I want more, like ROM handling, I will need a backplane (Mother X4 or AMSDAP) and the M4 board.

Or LambdaBoard, if you want to keep the expansion board edge connector as a pass through on the end of the backplane  ;)

https://oshpark.com/shared_projects/fCGxBoNY
Some people here think that's completely irrelevant (well, if you don't have any classic CPC expansion and all your stuff is MX4 format, then it is, but people like me have a lot of classical edge-connector based CPC hardware)

Needless to say, non of these fit into the 664 case, that's all external.

This LambdaBoard is cheaper :

https://www.seeedstudio.com/LambdaBoard-Expansion-Board-Backplane-for-Amstrad-CPC-Computers-g-1143632
(I am not making any money on these links btw)

Cholo

Quote from: IngoQ on 17:31, 21 February 19
...

Can you say anything about the compatibility? Would for example the R-Type remake R-Type 128 run on an expanded CPC664 or is the CPC6128s memory still different?
...

Well, i dont think anyone really knows for sure (compatability) as 664 being the odd machine being sold for a very short time between the 464 & the 6128. I usually suggest new people getting a 6128 & a tape lead as no doubt they will have the highest compatility & only a tiny bit of trouble of some very early 464 game are too large (464 actually has more free base memory then 6128) or has some oldstyle 464 protection like a memory CPC check.


From my own experiences a 464 + 64kb dktronics ram+DDI-1 disc drive is sadly nowhere near compatible a 6128. Played a fair few games that do work on both machines but also had "extra" 64k features like music, speech, loads all levels etc. and it just didnt work for nearly anything. Also non-commercial software like Magazine Type-ins was also a "big issue" back in the day & didnt become compatible. (However that was before i got one of Bryce's Megaflash).


The 664 is different though & at least in my eyes much closer to a 6128 because the roms are (nearly) the same if i recall right so there only real issue is the missing 64kb expansion.
One final thing to consider is that perhaps its not the game itself that incompatible .. but the loading protections perhaps. I now some use system dependant calls/checking registers so a original game may be incompatible where a cracked game may work.

LambdaMikel

#15
Quote from: Cholo on 18:00, 24 February 19
From my own experiences a 464 + 64kb dktronics ram+DDI-1 disc drive is sadly nowhere near compatible a 6128. Played a fair few games that do work on both machines but also had "extra" 64k features like music, speech, loads all levels etc. and it just didnt work for nearly anything. Also non-commercial software like Magazine Type-ins was also a "big issue" back in the day & didnt become compatible. (However that was before i got one of Bryce's Megaflash).
It is good to have one of each machines. The 464 for being the original and "face" of the CPC series (having the best keyboard as well), the 664 for being a valuable collectors items, and the 6128 for the bread and butter machine. If you only want one, then the 664 is a good choice if you are a collector, because it has the highest "value" in the eye of the collector.

IngoQ

Quote from: LambdaMikel on 16:34, 22 February 19
Or LambdaBoard, if you want to keep the expansion board edge connector as a pass through on the end of the backplane  ;)

Interesting, thanks. Since the Gerbers are public it is also a nice basis for a custom version, if I want to go that route :)
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

IngoQ

Quote from: LambdaMikel on 18:26, 24 February 19
It is good to have one of each machines. The 464 for being the original and "face" of the CPC series (having the best keyboard as well), the 664 for being a valuable collectors items, and the 6128 for the bread and butter machine. If you only want one, then the 664 is a good choice if you are a collector, because it has the highest "value" in the eye of the collector.

My initial thought was to get a 6128 of course, but then opportunity came and here I am ;) And now I am trying to make the most of it. If it is not 100% compatible and never will be, than be it so. I just want to make sure, I am not building a dead end by chosing the "wrong" expansions. At the end of the day, everybody has its own ideas and approach, and that is perfectly okay.
--
IngoQ

Retro Collector: Schneider CPC 664, TI 99/4A, C64, Atari 800XL, Atari 130XE, Sinclair ZX Spectrum 128k, Amiga 1200, Atari 1040STE

Powered by SMFPacks Menu Editor Mod