New multi purpose board:512K RAM Expansion/32x Rom board/256K Ram+2X Rom board

Started by ikonsgr, 18:25, 05 September 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ikonsgr

Quote from: GUNHED on 17:08, 22 September 22Well, the way I understand it is this:
To upload a 16 KB data block into an expansion ROM you do actually use expansion RAM, right?
That's done by this code I guess...
ld  e,a ;A (ROM number) shall be %0001 1111 = 0-31
and a,3  ;Mask %0000 0011
ld  d,a  ; D = %0000 00bb
ld  a,e
and a,252 ;Mask for A  %1111 1100
add a,a  ;double a to %??nn n000
add a,196 ;+ &C4    = %1100 0100 becomes %11nn n100
add a,d  ;A has the RAM configuration byte for the requested ROM number = %11nn n1bb
Hope this helps you all.  :)

Exaclty! This is the code that converts the desired rom number (0-31) to the actual number that needs to be called for setting ram mangement using an OUT &7F00,X . This will activate a specific &16kb block of the 512k ram expansnion (which will act as the required rom). It will end up activating a ram configuration mode between 4-7.

leexus

Dear all,

I can confirm that the 512k memory expansion card is working fine with an Amstrad CPC 6128+ (plus) machine in 512kb memory expansion mode.
Tested with many games, ram test and Symbos too.
Also working well together with Gotek floppy emulator.

Photos: https://drive.google.com/drive/folders/10Xig4E2S3kUZsXP9A32RMaIC6IVgGKsI?usp=sharing

Thank you John for the card!

Cheers,
Csaba

andycadley

Quote from: leexus on 09:12, 28 September 22Dear all,

I can confirm that the 512k memory expansion card is working fine with an Amstrad CPC 6128+ (plus) machine in 512kb memory expansion mode.
Tested with many games, ram test and Symbos too.
Also working well together with Gotek floppy emulator.

Photos: https://drive.google.com/drive/folders/10Xig4E2S3kUZsXP9A32RMaIC6IVgGKsI?usp=sharing

Thank you John for the card!

Cheers,
Csaba
Where RAM expansions typically cause problems on the 464+/6128+ is when the ASIC is paged in and extra memory is currently paged in the the &4000 - &7FFF range.

Unless it has been specifically designed to recognise the ASIC lock/unlock sequence and paging, writes to the ASIC will typically also write through to expansion RAM, corrupting the contents.

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)

shacpc

I have tried the latest version of SymbOS (for storage devices) from USB and I get a black screen after the presentation appears. Is there any way to run it in USIfAC II uncompressed on USB without having to do it from ROM?

eto

Quote from: andycadley on 13:16, 28 September 22Where RAM expansions typically cause problems on the 464+/6128+ is when the ASIC is paged in and extra memory is currently paged in the the &4000 - &7FFF range.

Unless it has been specifically designed to recognise the ASIC lock/unlock sequence and paging, writes to the ASIC will typically also write through to expansion RAM, corrupting the contents.

Ouch... 

Is it in "real life" a real issue? Or do developers just need to be aware of it?

Programs that don't unlock the ASIC and don't use the paged memory are not affected, right?
And programs that do use it and also use a RAM extension can prevent paging in memory and the ASIC at the same time. Or at least not write/read to/from that RAM part while the ASIC is paged in.  


andycadley

Quote from: eto on 09:31, 29 September 22
Quote from: andycadley on 13:16, 28 September 22Where RAM expansions typically cause problems on the 464+/6128+ is when the ASIC is paged in and extra memory is currently paged in the the &4000 - &7FFF range.

Unless it has been specifically designed to recognise the ASIC lock/unlock sequence and paging, writes to the ASIC will typically also write through to expansion RAM, corrupting the contents.

Ouch...

Is it in "real life" a real issue? Or do developers just need to be aware of it?

Programs that don't unlock the ASIC and don't use the paged memory are not affected, right?
And programs that do use it and also use a RAM extension can prevent paging in memory and the ASIC at the same time. Or at least not write/read to/from that RAM part while the ASIC is paged in. 


