News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_eto

WIP: internal 512K expansion

Started by eto, 16:11, 09 September 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

eto

Quote from: McArti0 on 18:34, 10 September 24D6 & D7 =1  !!!!!
it doubt that it would work at all if I would not properly check for d6&d7=1

eto

finally it works also with SymbOS :-)

and Pinball Dreams runs too.

I had a tiny little bug in the MREQ signal which probably messed up the GateArray logic. Honestly I'm not really sure why it worked most of the time.

@Prodatron thanks a lot for the source code. It gave me a quick way to test if adaptions to the PAL were helpful or not - and that was key to success.

Prodatron

Quote from: eto on 22:45, 15 September 24finally it works also with SymbOS :-)

and Pinball Dreams runs too.

I had a tiny little bug in the MREQ signal which probably messed up the GateArray logic. Honestly I'm not really sure why it worked most of the time.

@Prodatron thanks a lot for the source code. It gave me a quick way to test if adaptions to the PAL were helpful or not - and that was key to success.
Oh great, fantastic news, thanks for your work! As I love internal expansion this sounds really cool to me!

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

McArti0

MREQ was an input but also an output?  ;)
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

eto

Quote from: McArti0 on 23:48, 15 September 24MREQ was an input but also an output?  ;)
MREQ from the CPU no longer goes directly to the board. MREQ from the CPU is an input and there is an output MREQout which goes to the motherboard/Gate Array. I didn't deal correctly with the MREQ signals during WAIT which are probably somehow used by the Gate Array.

abalore

Are those GALs 16V8B ? Probably they can be replaced by a single EPM7032STC44. And also use SMD ICs for much smaller board, although you stated you prefer through-hole.

If you make the project public I will add a public, full SMD, single CPLD version too.

McArti0

Quote from: abalore on 11:10, 16 September 24Probably they can be replaced by a single EPM7032STC44.
What is the minimum setup cost to program the chip?
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

abalore

#32
Quote from: McArti0 on 11:59, 16 September 24
Quote from: abalore on 11:10, 16 September 24Probably they can be replaced by a single EPM7032STC44.
What is the minimum setup cost to program the chip?

A USB Blaster JTAG programmer, around 2 euro on AliExpress. The software is free, Quartus II 13.0sp1.

PD: The software is much better than the nightmare of Wincupl and all other Microchip software.

PD2: Also you can use the EPM3032ATC44 version for 3V3 projects, with 5V compatible inputs and outputs

PD3: It's pin-to-pin compatible and direct replacement for the Microchip ATF1502

00WReX

Quote from: eto on 22:45, 15 September 24finally it works also with SymbOS :-)

and Pinball Dreams runs too.

I had a tiny little bug in the MREQ signal which probably messed up the GateArray logic. Honestly I'm not really sure why it worked most of the time.

@Prodatron thanks a lot for the source code. It gave me a quick way to test if adaptions to the PAL were helpful or not - and that was key to success.
Awesome 👌 
Looking forward to making a few  :)
The CPC in Australia...
Awa - CPCWiki

abalore

Quote from: eto on 22:45, 15 September 24finally it works also with SymbOS :-)

and Pinball Dreams runs too.

I had a tiny little bug in the MREQ signal which probably messed up the GateArray logic. Honestly I'm not really sure why it worked most of the time.

@Prodatron thanks a lot for the source code. It gave me a quick way to test if adaptions to the PAL were helpful or not - and that was key to success.
What makes R-Type 128K and Pinball Dreams special? Do they use more memory to preload stuff if available?

McArti0

#35
one internal PCB
512kB
Cmos Z80
Hardware patch out (c),0
Turbo 16MHz for omit 4clocks limitation per cycle for few opcode. (ADD HL,ss ; PUSH ss e.t.c. [8 clocks per 5 clocks cycle])
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

eto

Quote from: abalore on 11:10, 16 September 24And also use SMD ICs for much smaller board, although you stated you prefer through-hole.
The goal is to make it easy to replicate and as cheap as possible. If you own a soldering iron and an Eprom programmer, you can build this expansion. 

First I wanted to avoid SMD, but at least for the SRAM I have to switch to SMD as otherwise I cannot make the board small enough to fit into the 6128 - at least not if ROM or RAM are socketed - which might be the case if the 6128 was repaired at some point. For the 464/664 version (coming later) full through hole will be good enough. 

For the GALs I will not switch to SMD as it then requires special equipment to program them and the current solution will already fit fine into the 6128.

Quote from: abalore on 11:10, 16 September 24EPM7032STC44
As this will probably be my last project and I don't intend diving into FPGA. The 2 GALs work fine, size is fine - and the GALs will probably stay cheap and easily available for many more years.

QuoteWhat makes R-Type 128K and Pinball Dreams special? Do they use more memory to preload stuff if available?

