Wanted - working Memory Expansion for CPC 464

Started by LambdaMikel, 21:17, 30 September 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Rhino

Quote from: LambdaMikel on 21:48, 07 October 18
So here is the situation mentioned earlier, that Batman (or 4 MB Piotr) needs a reset sometimes.
Works then. And even goes through truecolor currently.
The "wrong disk" message is not related to a memory issue but to a drive/disk problem, for example, if you try the 3.5" dsk on a single sided drive.

LambdaMikel

@revaldinho  the mem expansion has arrived!! It looks *great*!
Will start checking it out soon. 


Cheers
Michael

LambdaMikel

Some good and some bad news so far - Batman demo successfully passed the TrueColor test on 464 #1.
Unfortunately, it crashed later. Will take a picture and run again.
@revaldinho  I haven't studied and changed the jumper settings yet, this is only a first run. Late now, but will do more runs tomorrow.

LambdaMikel

@revaldinho  congratulations, your mem expansion ran through the finish line!  8) More tests tomorrow.



LambdaMikel

The contestants - CPC 1 - CPC 4. 
They are all CRTC 0 (3 Hitachi and 1 UM).
CPC 3 is 40007, the others are 40010s.



LambdaMikel

FutureOS works (no Cursor corruption), but I cannot see the contents of the drive - DDI3 "A / DIR" just seems to hang.


GUNHED

Again congratulations to this fine piece of hardware.  :)

[ot]Can somebody please verify / check the functionality of the DDI3 under FutureOS? Well I don't want to derail this thread, you could answer in the 'FutureOS corner' thread if you like. [/ot]
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

revaldinho

#82
Quote from: GUNHED on 18:38, 26 October 18

[ot]Can somebody please verify / check the functionality of the DDI3 under FutureOS? Well I don't want to derail this thread, you could answer in the 'FutureOS corner' thread if you like. [/ot]


It is great to see the C3 mode working on @LambdaMikel 's machines too. We have a fair few combinations of motherboards/gate array types/CRTC type between us and generally things are looking good so far ... (hopefully not famous last words).  :D


On the Future OS/DDI-3 issue, we've run a couple of different combinations each now and this is what we see:




Machine      Lower ROM   RAM Card    Future OS Result
CPC 464-LM   464 F/ware  Zaxon 4MB   ROM2-5    DDI-3 hang
CPC 464-RE   FOS low ROM Revaldinho  ROM10-13  DDI-3 hang
CPC 464-LM   464 F/ware  Revaldinho  ROM2-5    DDI-3 hang
CPC 464-RE   6128 F/ware Revaldinho  ROM10-13  DDI-3 fully working, also Gotek on drive B (via DDI-3 B connector)



.. so it looks very much as though FutureOS doesn't work with the DDI-3 unless you also do the 6128 lower ROM replacement doesn't it ?


I'm going to ship LambdaMikel one of my SixROM boards after the weekend with the same configuration I have working on mine (6128 lowrom/BASIC replacement + the FOS ROMs in slots 10-13). Hopefully that will be good on his collection too and close this issue off.




R

LambdaMikel

It is a DDI-3 problem - tested it with DDI-1 / DD1 and works prefectly fine!




GUNHED

Quote from: revaldinho on 22:34, 26 October 18
.. so it looks very much as though FutureOS doesn't work with the DDI-3 unless you also do the 6128 lower ROM replacement doesn't it ?


Thanks a lot for testing. The result makes no sense since FutureOS doesn't use the lower ROM or anything else than it's own code. Clearly a DDI3 problem. However, great to see the RAM mode &C3 on different 464's confirmed.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

Right, it is strange. Works fine with DDI-1 and HxC.

LambdaMikel

Gunhead's "Tribute to the sisters" FutureOS Game runs fine on the 464 in C3 mode!
Great game, btw - awesome playability (scrolling!!), music and graphics.  :)

GUNHED

Thank's a lot!  :) :) :)  Still there is this hard-to-find-bug... but that's the fun in coding ;-)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

OK, so I made some stupid mistake when I copied the DSK / HFE file to the DDI-3.
FutureOS is working fine with DDI-3 - it does NOT need the CPC 6128 Firmware / Lower ROMs.  :)

revaldinho


