Author Topic: X-MEM, a new memory expansion for all CPC.  (Read 111290 times)

0 Members and 1 Guest are viewing this topic.

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.427
  • Liked: 1004
  • Likes Given: 251
Re: X-MEM, a new memory expansion for all CPC.
« Reply #200 on: 18:59, 22 June 14 »
Will cartridge roms work with this without the presence of an ACID chip?
No. Acid (or emulating PLD) is part of the plus design. It does not work without.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.120
  • Country: br
  • Liked: 1094
  • Likes Given: 1863
Re: X-MEM, a new memory expansion for all CPC.
« Reply #201 on: 20:45, 22 June 14 »
Exactly, as gerald has said, X-MEM is a ROM/RAM board, there is not ACID there, neither a cpu accelerator.

But of course, depending in the use of the CPC+ cartridge special paging modes used by the game, those cart games could be patched to run from a romboard in a CPC+ (with a cartridge with an ACID for booting the machine).

Remember, the CPC+ lets that the first 8 rom pages in the cart can be selected as lower rom and they can be visible in address $0000, $4000 (new) or $8000 (new). And of course in $C000 when they are used as upper roms. You can see here:
 http://www.grimware.org/doku.php/documentations/devices/gatearray#rmr2

Basically you select in the 3 lower bits, which of the 8 first rom pages in the cart is going to be the "new lower rom" and then you select where this lower rom is going to appear in memory ($0000, $4000 and $8000).

I took a look to a few cpc+ cartridge games.

Starting in Robocop 2, we can start for searching all the LD BC,$7FAx and LD BC,$7FBx followed by OUT (C),C (there is more ways, but this is the usual way).

The only LD BC,$7FAx that i found were LD BC,$7FA0 in other words, they are using it only for disabling the ASIC ram. Well that is good news, that means Robocop is not putting the lower rom in $4000, over the asic ram, that is not so stupid because you could make that for try to copy things over asic ram. Ok, time to look the other.

For LD BC,$7FBx, i get exactly:
LD BC,$7FB8
LD BC,$7FB9
LD BC,$7FBC
LD BC,$7FBD
LD BC,$7FBE
LD BC,$7FBF

The possibilities were from $7FB8-$7FBF, everything except $7FBA and $7FBB. This means they are using cart rom pages 0,1,4,5,6 and 7 as lower rom mapped in $0000 while they enabling the ASIC ram.

Why this? Well, you can imagine, for copying things to the ASIC ram (sprites images, coords, colours, etc...). And mainly this code is run from  RAM, that means it could be possible to change those OUTs to $7Fxx for  OUTs to $DF00, and the code for copy from $C000 instead. And that could work except in case of they mapped a upper rom simultaneously in $C000 for copying things, but i doubt it :P

Looking other CPC+ cartridge, Batman (yes that game is similar to the tape version :P )

Number of access to $7FAx, only two and they are to $7FA0 for disabling the ASIC after put the palettes for the loading screen and the game xDDD

Use of $7FBx, 3 times, always to $7FB8 (rom 0 as lower rom and mapped in $0000) and used only for enabling the ASIC RAM for putting the palettes (and one of them is  for putting a black palette XDDD).

Yes, this game could be ported to a rom board with not too much problems.

Looking other games, Pang looks similar to Robocop, but sometimes even shows the lower rom (remember rom page 128 in CPC+ cart) as an upper rom in $C000. For that in the worst case we can duplicate this rom page and patch the code for show this as upper rom X :P Although it looks that use one of the first 8 roms as lower rom in $0000 and simultaneously the "lower rom" (cart page 0) in $C000, that it could be a little awkard for us, because uses the contrary to a rom board, upper roms go in $0000 and lower goes in $C000. It would need more work, but it could be possible :P

Plotting use the normal $DFxx for paging as upper roms, maybe is easy to fix too.

Navy Seals is the more complex, because put the Lower rom over $4000 and then the upper goes in $c000. Maybe the most difficult to patch in a first look.

The list of CPC+ games is short, in cpc-power appears 33 files when i search for gx4000, but if i ignore hacks, diagnostic cartridges, the jukebox, etc... We have:
Barbarian II
Batman
Burning Rubber
Copter 271
Crazy Cars II
Dick Tracy
Epyx World of Sports
Fire and Forget II
Klax
Mystical
Navy Seals
No Exit
Operation Thunderbold
Pang
Panza Kick Boxing
Pinball Magic
Plotting
Pro Tennis Tour
Robocop II
Skeetshot
Switchblade
Tennis Cup II
The Enforcer
Tintin on the Moon
Wild Streets

Only 25 games, and not too much games to patch and not everyone of those should be patched because they are exactly the same game than the normal CPC version and for those the old tape/floppy versions can be used perfectly.
« Last Edit: 20:47, 22 June 14 by SyX »

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: X-MEM, a new memory expansion for all CPC.
« Reply #202 on: 11:39, 23 June 14 »
Will cartridge roms work with this without the presence of an ACID chip?
My plan wasn't really to create a cart this way, at least not a plus cart. But a form of cart game for cpc would be possible.


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline The Last Bandit

  • CPC664
  • ***
  • Posts: 135
  • Country: ie
  • Liked: 25
  • Likes Given: 11