Well it only affects 128K programs that write to the ASIC registers, so that's already a pretty minimal subset. Developers could work around it most of the time, if they've planned ahead of time for it (and know it's an issue, because it doesn't happen with a 6128+'s internal RAM or an internal RAM upgrade on a 464+).

As to software out there in the wild, I know my unfinished Jet Set Willy+ will probably suffer from this (and because it mostly executes with one of the more obscure banking configurations isn't easily rectified). I guess it's possible there may be other things (but 128 only Plus software is niche).

Prodatron

Quote from: shacpc on 06:50, 29 September 22I have tried the latest version of SymbOS (for storage devices) from USB and I get a black screen after the presentation appears. Is there any way to run it in USIfAC II uncompressed on USB without having to do it from ROM?
I don't own an USIfAC II now, but I hope to get one, then I can have a look at this issue.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Maniac

Quote from: GUNHED on 14:27, 28 September 22Is there a RAM expansion which does do that at all?
I believe that @TotO was working on an updated version of his X-Mem expansion to make it fully Plus compatible for this reason. Not sure if he's still working on it or not as last time I contacted him about it he was still prototyping.

TotO

Quote from: Maniac on 10:41, 30 September 22I believe that @TotO was working on an updated version of his X-Mem expansion to make it fully Plus compatible for this reason. Not sure if he's still working on it or not as last time I contacted him about it he was still prototyping.
The X-MEM+ (rev 2.0) PCB was designed last year, but not the time to build them as I'm working on ALCON 2020 and the Play2CPC instead. It is not only Plus compatible, but allows to set the ROM/RAM start addresses with dip switches on its back.




"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

shacpc

I have a 464 and connected usifacII + 512K RAM Expansion. My question is simple, I want that when starting the 464 it appears directly in Basic 1.1. ;  pressing the 464/6128 switch on the board I have not been able to get it to happen. I haven't understood the inkonsgr tutorial on the board well and I request a basic tutorial for people like me, step by step, to turn on the 464 and the basic 1.1 appears.

finally, I want to know if anyone knows how to run SYMBOS directly from the USB, without inserting it as a ROM, in short, as if it were a program like any other. if possible, also to explain a little how to do it.

ikonsgr

Finally i receive and test the new boards:

You cannot view this attachment.

The main difference is the much wider traces for Gnd and 5v supply, which hopefully will resolve the issues with previous board, mainly having problems when a M4 board is plugged.
I also use 512KB Ram in smd chip, so board size is quite smaller now (from ~10cm length to ~8,5cm ,width is the same)

Maitresinh

With my poor technical skills, i'm wondering:

"HOW TO" use it with usifacc 2 in order to run Symbos or Future os

Someone could help with a "step by step" ?

GUNHED

About FutureOS: (for questions you can always PM / Email me anyway) Here a generic 'what to do'. First of all you need the space of four 16 KB ROMs. So in this case you need to drive the card as ROM card.
Then you an get the FutureOS installer from www.futureos.de and pick your language version. Well, the installer supports lots of expansions, but this one probably not, because I don't have to data how to write to the ROM now.
Therefore you can use the FutureOS installer to select your desired ROM numbers. Only ROM A must have a number between 1 and 15. The ROMs B, C and D can have any ROM number / ROM select.
Eventually use the 'ROM burn' method for this card to install the OS ROMs.

Please don't hesitate to ask if there are problems.  :) :) :)
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)

ikonsgr

As futureos need 4 roms, you can only use the RAM/ROM board as Rom board without any ram expansion (because dual mode support only 2 roms).
However, ULIfAC board offers in dual mode 256kb ram + 16X Rom board,so you can have futureos roms and 256kb ram expansion ;-)

Maitresinh

Thanks both for your anwser. Both future Os and the expansions are so amazing !

So if in understand : i can't run Future OS decently with this expasion board and my USFIDAC 2, as i need both 4 ROM and (xxk ?) RAM. Right ?

Given the fact i'd want to use if for musical purpose (using AY chip in midi with drum machine an synth)  here it the hardware setting i imagine :


Expansion board 
https://www.seeedstudio.com/Amstrad-CPC-Computer-Expansion-Board-g-1136534

+ this multi purpose board (for RAM)
+ My Usifac 2 (serial port to connect to Arkos 2,usb to load files)
+ Musical extension (planned Speak & sid with midi functions)
+ ROM board (wich one ?)

OR

Expansion board

+ ULIFAC : that could run Future OS)
+ Speaks & Sid

Obviously, that would be easier. But i have to sell both my USIFAC and my mutli prupose board, in order to swap to this configuration.



poulette73

Hello,

Another suggestion for SymbOS (I haven't tested FutureOS with USIfAC II).
We are not obliged to use the version in ROM files.

It's possible to download the full version in AMSDOS files/directories. 
In this case, there's no need to use a romboard. 😉

It's quite simple:

Simply extract all content (directories and files) to the root of the USIfAC II USB key.

And launch SymbOS in direct access mode with the following commands:
|EN
RUN"sym

Loading is almost instantaneous! 😉

Maitresinh

Many Thanks Poulette.  I will try that with the 512K extension (any comand to pass ?)
I suppose the same kind of process would be possible with FutureOS (with the concern that i would have to load the OS each time) ?

GUNHED

Quote from: Maitresinh on 11:27, 29 March 23Thanks both for your anwser. Both FutureOS and the expansions are so amazing !

So if in understand : i can't run FutureOS decently with this expasion board and my USFIDAC 2, as i need both 4 ROM and (xxk ?) RAM. Right ?

On the CPC6128 and 6128plus you have 128 KB of RAM, this is enough for FutureOS. However a bit more RAM is helpful.  :)
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)

ikonsgr

Finally,i had a chance lately to work with a M4 board (board rev 2.5c with latest fw). I don't know why, but this board stubbornly refuses  to function properly with my RAM/ROM board:

You cannot view this attachment.You cannot view this attachment.You cannot view this attachment.You cannot view this attachment.   

 I really can't understand why this happening, M4 uses a couple of I/O ports but they are quite different from the ones used by RAM/ROM board. Also, i've tried the M4 on a bare ram/rom board (only with power supply jumper) and it worked fine, so signal traces of the board are not causing the problem, only when PIC and SRAM join in, M4 starts to malfunction...
Anyway, i played with the board for a few hours, tried a lot of games and various functions of the M4 board.
What i really enjoyed was the INCREDIBLE loading speeds, the ability to load cpr files (i tried 5-6 cpr, not all load succesfuly) and the hack menu where you can "grab" a snapshot!  :)
 What i didn't know though, was that the dsk image access on M4, is done by  extracting the files from dsk image into it's own ram, and loads from there, there is no actual 765 FDC emulation or something. So, although the speed is unbelievable (it's what we can call "instant" loading  :) ) there are 2 major drawbacks:
- You can't load any game/program that bypass amsdos and uses direct track/sector loaders (and there are quite a lot, at least ~15% of games i tried, refused to load or pause upon loading process and also all demos too)
- You can't write into a dsk image.
 USIfAC II/ ULIfAC dsk image access on the other hand, is done by low level FDC emulation, which is quite slower (usually ~10%-20% faster than a real gotek/floppy drive), but you can load almost everything, and you can also write into the dsk image.
 Another thing i found out is that M4 board, is a bit delicate, because of the smd parts it uses, you must handle it with great care. As i never had such issues with USIfAC II (buttons, switches and all parts i'm using are not smd, so they are bigger and more robust, especially in "rough" treatment), it seems i was a bit careless and i've already got off the smd pause button (which i resolder it), and almost peel off the sd card case once(which stands out from the rest of the board)!  :D
 Also the use of 50pin edge connector directly soldered onto M4 board (instead of having a short ribbon cable attached to the board) is not something i liked. As you frequently need to press buttons on the board, all the push force is transferred directly to the edge connector attached to amstrad, not a good thing,in the long run. Especially with CPC464, which has the edge connector rather high and in a slight angle, every time i wanted to press a button, i grab the board with my other hand, otherwise board moved slightly up-down.
 Finally, the edge connector plugged REALLY tight on CPC expansion port! Of course this could be a good thing (to avoid loose connections) but it was the first time in my life, i had to grab the board from both sides and apply quite a strong force in order to remove it!

 So, to sum up my experience with M4 board in 2 words:
- pros: Incredible speed, loads cpr and roms, save snapshots
- cons: No 765 FDC emulation & no dsk image write ability, rather delicate board-need to handle with care.

Again, Respect to master duke, for his lightning speed M4 board (and a bit sad that it doesn't like my ram/rom board)!  :)

GUNHED

Can you switch all ROMs off on ULIfAC (so everything is RAM). Then it should not interfere with M4 card.  :)

Personally i like the direct connector of the M4, this way if fits into the Mother X4.  :)
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)

ikonsgr

Quote from: GUNHED on 15:11, 06 April 23Can you switch all ROMs off on ULIfAC (so everything is RAM). Then it should not interfere with M4 card.  :)
This is not about ULIfAC,but M4 connected on the RAM/ROM board. USIfAC/ULIfAC and M4 can't work together anyway.

Quote from: GUNHED on 15:11, 06 April 23Personally i like the direct connector of the M4, this way if fits into the Mother X4.
Indeed and plugging m4 at the end of the MX4 edge connector, you have a nice reto-train ~a meter long   :)
It would be much nicer to have a 50pin connector and plug vertically in one of MX4 idc connectors. Btw, i think there are versions of M4 with pin connectors too..  ::)

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)

Zeit

Hi! Awesome board, @ikonsgr did it again!
A few questions, btw :

1 - Will this board allow me to run a 512K ROM game, like a .CPR file (Example :  Alcon 2020 - https://abalore.com/alcon2020.html)?

2 - Can the board be used as a single ROM board to run a Diagnostic ROM on power on, or it needs the machine to be fully operational?

Thanks in advance!

ikonsgr

Quote from: Zeit on 17:44, 02 May 23Α few questions, btw :
1 - Will this board allow me to run a 512K ROM game, like a .CPR file (Example :  Alcon 2020 - https://abalore.com/alcon2020.html)?
Unfortunately, for some unknown reason cpr games doesn't seem to work (btw, i've tried Alcon cpr on M4 board and it didn't load correctly either).

Quote from: Zeit on 17:44, 02 May 232 - Can the board be used as a single ROM board to run a Diagnostic ROM on power on, or it needs the machine to be fully operational?

You can't use the rom board mode to "cold boot" from a diagnostic rom (or any rom, other than the onboard amstrad rom), because there is no way to "preload" the lower rom to sram memory before booting amstrad! :) But what you might can do is to use the external power connector of the ram/rom board, boot amstrad once, load a rom, then  power off amstrad, and since ram/rom board uses the external power, you might be able to "cold boot" amstrad using the rom previously loaded  ;)
But for non bootable amstrad, i'm afraid this can only be done, using a rom board with real rom chips, that can act as boot lower rom too. 

Powered by SMFPacks Menu Editor Mod