It has been quite a while since I posted about progress on my RAM card, so you would be forgiven if you thought it had disappeared down the back of the sofa with all those other unfinished projects. In fact the opposite is true and I, or more accurately we, have spent quite a lot of time testing and tweaking and testing again over the last couple of months. I didn't want to post an update until we reached the point at which I'd be happy to distribute cards a little more widely. And that's where we are now.


Before the update, I  have to say a big thank you to @LambdaMikel  and @Duke  for their encouragement and active assistance. LM has spent a lot of time and effort on testing a couple of different CPLD versions of this card for me with his extensive collection of Schneider CPC464s. Duke has been very helpful with technical information about the M4 card and even provided a card at short notice for debug when we came across an issue (now resolved) between the RAM and M4 cards. Duke has also done some compatibility testing on late model machines to which LM and I didn't have access. Thank you both very much and indeed thanks also to @Rennert  for some additional test results on his KC Compact system. It has been invaluable having so much additional input and access to a wide range of different CPC computers as test environments.


So let's start off with a brief recap of what the card is for anyone late to the thread.


Card Summary


This is 512KByte memory expansion card which is suitable for all Amstrad CPC computers.


The card has an MX4 type connector, so requires an expansion board such as the Mother X4, Revaldinho backplane, LambdaBoard or just a suitable ribbon cable connection to hook up to the computer.


Adding RAM to a 6128 class machine is pretty unremarkable and in this respect the card behaves very much like any others, including my super cheap Old School DIY card. Adding RAM to the older 464 & 664 computers is much more problematic and many of the RAM card features and most of the design effort has been specific to these machines.


Like other RAM cards, this one provides full DK'Tronics compatibility when used with CPC464/664 computers. This is sufficient to run the vast majority of software requiring additional RAM including CP/M Plus, demos such as Phortem and Batman Forever and many games.


However, this card also provides a unique 'shadow mode' which enables perfect Amstrad CPC6128 video mode C3 operation on CPC464/664 computers. In shadow mode these older machines can now run FutureOS and other software relying on this video mode and which previously would run only on 6128s. This ability is not provided by any other RAM cards at this time.


Shadow mode can also enable a 464/664 to run entirely from the card RAM without using base RAM other than for the video display. This may be useful for reviving or at least diagnosing CPC464s with faulty internal RAM.


The 512KB RAM can be configured to appear at either IO port &7Fxx or &7Exx, allowing two cards to be used together for a full 1MByte expansion. Compatibility with X-MEM/Y-MEM as additional RAM is a possibility here too.


Testing Status


As part of the main test and verification effort  we have tested multiple RAM cards on different combinations of CPC main boards and components including

       
  • 3 CPC 464 main board types on 6 different CPC464 machines
  • 1 CPC 6128 main board type on 2 different CPC6128 machines
  • Type 0,1 and 2 CRTCs
  • Z80 CPUs from Zilog, NEC, SGS-Thomson and Mostek as well as the UA880 CPU used in the KC Compact
  • both 40010 and 40007 gate arrays
Cards have been tested using different expansion boards shared with other peripherals

       
  • Mother X4, Revaldinho Backplane, LambdaBoard expansions cards
  • SixROM, FourROM, X-MEM, ROMBO REDUX ROM boards
  • DDI-3 SD Card and DDI-1 Disk interfaces
  • M4 multi-function card
A standard test suite has been used made up of

       
  • Memory test programs including Duke's 512kb test and Gerald's memory test ROM (for the full shadow mode) and others
  • Application tests: DK'Tronics silicon disk and bank switching software
  • Operating systems: FutureOS and CP/M Plus
  • Demos: Phortem and Batman Forever
  • Games: including Zaptball, Prehistorik II, R-Type, Gryzor, Robocop and others
All tests have been run either using power from the CPC +5V edge connector pin or a 4.5V bench supply.


Selected tests have been swept across voltage from 4.35V to 5.5V.


A Google Sheet of test results for different firmware versions can be viewed here:


https://docs.google.com/spreadsheets/d/19l64P-N8vimZZS3KhymiAu7SFn6GN82VnODVBNmlvfc/edit?usp=sharing


Some additional basic compatibility testing has also been done with the following machines

       
  • CPC464 costdown version [ASIC]
  • CPC464 Plus
  • CPC6128 Plus
  • CPC664
  • KC Compact
Compatibility


