News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

X-MEM, a new memory expansion for all CPC.

Started by TotO, 20:41, 26 April 14

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Gryzor


radu14m


CPC_Fan

Quote from: TotO on 00:03, 30 August 14
Hello CPC_Fan,

Originally, the fact is that I don't want to spend my time building cables with rare connectors for many peoples that will not deserve my projects... And going to miss connectors for peoples ordering for MotherX4. (that allow to plug 4 boards with only one cable)
Understand that is why I have made this choice. :)

Now... I'm going to see if I can do that for peoples ordering only 1 board. (next, MotherX4 will be provided w/o if needed)
I will let you know.

Thanks for the reply TotO and for clearing that up for me. I will hopefully be able to order a X-Mem and a MotherX4 soon.

CraigsBar

Quote from: CPC_Fan on 10:09, 30 August 14
Thanks for the reply TotO and for clearing that up for me. I will hopefully be able to order a X-Mem and a MotherX4 soon.
do it, you won't look back
IRC:  #Retro4All on Freenode

TFM

Quote from: Gryzor on 09:36, 30 August 14
Post a screenshot? :)

Ok, I'll do...

First picture if the main menu, which also tells you if the last operation was an success or not.

Second and third screens show the RSX commands of a ROM (in this case X-DDOS), it also shows RSX commands which consist of control codes (AMSDOS and PROTEXT got them too). It also shows the start address of the particular RSX in the ROM.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

DerSchatten

Is it possible, the Demo Batman Forever http://www.pouet.net/prod.php?which=56761 doesnt work with the RAM-Expansion?
I have testet the 1-Disk and 3-Disk Version.
The Loading Screen starts, but when i press any key, he Comes again.

With the dk'tronics 64K MEMORY works fine.

I use a CPC464.

gerald

Quote from: DerSchatten on 21:31, 02 September 14
Is it possible, the Demo Batman Forever http://www.pouet.net/prod.php?which=56761 doesnt work with the RAM-Expansion?
I have testet the 1-Disk and 3-Disk Version.
The Loading Screen starts, but when i press any key, he Comes again.

With the dk'tronics 64K MEMORY works fine.

I use a CPC464.
Is your XMEM configured for the 464 (1st switch on the left) ?

TFM

Maybe BF doesn't use precise addressing, means it accesses &7xrr for RAM select instead of &7Frr.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

DerSchatten

yes, Switch is on 464.

you could change the address on the X-MEM?

or it could have to do with the new 464 board. Without ZILOG Z80?
could someone test this?

TFM

The X-MEM accesses the expansion RAM only via port &7Fxx like it should be.

A plain 6128 does the same but if you use &7Exx instead of &7Fxx instead you also access the expansion RAM. It's like a shadow.

I assume that BF uses that feature, because it can save 1 or 2 ys somewhere. You can ask Rhino, he is in the forum here.

Else I wouldn't see why it shouldn't run (or do you start it with tooo much exp roms active? That is a problem for some apps/games/demos once in a while).
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Ast

More informations :


Quote from: Hicks writes
A little advice for coders. Since the wonderful X-MEM is now a new standard (= almost every active CPC user (except the shameful Eliot) have it connected to his CPC), coders must be careful with their BANK selection. This advice is valid even if you don't need the X-MEM for the final version of your program, and just use it for development.