Re: X-MEM, a new memory expansion for all CPC.
« Reply #203 on: 21:49, 23 June 14 »
Just ordered (preordered ?) one, can't wait to try it out  :D

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1976
  • Likes Given: 4650
Re: X-MEM, a new memory expansion for all CPC.
« Reply #204 on: 20:57, 25 June 14 »
Can the X-Mem improve performance as I note some slow downs in Dizzy and games like Ikari Warriors when a grenade blows up a bunker


Yes it can. But you have to write games for it. It will not work with old games which don't use the new features. How to increase performance:
- Loading can be more quick, due to loading games from ROM instead of disc or tape.
- Reloading of levels can also be omitted because they can be stored in RAM
- Decompression must be done only once, uncompressed data can be stored in RAM.

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

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: X-MEM, a new memory expansion for all CPC.
« Reply #205 on: 10:52, 26 June 14 »

Yes it can. But you have to write games for it. It will not work with old games which don't use the new features.
@TFM: Please feel free to prove it by modifying dizzy or ikari warriors to make them faster.
A detailed overview of why it was slow and how the extra memory made it faster after your changes would be really nice.

EDIT: I can think of some ways that having more memory can help - if the program is written to support it. And people keep saying that having more ram can make a game faster - yes that is true if it's written to support it. But I read about claims that game "X" could be fixed to go faster with more ram, and I want to see proof of that.

For example it's easy to use compiled sprites and make faster sprite routines in 128k. But take a game like Dizzy or Ikari Warriors and make it faster - really????
« Last Edit: 11:07, 26 June 14 by arnoldemu »
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Online Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.084
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3929
  • Likes Given: 410
Re: X-MEM, a new memory expansion for all CPC.
« Reply #206 on: 11:06, 26 June 14 »
I don't think he means it will be faster as in the game runs faster, but it can be used to make the whole game experience smoother, by removing mid-game data loading or removing the need to compress data in RAM. The data will still need to be loaded at the start, but it should improve the overall feel by not having to wait between level. I'd like to see this done on something like Gauntlet, where the re-loading used to really annoy me.

Bryce.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: X-MEM, a new memory expansion for all CPC.
« Reply #207 on: 11:16, 26 June 14 »
I don't think he means it will be faster as in the game runs faster, but it can be used to make the whole game experience smoother, by removing mid-game data loading or removing the need to compress data in RAM. The data will still need to be loaded at the start, but it should improve the overall feel by not having to wait between level. I'd like to see this done on something like Gauntlet, where the re-loading used to really annoy me.

Bryce.
He means that, but he really does mean the game can also run faster if modified to take advantage of the extra ram. Faster=more fps.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Online Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.084
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3929
  • Likes Given: 410
Re: X-MEM, a new memory expansion for all CPC.
« Reply #208 on: 11:20, 26 June 14 »
Maybe, but I don't see how really. If at all possible I doubt the difference would be enough to be obvious to the player.

Bryce.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: X-MEM, a new memory expansion for all CPC.
« Reply #209 on: 11:32, 26 June 14 »
Maybe, but I don't see how really. If at all possible I doubt the difference would be enough to be obvious to the player.

Bryce.
Some things can be stored uncompressed, compiled sprites can be used for faster drawing potentially. But compiled sprites and clipping is not easy and a lot of games like ikari warriors have sprites that clip.

So I would be happy with examples:
e.g.
this is how they draw the sprite in ikari warriors
and here is a version that uses 128k to make it faster and it gives identical results.

EDIT: When it comes to the hardware scrolling I've investigated and shown examples of ways to do it, and what does and doesn't work in certain circumstances, how to work around it, what benefits or disadvantages you get etc.

I will continue that by investigating R3 scrolling in much more detail.
I've got a few updates to add to the doc describing panels etc.


« Last Edit: 11:33, 26 June 14 by arnoldemu »
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Online Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.084
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3929
  • Likes Given: 410
Re: X-MEM, a new memory expansion for all CPC.
« Reply #210 on: 12:10, 26 June 14 »
It sounds like it would be useful for new games, but for existing games it would mean almost a complete re-write?

Bryce.

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.463
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2635
  • Likes Given: 1565
Re: X-MEM, a new memory expansion for all CPC.
« Reply #211 on: 12:46, 26 June 14 »
Nothing is magic!
If a program was not designed for taking part about an expansion, then it will never run faster, better, stronger, harder...  ;D

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

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1976
  • Likes Given: 4650
Re: X-MEM, a new memory expansion for all CPC.
« Reply #212 on: 17:03, 26 June 14 »
IMHO RD128 and R-Type 128 are well examples.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.463
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2635
  • Likes Given: 1565
Re: X-MEM, a new memory expansion for all CPC.
« Reply #213 on: 18:06, 26 June 14 »
The 5th X-MEM batch will be dispatched tomorrow !!!  ;D