Nothing special with those games but I could not start Pinball Dreams while I had the bug. Now it works.

McArti0

Do you still have space in IC GAL to add a latch to A8 and make a 128+512kB version? A8 to disable cs and RAMDIS only.
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

GUNHED

Will this kind of RAM expansion work with FutureOS too?
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)

eto

Quote from: McArti0 on 10:45, 17 September 24Do you still have space in IC GAL to add a latch to A8 and make a 128+512kB version? A8 to disable cs and RAMDIS only.
Might be possible but it would need a complete redesign and the benefit is quite small. I'm still waiting for software that only shines with 512K of RAM so I guess it doesn't matter if you have 512K, 576K or 640K. If more RAM is required I would anyway rather add another SRAM. On my PCB there is not enough space but with an FPGA version as Abalore suggested it probably would be easy to use more and/or bigger SRAM ICs.

eto

Quote from: GUNHED on 15:54, 17 September 24Will this kind of RAM expansion work with FutureOS too?
Unless I didn't recognize another bug, it should work. C3 is supported on the 6128. 

I also already sketched the logic for the 464/664 version to support C3 (as usual with shadow RAM), but I haven't made anything else yet. 

eto

PCB has been redesigned to fit into the 6128 with closed case. I'm not sure yet if it's possible use a socketed Z80 or if it's necessary to solder a Z80 directly to the board. I'll do some tests when the boards arrive.

HAL6128

Looks very promising. Nice design.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

GUNHED

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)

eto

#44
Quote from: GUNHED on 15:54, 17 September 24Will this kind of RAM expansion work with FutureOS too?
I used the installer for M4 from your homepage and FutureOs starts both with the 128K standard RAM and if I connect the 512K expansion.

However I have absolutely no clue how to do any further tests. I can't navigate to the M4 directory and otherwise there is not much available. Maybe the installation was not correct but no idea what went wrong as I couldn't find a documentation for the M4 installation and just tried run"disc in the installer directory.

GUNHED

#45
Quote from: eto on 22:23, 17 September 24
Quote from: GUNHED on 15:54, 17 September 24Will this kind of RAM expansion work with FutureOS too?
I used the installer for M4 from your homepage and FutureOs starts both with the 128K standard RAM and if I connect the 512K expansion.

However I have absolutely no clue how to do any further tests. I can't navigate to the M4 directory and otherwise there is not much available. Maybe the installation was not correct but no idea what went wrong as I couldn't find a documentation for the M4 installation and just tried run"disc in the installer directory.

You can klick at the IDE Icon (yes, I need to paint a M4 one ;-)!). Or you can use hotkey 'H'. That's now described in the Quick-Start-Manual (attached  :)).

Looking at your pictures, the installation worked well (because it also shows the IDE icon for mass storage).

To navigate please use the mouse arrow (or hot keys). You can use Cursor keys + Copy. Or a joystick, or a mouse. (Some mice must be configured and activated using 'Konfig-OS').

You can use the tool 'OS-Infos' to display the available RAM up to 4 MB. There are two screens, first for the 512 KB expansion (the second for all 4 MB in one picture).
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)

eto

Quick update: 

The 464/664 versions seems to be working too. I only did a few short tests as it was pretty late already but neither SymbOS nor Amstrad Diagnostics complained about the 464 version. C3 mode works too - but of course shadow mode is still required so 512K of RAM in total and not the 576K from the 6128 version. 


Side question:

Are there any SRAMs with more than 512K that
  • are 5V compatible
  • easy to solder
  • cheap
?

I could find some 1Mbit ICs but they are in TSOP form factor and might not be easy for everyone (incl. me). 

McArti0

If you don't add A8 support you will kill ..128kB VRAM option for crtc forever. And I believe that Prodatron will somehow add a driver for it someday and there will be SymbOS overscan on CPC. ??? :'( :-X :picard: ::)
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

Prodatron

Oh, I totally forgot about your 128K CRTC hack, but I wonder if this will every be a new standard :) Problem with having screen ram in the 2nd 64K bank is, that you can't switch both the screen ram and any other block from the ram expansion into the visible area at the same time. So it would be a very slow driver, and eto don't need to worry about it.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

eto

#49
Quote from: McArti0 on 10:00, 19 September 24If you don't add A8 support you will kill ..128kB VRAM option for crtc forever.
It would be really surprising that of all the RAM expansions out there, who all do not support the 128kB VRAM, all of a sudden mine will kill the 128kB option. Seriously, I doubt that this expansion will be a game changer. Who needs more RAM already has an expansion. Only a few nerds like myself who "dislike" external RAM expansions will prefer this over an external expansion.

But that doesn't mean it won't be possible: the CPC6128 version has plenty of pins available for you to modify the PCB and logic so you can probably easily adapt it to support the 128K VRAM



Powered by SMFPacks Menu Editor Mod