Until now, on a naked CPC, you can select a BANK with B=[#7F, #7E, #7D, #7C, #7B, #7A, #79, #78] if C=#80 (BIT 7 = 1).
But the X-MEM decode the BIT 0 of the MSB of the BUS adress, so we have now:

- #7F, #7D, #7A, #79 : select X-MEM RAM
- #7E, #7C, #7B, #78 : select CPC RAM

So be careful if, like me, you like to send data on the BUS with OUTI (LD BC,#8080 followed by 8 OUTI), your BANK selection must occur when BIT 0 of B register = 1. I just corrected this bug on my part for the 30 YMD: I selected a BANK with #78, and everything was crashing with an X-MEM connected. I replaced #78 by #79 and everything work fine.

Note that with this decoding technic, we still have access to the 64K extended memory of the CPC, so we have 512+128=640k (and not only 512+64=576k). Maybe this memory supplement will allow to Iron to make an acceptable demo one day, because he can obviously make only beginners demos with 128k (history testified).


Source comes from push'n pop forum.
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

gerald

Quote from: DerSchatten on 19:30, 03 September 14
yes, Switch is on 464.
OK :) , I've done some test on my 464s, and BF would detect that the XMEM is not properly configured (ie says that it need 128k to run).
Batman Forever is working on a 464 with XMEM.

Quote from: DerSchatten on 19:30, 03 September 14
or it could have to do with the new 464 board. Without ZILOG Z80?
Do you mean the pre-asic version of the 464. (Which indeed have a Z80, but no more CRTC CI  ;D )


Ast

Maybe ask Arnoldemu if the test was made on the loader, who knows?
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TotO

Quote from: DerSchatten on 19:30, 03 September 14
yes, Switch is on 464.
you could change the address on the X-MEM? or it could have to do with the new 464 board. Without ZILOG Z80?
could someone test this?
Hello,

Is the FW3.15 properly display the "576K" X-MEM RAM at boot?
Please, can you give me your CPC mainboard model number?

Thank you,

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

DerSchatten

#364
The Bootscreen from the FW3.15-EN says:
RAM:576K | CRTC4 | FW3.15-EN

Board Vers. see Attachment

[attachimg=1]

TotO

#365

OK. So, the pre-ASIC (CRTC4) is the problem. It prevents the X-MEM to force the 464 to work "like" a 6128.
Strangely, that not occur with the PLUS ASIC... Gerald already told me about.
I can send you a dedicated version of the CPLD for trying to fix that.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

DerSchatten


TotO

Send me an email with your real name to contact@centpourcent.net
I will send you the replacement IC to your address.

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

Bryce

Quote from: DerSchatten on 22:12, 03 September 14
The Bootscreen from the FW3.15-EN says:
RAM:576K | CRTC4 | FW3.15-EN

Board Vers. see Attachment

Holy shit, what's with the massive heatsink on the CPU, are you expecting to run it at 20Mhz? :D

Bryce.

TotO


About the FW3.15 RAM displayed, you have updated your post from 4xxK to 576K. It is not always the same???
Please, can you run the EXRAM program provided with the X-MEM floppy/hfe to let me know the real amount detected?
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

gerald

Quote from: TotO on 22:25, 03 September 14
OK. So, the pre-ASIC (CRTC4) is the problem. It prevents the X-MEM to force the 464 to work "like" a 6128.
Strangely, that not occur with the PLUS ASIC... Gerald already told me about.
I can send you a dedicated version of the CPLD for trying to fix that.
As far As I  remember, the pre-asic is not the problem, but the Z80 itself. A Z80 swap could do the trick.
On my CPC, replacing the ST one by a Zilog or SGS solved the problem.

@DerSchatten, what is the Z80 model on your CPC ? Also, do you have an other one and try a swap ?

TotO

#371
Quote from: gerald on 08:50, 04 September 14
As far As I  remember, the pre-asic is not the problem, but the Z80 itself. A Z80 swap could do the trick.
On my CPC, replacing the ST one by a Zilog or SGS solved the problem.
I remember I asked you to do this test. That worked on one of your 464...  So, I have added a warning on the X-MEM page.
I got some zilog Z80 in stock for peoples who have doubt with that.

But... I'm not sure that was on the pre-ASIC model. :D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

arnoldemu

Quote from: gerald on 08:50, 04 September 14
As far As I  remember, the pre-asic is not the problem, but the Z80 itself. A Z80 swap could do the trick.
On my CPC, replacing the ST one by a Zilog or SGS solved the problem.

@DerSchatten, what is the Z80 model on your CPC ? Also, do you have an other one and try a swap ?
@gerald: Why must it be Zilog or SGS Z80? Do these allow the signal to be manipulated by the X-mem so that the expansion works??
Which signal is it manipulating? I am sure it has been mentioned before.. but I just wondered why exactly.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

gerald

Quote from: TotO on 08:58, 04 September 14
I remember I asked you to do this test. That worked on one of your 464...  So, I have added a warning on the X-MEM page.
I got some zilog Z80 in stock for peoples who have doubt with that.

But... I'm not sure that was on the pre-ASIC model. :D
I've got my notes  ;D

That a shame that AMSTRAD fixed the RAMDIS behaviour (so we don't need the force mreqn), but did not fix the C3 mode when in 464 configuration (and we still have to force A15).
But there is a simple solution to this : configure the pre-asic in 6128 mode so the XMEM work like on a 6128.
This need two wire soldering :
- one grounding the pre-asic configuration pin (tricky, 0.5mm pich IC) to switch to 6128 mode
- one preventing the non existing amsdos rom to be mapped in place of the basic one


gerald

Quote from: arnoldemu on 09:05, 04 September 14
@gerald: Why must it be Zilog or SGS Z80? Do these allow the signal to be manipulated by the X-mem so that the expansion works??
Which signal is it manipulating? I am sure it has been mentioned before.. but I just wondered why exactly.
The signals are A15 and MREQn from the Z80.
From the test I made, the original Z80 (ST) in my pre-ASIC cpc had too strong pad which prevented the PLD on the XMEM to force these signals high enough. With Zilog/SGS ones, the forcing was OK.

Powered by SMFPacks Menu Editor Mod