The 6th batch will be dispatched  start of July.
The 7th batch will be dispatched half of July.


« Last Edit: 18:10, 26 June 14 by TotO »
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Offline CraigsBar

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.280
  • Country: ie
  • The party ain't over yet
    • index.php?action=treasury
  • Liked: 1171
  • Likes Given: 79
Re: X-MEM, a new memory expansion for all CPC.
« Reply #214 on: 18:11, 26 June 14 »
The 5th X-MEM batch will be dispatched tomorrow !!!  ;D

The 6th batch will be dispatched  start of July.
The 7th batch will be dispatched half of July.
ooohh I hope I'm in the 5th batch.
IRC:  #Retro4All on Freenode

Offline joska

  • CPC664
  • ***
  • Posts: 102
  • Country: no
  • Liked: 43
  • Likes Given: 6
Re: X-MEM, a new memory expansion for all CPC.
« Reply #215 on: 00:38, 01 July 14 »
Mine arrived today :) Installed it and it seems to work fine. Now I just need to figure out how this thing work. My plan was to install SymbOS on it, I haven't even checked if this is possible...

Btw I installed mine internally using an old, hacked-up SCSI-cable:


* guest.jpg
(210.93 kB, 1024x576 - viewed 86 times)


Does anybody know if I can still attach other things (like a RS232 card if I can find one) to the external port?

I also discovered a small guest inside my CPC :)

 [ Invalid Attachment ]

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.463
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2635
  • Likes Given: 1565
Re: X-MEM, a new memory expansion for all CPC.
« Reply #216 on: 01:45, 01 July 14 »
Nice picture! Happy to know that you get it. :)
Probably the second picture is showing a CPC boooooster expansion ! XDDD

Yes, no problem for adding extra boards connected to your expansion slot.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Offline remax

  • 6128 Plus
  • ******
  • Posts: 1.071
  • Country: fr
  • Liked: 380
  • Likes Given: 419
Re: X-MEM, a new memory expansion for all CPC.
« Reply #217 on: 01:57, 01 July 14 »
I've just added myself to the waiting lane  :P

Online Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.084
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3929
  • Likes Given: 410
Re: X-MEM, a new memory expansion for all CPC.
« Reply #218 on: 10:41, 01 July 14 »
I also discovered a small guest inside my CPC :)

 [ Invalid Attachment ]

Did you notice the CPC running any slower? :)

Regarding adding expansions externally. Any expansion that doesn't offer similar functions will work fine, but other ROM or RAM expansions could cause an issue.

Bryce.
« Last Edit: 10:43, 01 July 14 by Bryce »

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: X-MEM, a new memory expansion for all CPC.
« Reply #219 on: 10:48, 01 July 14 »
Did you notice the CPC running any slower? :)
Nice!

 ;D
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline joska

  • CPC664
  • ***
  • Posts: 102
  • Country: no
  • Liked: 43
  • Likes Given: 6
Re: X-MEM, a new memory expansion for all CPC.
« Reply #220 on: 11:14, 01 July 14 »
Regarding adding expansions externally. Any expansion that doesn't offer similar functions will work fine, but other ROM or RAM expansions could cause an issue.


I see. In the case of the RS232 interface I guess the ROM would cause problems. Maybe the interface ROM can be disabled and the ROM images put in the X-MEM instead.

Online Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.084
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3929
  • Likes Given: 410
Re: X-MEM, a new memory expansion for all CPC.
« Reply #221 on: 11:28, 01 July 14 »
If the RS232 has a ROM but uses a ROM number above 31 then it should be ok (assuming the address decoding was done properly). Otherwise it could clash with the X-Mem or any other ROMBoard. However, the ROM is usually socketed, so you can remove the ROM IC and install the RS232 software on the X-Mem instead.

Which RS232 expansion do you have?

Bryce.

Offline joska

  • CPC664
  • ***
  • Posts: 102
  • Country: no
  • Liked: 43
  • Likes Given: 6
Re: X-MEM, a new memory expansion for all CPC.
« Reply #222 on: 11:46, 01 July 14 »
Which RS232 expansion do you have?


I don't have one yet. I'm hoping to find one so I can use my 6128 as a unix terminal. Maybe I can build one, they don't look very complicated.

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.463
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2635
  • Likes Given: 1565
Re: X-MEM, a new memory expansion for all CPC.
« Reply #223 on: 12:04, 01 July 14 »
If someone want to code that for the CPCBooster/MiniBooster ...
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.463
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2635
  • Likes Given: 1565
Re: X-MEM, a new memory expansion for all CPC.
« Reply #224 on: 00:08, 04 July 14 »
--- CHECK POINT ---

CentPourCent "store" is closed for vacations.
That will allow me to finish to build the WIP boards is the next weeks and then... rest.  ;D
80 X-MEM are on the way. Thank you everyones for making the CPC going ahead.

We can definitively expect great programs using 512K RAM in the future, w/o compatibility problem!!!

Have fun,

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