The following table sets out the basic  RAM card configurations required and compatibility achieved with different CPC motherboards.



                Standard Setting        Overdrive Setting    Overdrive/Shadow Setting
                Exp. C3 Mode Exp. C3 Mode      Exp.    C3 Mode
CPC464         NA NA         512K DK'T      448K    Amstrad
CPC664         NA NA         512K DK'T      448K    Amstrad
CPC464 [ASIC] 512K     DK'T         NA NA      NA      NA
CPC464 Plus 512K DK'T/Amstrad NA NA      NA      NA
CPC6128 Plus 512K Amstrad NA NA      NA      NA

KC Compact      512K     DK'T           NA      NA           NA      NA



RAM expansion modes C0-C2 and C4-C7 work identically across all supported machines. Only the special C3 mode (requiring remapping of base memory) behaviour differs from one model to another.


On all machines the card will provide a 512KB expansion with either DK'Tronics or Amstrad C3 mode operation.


Perfect Amstrad C3 mode operation is available on all machines other than the very late CPC464 costdown revision (ASIC in place of earlier gate arrays) and the KC Compact. These machines will still get a 512KByte expansion but are limited to the DK'Tronics type C3 mode. 


By default a CPC464 Plus will also get a DK'Tronics C3 mode unless a resistor is added to the motherboard. The CPC464 Plus and CPC6128Plus motherboards are identical and this resistor is a factory option component which distinguishes between the two. It is included in the CPC6128 Plus but omitted from the CPC464 Plus builds and is needed to configure the ASIC for the additional RAM banks and enable the C3 mode RAM remapping. 

When using the CPC464/664 in shadow mode the effective capacity of the card is reduced by 64K to accommodate shadowing of base memory.


Documentation


More documentation including DIP switch settings and technical information is available in the release notes for the current CPLD Build:


https://github.com/revaldinho/cpc_ram_expansion/blob/master/cpc_ram_expansion/releases/rc-5-elephant/CPC_Universal_512K_Ram_Expansion_RC-5-Elephant_Release_Notes.pdf


Licensing and Source Code


As usual all source code for the project, including CPLD Verilog code, makefiles and PCB layout files, is available on GitHub under the GPL3 license.


Early Release Cards


Although testing to date has been pretty thorough, it hasn't been possible to test every single combination of core components (CPU/GA/CRTC) on every CPC main board type.  So before declaring the cards finished, I would like to make a small number of cards available for other users to try.


I have enough components to assemble around a dozen cards initially. If you're interested in getting hold of one of these early release cards then please send me a PM including your email address and postal address if you are placing a firm order.


Costs for this first batch of cards will be as follows.



                Standard   Tracked &
                Economy    Signed For
UK         £26.00    £31.00
Europe         £27.00    £32.00
Worldwide £28.00    £33.00



A  certificate of posting will be obtained for all packages, but I recommend the tracked and signed for option to minimize the chances of anything going astray.


Payment will be via PayPal, for which I'll email out invoices prior to assembly of your card.


The board is compatible with Mother X4 and other expansion systems,  but if you don't already have something suitable then I can supply limited numbers of my own expansion backplane and ribbon cables connectors too. Let me know with your PM.


Rev.

LambdaMikel

Fantastic!! A dream come true!!  :D 
Happy I could contribute to the testing effort.
Really great work!!!  :)

GUNHED

Quote from: revaldinho on 00:57, 05 December 18
However, this card also provides a unique 'shadow mode' which enables perfect Amstrad CPC6128 video mode C3 operation on CPC464/664 computers. In shadow mode these older machines can now run FutureOS and other software relying on this video mode and which previously would run only on 6128s. This ability is not provided by any other RAM cards at this time.


Thank you for this super awesome X-Mas present!  :) :) :) :) :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

... now everybody is going to buy CPC 464's again  :D

260Z


TotO

First time I see this topic... And I think about two issues:
1- clean your expansions ports and use short ribbon cables (80%)
2- replace the SGS Z80 with Zilog version Z0840004PSC (20%)

Originally, the CPC 464 was not designed to receive memory expansions (only Floppy drive and AMSDOS ROM)
The DK'Tronics use strong transistors to force the Z80 signals (MREQ and A15 lines) to support RAM and C3 mode.
The X-MEM do not use any transistor and only catch the good timing, when the "CPC" switch is set on "464" to not damage the CPU.

