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

I'm currently working on an internal 512k expansion for the 6128 which can be plugged into the Z80 socket - no soldering required.

Today I got it finally working and it looks quite promising.

Not sure if that is of interest to anyone, but I will probably provide all information again on the Wiki for a DIY project. No special skills required, all will be normal through-hole components. However 2 GALs need to be programmed.

Next steps: 
  • try everything out
  • make smaller PCB
  • maybe modify expansion for 464/664 with C3 support


d_kef

Oh yes!
I'd certainly be interested in a DIY memory expansion.
Now where have I put those GALs? ;D

d_kef

eto

@Prodatron Maybe you can help: I made several tests with the RAM (using all RAM tests I can find and writing my own tools) and to me it seems all modes are properly working.  However SymbOS stops loading after the logo. Could you maybe share any details which RAM mode  SymbOS is using?

Devlin

That looks great, but could I recommend that some holes be factored into the board for plastic/rubber studs to prevent it from potentially sagging and coming loose and/or shorting parts under it? I'm certainly curious about getting one if it'll play nice with SymbOS in the final? design.
CPC464 & CPC6128 + USIfAC II + Revaldinho 512k(universal cpld ver) - Schneider CRT TV
Administrator of Amstrad Discord : https://discord.gg/ksWvApv

McArti0

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: Devlin on 23:58, 09 September 24That looks great, but could I recommend that some holes be factored into the board for plastic/rubber studs to prevent it from potentially sagging and coming loose and/or shorting parts under it? I'm certainly curious about getting one if it'll play nice with SymbOS in the final? design.
Sure, good idea. I will do that.

The board in the picture is only a prototype version with lots of space for me to correct mistakes that I usually do while designing it ;-) . As you can see on the picture I had to add some wires as I mixed up some lanes and needed more signals than expected.

The final version will be less than half the size, thus much less prone to sagging. But there should be still some space for holes.

Anyway, once it eliably works incl. SymbOS I will make everything public so you can design your own PCB if you want. Even make it all SMD which probably could shrink things down to the size of the free area around the CPU.

eto

Quote from: McArti0 on 06:57, 10 September 24Can't you fit in one atf750?
I probably could. What programmer/software would support that IC? I didn't really find an answer.


McArti0

#7
https://www.microchip.com/en-us/products/fpgas-and-plds/spld-cplds/pld-design-resources

WinCUPL. I'm getting ready for them only.

For now I'm doing exp ram 512 on SLG46533v-DIP 20. 

I absolutely only want to have one companion chip.
I'm soldering all these wires and crying.
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

And which programmer? The TL866-II doesn't support it.

McArti0

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 08:35, 10 September 24https://forum.microchip.com/s/topic/a5C3l000000Mbh1EAC/t374951

There are big problems. Opinion from 2020. Maybe it's a dead end.
So it's not an option.

Of course there are a myriad of possibilities to do it but I wanted something that is
1) pure vintage
2) cheap
3) DIY friendly

(3) is only partially achieved as you still need a programmer, but as many own one or know someone who owns one, it should be okay.

If I would skip (1) I would probably base it on a RP2350B microcontroller board. 

Prodatron

#11
Quote from: eto on 23:49, 09 September 24@Prodatron Maybe you can help: I made several tests with the RAM (using all RAM tests I can find and writing my own tools) and to me it seems all modes are properly working.  However SymbOS stops loading after the logo. Could you maybe share any details which RAM mode  SymbOS is using?
SymbOS is using #C0, #C1, #C2 and #C4-#C7.
It tries to use #7Exx (second 512K) and #7Fxx (first 512K).

I guess you are testing with the 3.1 release and use the normal disc loader?
Does the loading process continue with the progress bar increasing or does it stop immediately after the logo is displayed?

I wonder if something could go wrong, if it tries to detect ram at #7Exx?
You could try SymbOS 3.0, which is only using the first 512K at #7Fxx:
https://symbos.org/download/20170830-V30/symbos-cpc.zip

Anyway I am very interested in this project, I like it if the memory expansion is inside the machine!

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