Tests was done on all different kind of 464/664 with all memory mode, demo, games and utilities using C1, C2, C3 and properly work.
Used by hundred 464 owners. Except (pre-ASIC) that have a real incompatibility with "modern" expansions. (may be with DK too?)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

LambdaMikel

#95
@TotO besides some of the problems I had with the other mem expansions, another major additional point of the thread was / is what @revaldinho 's RAM expansion offers. Required if you want to get the cursor for FutureOS on the 464 (no other mem expansion will do, @revaldinho 's expansion is the only one AFAIK):
Quote
Like other RAM cards, it provides full DK'Tronics compatibility when used with the CPC464 and
CPC664. This is sufficient to run the vast majority of software requiring additional RAM including
CP/M Plus, demos such as Phortem and Batman Forever and many games.The card also provides a unique 'shadow mode' which enables perfect Amstrad CPC6128 videomode C3 operation on CPC464/664 computers[2]. In shadow mode these older machines can
now run FutureOS and other software relying on this video mode and which previously would run
only on CPC6128s and later machines. Shadow mode can also enable a 464 to run entirely from
the card RAM without using base RAM other than for the video display. This may be useful for
reviving or at least diagnosing CPC464s with faulty internal RAM.
@toto wrote:

Quote
Tests was done on all different kind of 464/664 with all memory mode, demo, games and utilities using C1, C2, C3 and properly work.
Used by hundred 464 owners. Except (pre-ASIC) that have a real incompatibility with "modern" expansions. (may be with DK too?)
See, that is always a bit of a difficult argument I think. There are also hundereds of happy customers (and positive reviews) of certain CPC products on SellMyRetro for the CPC, yet not one of these 100 and more happy users every noticed that - for example - their 2nd disk drive doesn't work at all with that controller, etc. So...

For sure, some of my CPCs also had issues (a dirty expansion port was never one of these, though - bad contact with connector for sure caused problems!). Also, swapping Z80 CPU sometimes helped.

However, most of the mem expansions work 90 % of the time. The remaining 10 % are difficult to diagnose sometimes. @revaldinho  put it nicely once, when we had a hard time understanding what was going on with the testing - he said something along the lines l ike "These old computer have so many variables that it is hard to control them all" (don't remember it literally, but it made great sense to me).

Things that work on one machine might fail on another. But in 90 % of the time, it'll work. This thread is / was more about the remaining 10 %  ;)
For sure, the problems that I had in this thread with the expansions were real and not easy to overcome (and some still aren't), so it isn't just a matter of a dirty expansion port or bad cable...


TotO

My two answers are points not discuted since the begin on your topic and the result of 5 years of exchange with X-MEM customers.
Do and understand what you want... When you said to have problems with 4 of your 5 CPC 464, I'm just thinking about that. ;) 

So, if you think that your CPC expansion slot is shiny, may be a good start is to provide your mainboard revisions and CPU model.
By the way, DK'Tronics is a hack as all the RAM expansions for CPC and the only good way to handle RAM is to cut wires and add a PAL.
And the best is to sell them and use CPC 6128 computers for extended systems!  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

LambdaMikel

#97
Quote from: TotO on 13:48, 28 May 19
My two answers are points not discuted since the begin on your topic and the result of 5 years of exchange with X-MEM customers.
Do and understand what you want... When you said to have problems with 4 of your 5 CPC 464, I'm just thinking about that. ;) 

Well, do and think what you want  - when you say" clean your exapnsion port and check the cable" , I am just thinking about that  -not every 464 user is a morron ;D Maybe it happens when the wind is blowing from the east or the humidity is high?? 

GUNHED

Quote from: LambdaMikel on 06:45, 28 May 19
... another major additional point of the thread was / is what @revaldinho 's RAM expansion offers. Required if you want to get the cursor for FutureOS on the 464 (no other mem expansion will do, @revaldinho 's expansion is the only one AFAIK)...
IMHO that's the major point too!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

TotO

Quote from: LambdaMikel on 17:06, 28 May 19
when you say" clean your exapnsion port and check the cable" , I am just thinking about that  -not every 464 user is a morron ;D Maybe it happens when the wind is blowing from the east or the humidity is high??
:picard2:
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Powered by SMFPacks Menu Editor Mod