McArti0

Quote from: Prodatron on 09:18, 10 September 24SymbOS is using #C0, #C1, #C2 and #C4-#C7.
It tries to use #7Exx (second 512K) and #7Fxx (first 512K).
Is Symbos stable when 64kb banks are out of order? For example, there is only the second 512kb or 64+hole+448+64
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: Prodatron on 09:18, 10 September 24
Quote from: eto on 23:49, 09 September 24@Prodatron Maybe you can help: I made several tests with the RAM (using all RAM tests I can find and writing my own tools) and to me it seems all modes are properly working.  However SymbOS stops loading after the logo. Could you maybe share any details which RAM mode  SymbOS is using?
SymbOS is using #C0, #C1, #C2 and #C4-#C7.
It tries to use #7Exx (second 512K) and #7Fxx (first 512K).

I guess you are testing with the 3.1 release and use the normal disc loader?
Does the loading process continue with the progress bar increasing or does it stop immediately after the logo is displayed?

I wonder if something could go wrong, if it tries to detect ram at #7Exx?
You could try SymbOS 3.0, which is only using the first 512K at #7Fxx:
https://symbos.org/download/20170830-V30/symbos-cpc.zip



I tried with 3.1 and (normal disc loader) and the 4 beta (from homepage and also the McArti version). 

3.1 stopped after the progress bar fully appeared incl. the approx. 2 character wide second line. Compared to the plain 6128 it was the moment before the logo disappears. With the expansion it just stops there. 

I will try the 3.0 this evening and see if that has an impact. 

I could successfully test so far: 
  • R-Type 128K
  • CP/M plus
  • all memory tests I could find (incl. those that test the full 4MB range)

Some demos did not work but I suspect the Gotek to be the problem as I also had issues with a plain 6128. 

McArti0

Try tracing this place on WinAPE.
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

Quote from: McArti0 on 10:13, 10 September 24Is Symbos stable when 64kb banks are out of order? For example, there is only the second 512kb or 64+hole+448+64

It is scanning the banks from back to front. It first writes the numbers to all possible banks in the first 1MB and then reads them back. If banks are mirrored the lower will overwrite the higher values. From my experiences it was always detecting both holes and mirrored ones.
@eto, if you have no idea what's going wrong I will send you the source code of the scan routine (have to extract it and prepare it a little bit probably).

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

eto

When does it scan the available memory? when the progress bar has finished or already before?

Prodatron

#17
Quote from: eto on 11:16, 10 September 24When does it scan the available memory? when the progress bar has finished or already before?
When it is finished.
Ops so it is hanging before... But it doesnt do any Magic before, strange, Just c4-c7

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

McArti0

What is the time between setting register 7F and using the memory. And at what address is the code?
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.

McArti0

@eto try running the code in the extension. Reading the code is the shortest read from memory and takes only 1.5 clocks. Maybe it doesn't work.
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 12:18, 10 September 24eto try running the code in the extension. Reading the code is the shortest read from memory and takes only 1.5 clocks. Maybe it doesn't work.
I did load a small program into Bank 7 and it properly worked. 

Also CP/M plus works fine.

But to be sure I could try with code above 128K.

McArti0

You showed that you are doing 64+512 so I guess that's not it.
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

I grabbed the cpc specific stuff from the memory detection routine and attached it here.

If you assembler and execute it (CALL &8000) on a CPC with 512K expansion (576K in total) you should get the following memory dump starting at #81a5. It shows, that the first 8x64K banks are available, the next 7x64K banks are not free (the SymbOS memory map is using 1bit/256 byte page).

On a real cpc you could write a little basic program to peek the values from &81a5 to &8384 (480 bytes).



You cannot view this attachment.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

eto

Quote from: Prodatron on 13:32, 10 September 24I grabbed the cpc specific stuff from the memory detection routine and attached it here.
that's indeed the routine where it crashes! It sets the screen mode to MODE 1 without clearing the screen and freezes. I'll check what's happing. I probably missed something important.

McArti0

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.

Powered by SMFPacks Menu Editor Mod