CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: PulkoMandy on 20:34, 08 October 22

Title: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 20:34, 08 October 22
Hello there!

Due to compatibility problems between the Amstrad Plus ASIC memory mapping and existing memory expansions, I have designed my own. 

This is a 1MB expansion with a switch to force it to 512K (in case you hit compatibility problems with something). Unlike other RAM expansions, it tracks the status of the ASIC to avoid conflicts if software attempts to map both the ASIC and expanded memory to the same address. At the moment the only software known to hit this situation is the Soundtracker DMA. But let us know if you find (or make) more :)

More info here: https://pulkomandy.github.io/shinra.github.io/gemini.html

Compatibility chart:

Availability: for now I have built a very small batch of 3 cards, and all 3 are already sold (someone really wanted to own the one with serial number 0). But I will build more (parts are on the way) and I will take preorder to know how much I need to build.

The price is 35€ including worldwide shipping. Reduced price if you come to my home to get it, or if you buy it from me during a meeting or demoparty (but tell me beforehand, so I know how many I should bring).

Who wants one?

Any questions?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Richard_Lloyd on 20:46, 08 October 22
Oh yes, great.
Please may I order one (UK).
Thanks, Richard.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Kris on 07:49, 09 October 22
Hi Pulko,

Interested in  ;)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Maniac on 08:32, 09 October 22
What type of connector does the expansion have please? Does it use the newer MX4 connector?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 09:13, 09 October 22
Yes, it is MX4 compatible. I added a picture on the website so you can see how it looks.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Maniac on 12:13, 09 October 22
I'd be interested. How does this compare to the revised Plus memory compliant version of the X-Mem @TotO that you have in prototype please?

Just trying to work out my options as already have a X-Mem which is great but have to disconnect it at times for some Plus demos etc.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: genesis8 on 15:00, 09 October 22
Interested by one, I will be at the BCP 2 meeting.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 15:36, 09 October 22
Sounds very good, I am interested in 2 boards!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Titi on 16:17, 09 October 22
 I am interested by 1 one 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: HAL6128 on 22:52, 09 October 22
One board for me! Thank you.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: roudoudou on 06:19, 10 October 22
Quote from: PulkoMandy on 20:34, 08 October 22This is a 1MB expansion with a switch to force it to 512K (in case you hit compatibility problems with something). Unlike other RAM expansions, it tracks the status of the ASIC to avoid conflicts if software attempts to map both the ASIC and expanded memory to the same address. At the moment the only software known to hit this situation is the Soundtracker DMA. But let us know if you find (or make) more :)
CRTC³ demo need 128K and Asic management, if it not the case the demo will warn at startup

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Neurox66 on 08:11, 10 October 22
Hi Pulko,
I'm interested by one board Gemini

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 11:00, 10 October 22
Quote from: roudoudou on 06:19, 10 October 22
Quote from: PulkoMandy on 20:34, 08 October 22This is a 1MB expansion with a switch to force it to 512K (in case you hit compatibility problems with something). Unlike other RAM expansions, it tracks the status of the ASIC to avoid conflicts if software attempts to map both the ASIC and expanded memory to the same address. At the moment the only software known to hit this situation is the Soundtracker DMA. But let us know if you find (or make) more :)
CRTC³ demo need 128K and Asic management, if it not the case the demo will warn at startup


Thanks, apparently I can't edit my top post here? But I have updated the text on Shinra webpage.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 11:35, 10 October 22
Quote from: PulkoMandy on 11:00, 10 October 22apparently I can't edit my top post here?
Sadly, it was required to avoid assholes to delete/edit posts content to put bullshits instead when they want to (rage)quit.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Cwiiis on 12:53, 10 October 22
I'd definitely like one please! (also in the UK)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: entelle42 on 15:19, 10 October 22
Hi, I'm interested by one unit. Tx
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 16:43, 10 October 22
what happens on a plus machine if a current memory expansion and asic are mapped in?

is the main issue when software is running from an external bank but needs to use asic also?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 17:37, 10 October 22
Quote from: zhulien on 16:43, 10 October 22what happens on a plus machine if a current memory expansion and asic are mapped in?

is the main issue when software is running from an external bank but needs to use asic also?
The ASIC is mapped at 4000-8000. These addresses can be used by memory expansions as well, especially in the mode where  the z80 sees a whole 64K of expanded memory and no central memory at all (the mapping for a single 16K page happens at a different address). That's for "normal" RAM expansions, there is a similar problem for Nova for example which uses a different mapping (just avoid mapping it at these addresses) 

If you have both mapped and try to write something, it will be written to the ASIC (as intended) and also written to the RAM. If you try to read, both the ASIC and the RAM will try to set the bus to different values, resulting in an electrical conflict (basically a short circuit). What exactly will happens depends on the model of RAM chip used. Maybe one of the two components will "win" and manage to drive the bus. But it will use a lot of electricity and heat up the hardware. It may be harmless if it happens for only a short time, but in theory it could damage the hardware and fry some transistors in the circuits. I don't think anyone has reported damaged hardware yet, but the two mentionned pieces of software test for this case to make sure to not trigger the "read" case too much.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 18:04, 10 October 22
I might be thinking a bit simplisticly, but... can't the software using the ASIC and the extra memory make sure that doesn't happen and if it does, then it is considered a bug in the application?  I do get the issue though with a full alternative 64kb running code across 4000-8000 and trying to use ASIC, sounds like almost impossible - or... you need to be careful that ASIC is not paged in when code is accessed between 4000-8000.

I wonder if multiface2 has a similar issue with extra RAM in the same way, multiface 2 can be paged in at the same time - but, usually the programmer wouldn't want to do that.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 19:01, 10 October 22
Usually when writing Plus software you want to free as much of the main RAM as possible for DMA lists and videoRAM.

One way to do that is move all your code to banked memory. And to avoid switching between banks all the time, it's reasonable to use the mode where the z80 only accesses the banked memory, at all addresses.

But if you do this, and the code needs to access the ASIC registers, well, you can't. You have to unmap the expansion RAM (making sure your code is in a memory space that isn't unmapped), then do your ASIC access, and then map the expansion RAM back.

Yes, it's possible, but it's annoying, it costs CPU time (which is rather limited), it makes code larger and more complicated. Especially as the internal bank RAM of the 6128plus works perfectly, so why would you bother doing all these extra steps just to support 3rd party hardware that doesn't behave the same as the original?

Also, personally I'm more an hardware than software guy (at least for my Amstrad activities), so when I encounter a bug like this, my approach is to fix the hardware, not patch the software to avoid the bug. And it seems the developers of Soundtracker DMA and CRTC3 agree with me, and didn't think making their software compatible with misbehaving memory expansions was worth their efforts. But if you want to take a different way, feel free to do so! I'm sure people who own such memory expansions will be happy to have patched software available?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 19:20, 10 October 22
Very strange point of view for a hardware guy to think the way is to fix the hardware than to patch a software. In fact, you fix nothing but asking peoples to buy a new hardware because a programmer do not want to make a software compatible with the existing hardwares already owned by hundreds people. Worst, when a way to make it working properly exist, but instead of testing to support it, it is tested to make it not supported.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 19:26, 10 October 22
How does the ASIC avoid this for the internal second bank? Does it just not send the CAS1 signal, so the bank remains inactive?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 21:15, 10 October 22
Quote from: eto on 19:26, 10 October 22How does the ASIC avoid this for the internal second bank? Does it just not send the CAS1 signal, so the bank remains inactive?
Yes.

Internal RAM on a 6128+ (or internal expansions on a 464+) behave correctly and don't update RAM when the ASIC registers are paged in.

You can work around it in software, but having to switch back to the standard 64K banking arrangement every time you page the ASIC in is a massive PITA and slows down things you might want to do like palette switches on a raster interrupt because of all the overhead.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 22:33, 10 October 22
Quote from: TotO on 19:20, 10 October 22Very strange point of view for a hardware guy to think the way is to fix the hardware than to patch a software. In fact, you fix nothing but asking peoples to buy a new hardware because a programmer do not want to make a software compatible with the existing hardwares already owned by hundreds people. Worst, when a way to make it working properly exist, but instead of testing to support it, it is tested to make it not supported.
I don't ask anything from anyone. I made this card for myself mainly. If other people want it I'm happy to build a few more. If they don't need it, I'm equally happy to spend my time on something else.

You can bring the concern to the authors of software that decided to follow the behavior of the original machine and exploit it the way it was designed, if you think they are doing it wrong, but that's not my problem.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 08:51, 11 October 22
Quote from: PulkoMandy on 22:33, 10 October 22I don't ask anything from anyone. I made this card for myself mainly. If other people want it I'm happy to build a few more. If they don't need it, I'm equally happy to spend my time on something else.
That is not the subject at all. Everybody is free to build expansions. (you are kicking in touch)

Quote from: PulkoMandy on 22:33, 10 October 22it seems the developers of Soundtracker DMA and CRTC3 agree with me, and didn't think making their software compatible with misbehaving memory expansions was worth their efforts.
I'm answering to that, because it show you are thinking like a software guy and not an hardware guy. (in addition to denigrate the other expansions)

Quote from: PulkoMandy on 22:33, 10 October 22You can bring the concern to the authors of software that decided to follow the behavior of the original machine and exploit it the way it was designed, if you think they are doing it wrong, but that's not my problem.
That is just their point of view seeing the CPC/Plus like a stock machine without any expansion connected, neither a way to do thing like the computer was designed at all. (partial address decoding)






Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 09:20, 11 October 22
Then I don't see where there is an issue. I am not denigrating anyone or anything, I have a compatibility problem, I found it interesting, I found a way to solve it. And I learnt a few things in the process about how the ASIC lock works and how to implement it using simple logic.

I just explained why and how the existing expansions don't behave the same as the internal RAM of the 6128+. I don't think this is denigrating, just looking at the facts. It would be denigrating if I said it was caused by incompetence of the designers, but I don't think this is the case. Either they couldn't know (for the DK Tronics which was designed before the Plus machines) or they decided to do it this way for a variety of possible reasons (they don't agree with me on what the correct behavior is, they wanted to simplify their hardware and save costs, they don't care about Plus machines, ...). That's all. These concerns are valid, I could do the expansion with just 3 chips instead of 5 if I didn't need to handle the ASIC lock and unlock. But that's not what I wanted to do.

Now everyone can decide which expansion they want to get, mine, yours, someone else's or none at all. But I made clear what the limitations (or call it design choices if you want) of each solution are.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 11:02, 11 October 22
Honestly, I had no idea about this until a few days ago. I never used a RAM extension on my Plus but I would be furious if it would be harmed because there is no warning, although software or hardware developers were aware of it. It seems it's widely known within the expert community, but it's not mentioned on any WIKI page about RAM extensions and when looking at currently available RAM extensions they also often mention the Plus although it's clearly not (fully) true.

If such a situation is known, it has to be handled. Until now it could only be done by software, PulkoMandy now offers an option to do it in hardware - but still the software needs to avoid the situation if incompatible hardware is detected.

With the new extension one can at least be sure that there is no longer a risk of doing harm to your computer, because someone forgot to handle it.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: OffseT on 12:03, 11 October 22
Old memory expansions not being totally compatible with Amstrad Plus is an issue known for ages. When plugged on a Plus, they prevent most 128K softwares using ASIC from working (especially demos). It is obviously not the fault of the software coders since their software works just fine with the internal 64K expansion memory (which is not flawed, because Amstrad did it with ASIC in mind).

About patching the softwares or asking for developers to take care about unadapted expansion memory (in the way these expansions were designed for CPC, not for Plus), you should keep in mind that under some circumstances, it is just not even possible, especially when dealing with 64K paged mode (&C2); and like explained previously, in any case it is at cost of complexity and bigger/slower code (notably when dealing with interrupts and asynchronous stuff). So no, it has not to be handled in a mandatory way, it just might be (kindly) handled if possible without adding too much code/complexity.

As a conclusion, all Plus owners willing to expand memory should now use this new Gemini board instead of old ones designed without ASIC in mind (such as dk'tronics, Symbiface II or whatever).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 12:17, 11 October 22
@PulkoMandy It is not because you handle RMR2 (or a trick you have found) than others are misbehaving memory expansions. First because some was designed before the Plus. Second, because some others already support it or offer an alternative hardware way to be compatible. Again, it is not a problem that you are offering your RAM board. I'm pointing the fact that programmers making new softwares requiring the ASIC paging can do a minimum to be compatible with hundred of expansions already owned by users instead of ignoring them.

@eto Using a CPC memory expansion on a Plus do not damage anything. At worst, with some new programs using the ASIC paging like on a stock machine and not taking care about the existing hardware, the solftware can have bugs and may require to be disabled.

@OffseT I agree, Plus users requiring a memory expansion are welcome to use the Gemini board. And programmers are welcome to support the existing hardware instead of discarding them intentionaly, when there is no drawback at all. (SoundTracker DMA with the X-MEM for example)

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: OffseT on 12:55, 11 October 22
Quote from: TotO on 12:17, 11 October 22@OffseT I agree, Plus users requiring a memory expansion are welcome to use the Gemini board. And programmers are welcome to support the existing hardware instead of discarding them intentionaly, when there is no drawback at all. (SoundTracker DMA with the X-MEM for example)
Well, there was no intention to discard X-Mem at all. At start, the Soundtracker DMA just checks that the memory has the expected behavior and refuses to execute if it is not the case. Not doing this test would have made the user think that it works whilst silently and randomly trashing memory in background, making the music auto-destroying itself while playing... it was much better to block program start. :) 

About making Soundtracker DMA to work with CPC memory expansion used on Plus, typically, it was considered. But it was too memory hungry and CPU intensive, notably because it added management during interrupts (which are tricky when dealing with DMA). Since no memory expansion was required (Soundtracker DMA works on a stock 6128plus), it was a better option to ask the user to remove the incompatible memory card. It has nothing to do with X-Mem, really, the same issue applies with dk'tronics (which is actually the one we have) and all other old memory expansions.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 13:11, 11 October 22
Quote from: OffseT on 12:03, 11 October 22old memory expansions not being totally compatible with Amstrad Plus is an issue known for ages.
I would say that it is known, but just to a small group of experts and enthusiasts, not to the wide public. And it's not even easy to find it, if you don't know what and where to look for. 

I'm following most discussions and stuff around the CPC/Plus for 2.5 years now and I was not aware of it. It's not on any page I have ever seen about the Plus. It's not on any Wiki page about any of the RAM extensions. Revaldinhos extensions are documented to be Plus compatible - and those people that build and sell it, put exactly that in the offer description. 

If somebody could point me to forum thread or any other page that documents this properly, I would update the WIKI pages about RAM extensions and the Plus, so that at least we limit the moment of surprise to anyone, who was not closely following this forum for the last 10 years.

Quote from: TotO on 12:17, 11 October 22Using a CPC memory expansion on a Plus do not damage anything.

Pulkomandy pointed out, that there is a chance of damaging the hardware, if the code would access paged RAM for too long as ASIC and RAM would put their data on the bus. Even if that would only happen in rare cases (like bugs), it should not be ignored.

Even if there is no risk of hardware damage, software should deal with it as RAM extensions are widely used. I would not request any developer to "support" incompatible RAM, but at least, like (I think) Soundtracker DMA and CRTC3 are doing it, they should output a warning or stop execution if incompatible RAM is detected.

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 14:00, 11 October 22
Quote from: OffseT on 12:55, 11 October 22Well, there was no intention to discard X-Mem at all. At start, the Soundtracker DMA just checks that the memory has the expected behavior and refuses to execute if it is not the case.
Before the check was added, SoundTracker DMA worked with a RAM board. If the test is removed, it works again. Anyway the X-MEM offers a known compatibility mode for Plus that is not used by SoundTracker DMA but works great on Sonic GX or Ghosts'N Goblins (128K version) since years.

Quote from: etoEven if there is no risk of hardware damage, software should deal with it as RAM extensions are widely used. I would not request any developer to "support" incompatible RAM, but at least, like (I think) Soundtracker DMA and CRTC3 are doing it, they should output a warning or stop execution if incompatible RAM is detected.
I can understand that a message is displayed when the incompatibility is real and no way to deal with an existing memory expansion plugged. :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 14:33, 11 October 22
Do you have documentation for what your compatibility mode is and how it works?

In the case of Gemini it is transparent: it reproduces the ASIC unlock sequence and the RMR2 register, so it knows when the ASIC is mapped. So it behaves just like the internal RAM.


Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: OffseT on 14:42, 11 October 22
Quote from: TotO on 14:00, 11 October 22Before the check was added, SoundTracker DMA worked with a RAM board. If the test is removed, it works again.
Your statement is wrong. Like I just explained, it looks like it works but it does not since there is random memory trash while playing sounds. The incompatibility is real and the test is there for a reason, it avoids data loss.

Quote from: TotO on 14:00, 11 October 22Anyway the X-MEM offers a known compatibility mode for Plus that is not used by SoundTracker DMA but works great on Sonic GX or Ghosts'N Goblins (128K version) since years.
I guess you talk about using &7Exx port instead of &7Fxx? Since this port is also used by 1MB+ memory expansions, I think this trick was not considered robust enough (or at least it would have required additional memory checking code to figure out). Anyway, both Soundtracker DMA and CRTC³ won't require more than the stock 128KB, and they do not crash when an incompatible memory expansion is plugged, which is better than crashing like most does. :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:05, 11 October 22
Quote from: PulkoMandy on 14:33, 11 October 22Do you have documentation for what your compatibility mode is and how it works?

In the case of Gemini it is transparent: it reproduces the ASIC unlock sequence and the RMR2 register, so it knows when the ASIC is mapped. So it behaves just like the internal RAM.
Sure, I'm decoding RMR2 too into the X-MEM+ but not into the X-MEM because no enough CPLD room to fit that. Instead, I have decoded A8 to allow to continue to access the internal 64K RAM memory on CPC and Plus by disabling the external memory through the &7Exx port. So, it is a compatibility mode for the CPC 128K with this expansion since 10 years ago. It is not because this port can be used for extra 512K that is not possible to use it for extra 64K. ;)

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:14, 11 October 22
I was just asking what the issue was as I had not yet come across it - but I'm not using DMA on the plus.  I guess the easiest fix is to fix the programming documentation, but of course making new hardware is good and fixing software is possible most of the time.

For me, I like my software to support as much hardware as possible when possible - not target specific ones.  I guess I could make my software check if on a plus with a memory expansion that conflicts with ASIC in some circumstances and stop it from running, but I'd rather make my software work unless I couldn't make it work.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 15:23, 11 October 22
Quote from: eto on 13:11, 11 October 22I'm following most discussions and stuff around the CPC/Plus for 2.5 years now and I was not aware of it. It's not on any page I have ever seen about the Plus. It's not on any Wiki page about any of the RAM extensions.
TBH I didn't know about the ASIC/memory expansion issue for many years as well. So when I tested my stuff on a real CPC Plus with SYMBiFACE II attached back in 2006, I got frustrated and deactivated Plus support in SymbOS.

Only a few years ago I read about it here in the forum, and now of course it totally makes sense, that it is not a good idea to map in the ASIC and extended memory at the same time for standard expansions, which have no idea about the ASIC.
I am looking forward to the Gemini, but I will also try to fix this in SymbOS, so that it should run on a Plus even with old memory expansions.

You are right, we should add some infos to the Wiki :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:25, 11 October 22
Is there a wiki page on the issue and how to reproduce it in software and perhaps ways to avoid it in software?

and... does the issue also exist between eg: multiface 2 and 6128plus, or multiface 2 and DkTronics?  and Vidi?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 15:27, 11 October 22
Originally I had planned for a 2MB RAM on this card, but it is out of stock now.

That would have complicated usage of port 7Exx. Already with a 1MB card it complicates things a bit, since the Gemini uses 7Exx and 7Fxx for its own RAM.

And if I decide to do a 4MB version later, there would not be any space left in the IO ports unless I do a trick to let the CPC handle the first 64K or something like that. And it creates a difference of behavior between the different banks still, which I find confusing.

Isn't it the same with the Y-MEM or another one of your expansions? (I'm sorry, I must say I'm a bit confused by so much hardware bing available :D but I think you had a way to have the XMEM behave as a second 512K bank aside the first one?)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:46, 11 October 22
Quote from: PulkoMandy on 15:27, 11 October 22Isn't it the same with the Y-MEM or another one of your expansions? (I'm sorry, I must say I'm a bit confused by so much hardware bing available :D but I think you had a way to have the XMEM behave as a second 512K bank aside the first one?)
Sure, you are right. Decoding A8 allows to connect a second "X-MEM" (named Y-MEM), but it is not official and I have built them only to peoples asking for 1MB with SymbOS or custom programs for CPC (Chany). Using it will disable the internal 64K RAM expansion and no more compatible with Amstrad Plus.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 16:02, 11 October 22
Quote from: PulkoMandy on 15:27, 11 October 22Originally I had planned for a 2MB RAM on this card, but it is out of stock now.
1MB is enough for anyone.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: HAL6128 on 20:21, 11 October 22
Quote from: Prodatron on 15:23, 11 October 22
Quote from: eto on 13:11, 11 October 22I'm following most discussions and stuff around the CPC/Plus for 2.5 years now and I was not aware of it. It's not on any page I have ever seen about the Plus. It's not on any Wiki page about any of the RAM extensions.
...
I am looking forward to the Gemini, but I will also try to fix this in SymbOS, so that it should run on a Plus even with old memory expansions.
Does it mean that you are going to produce a special SymbOS for the Plus range?? (hardware mouse pointer... just kidding)   ;D
Seriously, would it make sense or an improvement to use the plus capabilities for SymbOS?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: roudoudou on 21:01, 11 October 22
Quote from: TotO on 19:20, 10 October 22Very strange point of view for a hardware guy to think the way is to fix the hardware than to patch a software. In fact, you fix nothing but asking peoples to buy a new hardware because a programmer do not want to make a software compatible with the existing hardwares already owned by hundreds people. Worst, when a way to make it working properly exist, but instead of testing to support it, it is tested to make it not supported.
i make an adaptation for  Asic Intro 2 with software (basically disabling Asic before RAM banking)
but you cannot adapt a programm using C2 mode (64K video + code in upper RAM)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 23:18, 11 October 22
Quote from: roudoudou on 21:01, 11 October 22
Quote from: TotO on 19:20, 10 October 22Very strange point of view for a hardware guy to think the way is to fix the hardware than to patch a software. In fact, you fix nothing but asking peoples to buy a new hardware because a programmer do not want to make a software compatible with the existing hardwares already owned by hundreds people. Worst, when a way to make it working properly exist, but instead of testing to support it, it is tested to make it not supported.
i make an adaptation for  Asic Intro 2 with software (basically disabling Asic before RAM banking)
but you cannot adapt a programm using C2 mode (64K video + code in upper RAM)

Yeah, that was the problem I found when I first heard about it. I was using the C1 and C2 configurations (with page 3 reserved for samples I never needed paged in), which works fine on a 6128+, but couldn't easily restructure things to work any other way because I couldn't have multiple banks paged in that way. It's not necessarily as simple as just "don't do it" unless you're targeting cartridge software.

Fundamentally it's because most memory expansions aren't Plus compatible. Just like the Multiface isn't Plus compatible. Is it really a bad thing if anyone actually does make a compatible solution? Do we really need to complain and argue over it?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 23:57, 11 October 22
Quote from: HAL6128 on 20:21, 11 October 22Does it mean that you are going to produce a special SymbOS for the Plus range?? (hardware mouse pointer... just kidding)  ;D
Seriously, would it make sense or an improvement to use the plus capabilities for SymbOS?
Haha, yes, all SymbOS versions <1.0 supported the Plus :D at least regarding the palette (12 bit = 4096 colour based).
Then we had this problem with asic+symbiface II and I deactivated it (as I didn't know about this in 2006).
CPC Plus version would at least support the 4096 colour palette and the hardware mouse pointer (which will make sense for a new game).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Cwiiis on 09:09, 12 October 22
Quote from: Prodatron on 23:57, 11 October 22
Quote from: HAL6128 on 20:21, 11 October 22Does it mean that you are going to produce a special SymbOS for the Plus range?? (hardware mouse pointer... just kidding)  ;D
Seriously, would it make sense or an improvement to use the plus capabilities for SymbOS?
Haha, yes, all SymbOS versions <1.0 supported the Plus :D at least regarding the palette (12 bit = 4096 colour based).
Then we had this problem with asic+symbiface II and I deactivated it (as I didn't know about this in 2006).
CPC Plus version would at least support the 4096 colour palette and the hardware mouse pointer (which will make sense for a new game).
I for one am looking forward to this new version of SymbOS 🙂

I'm still interested in the expansion board of course, but out of interest, would it be feasible to implement this as a board that sits in-between the CPU and its socket for an internal 1MB upgrade? That would be very neat, and extremely convenient for development...
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 09:28, 12 October 22
I don't think it's possible with the exact same design and just the CPU socket, since a few extra signals from the expansion port are used (mainly RAMDIS to disable access to the internal RAM). With a few extra wires soldered it may be possible.

The schematics and Kicad file are available if someone wants to try designing a CPU socketed board. It may even be possible to reuse internal signals from the ASIC instead of replicating the lock/unlock logic then?

Another option is soldering an internal cable to the expansion port, and fitting your expansions inside the Amstrad Plus case (there is a lot of space besides the motherboard). I think OffseT did this with several expansions (Albireo, FlashGordon, and maybe Nova?).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 10:12, 12 October 22
Quote from: Prodatron on 23:57, 11 October 22Plus version would at least support the 4096 colour palette and the hardware mouse pointer (which will make sense for a new game).
I though about that yesterday evening. 1 mouse pointer and 15 desktop icons. ;D
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 14:51, 12 October 22

I have a plus version of the multiface 2, but i am unsure what is done to it to make it work other than the form factor (now an mx4 card).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 14:57, 12 October 22
interesting from the Chibi Akuma's technical page

https://www.chibiakumas.com/z80/platform3.php#LessonP24

QuoteTurn on the CPC Plus:

We've covered it before, but remember, by default The CPC+ features are disabled, leaving us with only a regular CPC... to use the PLUS features, we need to send a series of 17 bytes to the CRTC at port &BCxx

Once the CPC+ features are on, a special bank of 16k 'ASIC' memory will become available, which we can write to between &4000-&7FFF in the same way as our normal memory.

To Turn it on we use:
    ld bc,&7fb8
    out (c),c
To turn it off we use:
    ld bc,&7fa0
    out (c),c

NOTE: When using the ASIC memory, We should make sure that we're using the 128k banks are disabled, or it can cause problems with some 128k ram upgrades. Mode C1/C3 are OK to use as they  page in at &C000

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:01, 12 October 22
@zhulien You can found a lot of informations about the ASIC from here:
http://quasar.cpcscene.net/doku.php?id=assem:asic

And here about the GA and ASIC:
https://www.grimware.org/doku.php/documentations/devices/gatearray

EDIT: Hum... The ASIC related links (unlock sequences, ...) seem to not work on Grimware. :(
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:09, 12 October 22
i wonder if a future ram expansion with 2mb sitting in the ROM space would be worthwhile?  the upper 128 ROM slots.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:10, 12 October 22
Quote from: zhulien on 15:09, 12 October 22i wonder if a future ram expansion with 2mb sitting in the ROM space would be worthwhile?  the upper 128 ROM slots.
From &80 (up to 32 ROM), it is the cartridge area for the Amstrad Plus / GX4000 and compatible.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:11, 12 October 22
Quote from: TotO on 15:10, 12 October 22
Quote from: zhulien on 15:09, 12 October 22i wonder if a future ram expansion with 2mb sitting in the ROM space would be worthwhile?  the upper 128 ROM slots.
From &80 (up to 32 ROM), it is the cartridge area for the Amstrad Plus / GX4000 and compatible.
Any reason it cannot be both?  by default a cartridge, write to an IO port it becomes RAM?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:15, 12 October 22
Quote from: zhulien on 15:11, 12 October 22Any reason it cannot be both?  by default a cartridge, write to an IO port it becomes RAM?
And why not 2MB to the RAM area to be compatible with the existing? ;D
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:16, 12 October 22
Quote from: TotO on 15:15, 12 October 22
Quote from: zhulien on 15:11, 12 October 22Any reason it cannot be both?  by default a cartridge, write to an IO port it becomes RAM?
And why not 2MB to the RAM area to be compatible with the existing? ;D
Because when it is mapped in at C000, that 2mb won't have any DMA issues.  and, we might then be able to have 6mb on CPC.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:17, 12 October 22
Quote from: zhulien on 15:16, 12 October 22
Quote from: TotO on 15:15, 12 October 22
Quote from: zhulien on 15:11, 12 October 22Any reason it cannot be both?  by default a cartridge, write to an IO port it becomes RAM?
And why not 2MB to the RAM area to be compatible with the existing? ;D
Because when it is mapped in at C000, that 2mb won't have any DMA issues.  and, we might then be able to have 6mb on CPC.
Which makes me wonder... why not make a 16mb RAM expansion that sits at C000 on CPC - it's 2022, we need 16mb software now.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:19, 12 October 22
Quote from: zhulien on 15:16, 12 October 22Because when it is mapped in at C000, that 2mb won't have any DMA issues and, we might then be able to have 6mb on CPC.
May be nice start to use your Play2CPC hardware so?  :-*
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Maniac on 16:02, 12 October 22
Quote from: zhulien on 14:51, 12 October 22I have a plus version of the multiface 2, but i am unsure what is done to it to make it work other than the form factor (now an mx4 card).
The Plus version of the Multiface 2 was amended to support the Centronics connector and the revised version of AMSDOS. It does support any of the enhanced Plus features such as sprites etc. If you use the Stop button when running Plus software and return (in my experience) to the game it usually crashes.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 16:10, 12 October 22
Quote from: zhulien on 15:17, 12 October 22
Quote from: zhulien on 15:16, 12 October 22
Quote from: TotO on 15:15, 12 October 22
Quote from: zhulien on 15:11, 12 October 22Any reason it cannot be both?  by default a cartridge, write to an IO port it becomes RAM?
And why not 2MB to the RAM area to be compatible with the existing? ;D
Because when it is mapped in at C000, that 2mb won't have any DMA issues.  and, we might then be able to have 6mb on CPC.
Which makes me wonder... why not make a 16mb RAM expansion that sits at C000 on CPC - it's 2022, we need 16mb software now.
In my case I am limited to 1MB by the availability of RAM chips that can work with 5V signals. Larger chips would require an electrical level conversion from 3.3 to 5V. I think some other hardware (Duke M4?) works with 3.3V components so they may be able to do it.

But there is no real need for this much memory, or if there is, maybe you should not be using a CPC? :) (that's my personal opinion, so I don't plan to design such hardware, someone else is free to do it if they want to).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 17:23, 12 October 22
Quote from: zhulien on 15:17, 12 October 22it's 2022, we need 16mb software now.
Addressing 16MB is not the problem. We could probably find another register where can we store another 8 bit, so we could address 1GB of RAM. Maybe the additional I/O that the AY-3-8910 adapter provides?

But what would you do even with 16MB of RAM? A few days ago we struggled to find a use case for 4MB.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 17:37, 12 October 22
Quote from: eto on 17:23, 12 October 22Addressing 16MB is not the problem. We could probably find another register where can we store another 8 bit, so we could address 1GB of RAM. Maybe the additional I/O that the AY-3-8910 adapter provides?
Usually, I answer that is not a problem to address 4GB RAM... But you will require one year to fill it.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 18:48, 12 October 22
Fist of all: Congratulations to this great project!
Somehow this was missing for the 6128plus (or 464plus).

About the discussion: In my opinion everybody (software person or hardware person) should do always the best possible. Means...
Software: Catch possible problems and omit them
Hardware: Define your product for a target, try to omit problems
If we all agree to do the best then everything will be fine.

Of course often single persons want to push their products (software or hardware) and that's what one can see on their comment. Well, it's ok to have different POV's. Why not. But it's getting nasty when somebody defines a rule for all CPC and Plus scene. Maybe (even here) we can be a bit more of a team. :)

From what I did read, it's probably not too expectable that there will be a 4 MB version of this great piece of work.

Or is there any chance of a 4 MB Gemini RAM expansion in some future?
(asking because I seriously use/need it for work).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 21:39, 12 October 22
Now I am just curious, does that mean that your futureos is crashing with a normal memory expansion on a CPC plus with plus features enabled?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 23:00, 12 October 22
I could do a 4MB version but it would need 4 RAM chips and I think a bit more logic on the board (I need to store and decode one extra address bit). The RAM chips are not super easy to get at the moment due to global shortages and logistics problems. So for now I'll focus on this 1MB version and hope that Lyontech or some other manufacturer starts or resumes production of a 2MB chip in the future, then I can do a 2MB version.

I should have ordered these chips when they were available...
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 23:21, 12 October 22
I'd like a 4mb version if you eventually make them.  I think the RAM expansion is a good one, i'd also like a 16mb RAM expansion (even if not made by yourself) that maps into C000 behaving somewhat like writable ROM and avoids the DMA issue completely.  The reason for this is not only for machine code applications, but it is more convenient for BASIC programs that use RSXs (located just under himem) to access that RAM so that we can have almost 42k basic programs instead of 16kb (paging between &4000 - &8000).  Of course no existing software will use it, future software would.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 09:00, 13 October 22
Got 64K, want 256K. Got 512K, want 2MB. Can got 4MB, would like 16MB... Next?  ;D
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: asertus on 13:03, 13 October 22
Something already heard in another 8 bit platform..  :laugh:

https://www.msx.org/wiki/Classic_PC_16MB_Expansion_Memory

(https://www.msx.org/wiki/images/b/b7/16MB_Expansion_Memory.jpg)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 13:10, 13 October 22
But is there any software that really makes use of it? Because the list of software on that Wiki page is just memory testers... If that's all you want to do, it's easier to write software that just pretends the memory is there and working fine  ;D
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 13:50, 13 October 22
From the sellers homepage:

"How you use the vast space is up to you."

So not even the seller has an idea what to do with it ;-)

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 14:55, 13 October 22
Quote from: PulkoMandy on 13:10, 13 October 22But is there any software that really makes use of it? Because the list of software on that Wiki page is just memory testers... If that's all you want to do, it's easier to write software that just pretends the memory is there and working fine  ;D
On the MSX a memory expansion (called "Memory Mapper") can have a size of up to 4MB (= 256 x 16KB), and this catridge includes 4 of them (one for each sub slot).
Some weeks ago the biggest game ever made for the MSX has been released (https://nopmsx.nl/sales-discontinued/), which has a size of 36MB (!). Even this "only" requires 512K of RAM.
Youtube: youtu.be/3C_W_AwSGII (copy this link manually)

If someone shows me a real working example of a software, which does useful things with so much RAM (>1MB) which can't be done with a mass storage device, I would be convinced. All I see now are video- and audio-streams or theoretical blah blah.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 15:08, 13 October 22
my C64 has 16mb RAM
https://www.c64-wiki.com/wiki/Turbo_Chameleon_64
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: asertus on 15:11, 13 October 22
I have not seen any real use of > 512kb in an MSX. Even GB emulator requires only 256kb but it says they can use up to 4mb.

http://www.tni.nl/products/gem.html

In my opinion, even MSXs require normally less RAM than Amstrad, as they have separated video Memory and normally can read directly all resources required in the game from the cartridge..
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: HAL6128 on 15:41, 13 October 22
Quote from: Prodatron on 14:55, 13 October 22If someone shows me a real working example of a software, which does useful things with so much RAM (>1MB) which can't be done with a mass storage device, I would be convinced. All I see now are video- and audio-streams or theoretical blah blah.
SymbOS could be a serious candidate.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 15:53, 13 October 22
Quote from: HAL6128 on 15:41, 13 October 22SymbOS could be a serious candidate.
Problem is, in some parts of the SymbOS kernel addressing is currently limited to 20bits (16 + 4), which is 1MB.
Maybe it is possible to extend it to 24bits (most functions already work with 24bits), but then old software had to be executed inside the first 1MB.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 15:54, 13 October 22
I had a dream. A dream where all CPC software used 256K of RAM as standard since 1992... From there, I will understand this sudden need to have 2048K and more, 30 years later. But I remember that using more than 64K was taboo 10 years ago. ;)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 18:44, 13 October 22
Once you get past about 256K, having to manage memory in small chunks of 16K just becomes painful. Inevitably the only real approach beyond that point is to fake a mass storage device and just "LOAD" data into main memory instead.

And once you do that, the benefits of it being visible to the CPU as RAM instead of just being a mass storage device are remarkably small.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 22:14, 13 October 22
Cool thing about the CPC memory banking is (at least compared to ZX Spectrum and Atari8bit), that you can map whole 64K banks into the visible Z80 address space. That is already a big benefit for handling code and data areas inside the extended memory.

The progress regarding memory expansions for 8bit machines is quite interesting:
Level 1.) C64: only DMA transfer, no possibility to execute code inside external memory
Level 2.) ZX Spectrum, Atari8: can switch single 16K into a part of the visible area
Level 3.) CPC: can switch 16K and even 64K into the visible area, but with limited possibilities
Level 4.) MSX, PCW, Enterprise, NCxx0 etc: can switch any parts of the extended memory into the visible 64K in 16K blocks

Sam Coupe is somehow between 3 and 4 due to its limited 32K pages.
There are some more curiosities like the MTX500/512/RS128 which have banking possibilities between 2 and 3. Or the strange MMU of the C128, which could handle 512K but then was restricted to 128K as the Commodore management didn't like to have it too powerful.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: roudoudou on 09:43, 14 October 22
Quote from: Prodatron on 14:55, 13 October 22If someone shows me a real working example of a software, which does useful things with so much RAM (>1MB) which can't be done with a mass storage device, I would be convinced. All I see now are video- and audio-streams or theoretical blah blah.
in an arcade game, some delta animations for background could use hundred of kb
in a platform game, depend of what you target as animation quality, you can rise as many MB as you want
it doesn't matter that i had only 8MB with my Pentium back in days if i can do a top notch Amstrad CPC game with moaaaaR !

as an example, this short preview of a pending project need at least many ROM (but huge RAM capacity may be fine)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 11:03, 14 October 22
Wow, fantastic animations! :o
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 11:06, 14 October 22
Well, seems mass storage on CPC now is qutie plentiful and common and that itself gives the possibiliy of some interesting games which can exceed the space of a DVD ROM if desired.  I would see 16mb on a CPC besides some specialty uses, as a perfect cache for potential megasized games that would otherwise keep accessing the quite fast mass storage.  Of course I am happy with 4mb too, but 16mb or 16gb even is pretty cool if implemented in a quite cheap way - at least we can put a large number on the reset screen that isn't a lie.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 15:28, 14 October 22
Quote from: Prodatron on 21:39, 12 October 22Now I am just curious, does that mean that your FutureOS is crashing with a normal memory expansion on a CPC plus with plus features enabled?
Thanks god no. Our FutureOS always worked with any kind of RAM expansions on the 6128plus. We just had the luck that the access to the memory mapped I/O (ASIC) is usually done when the main RAM is banked in.

However in the machine monitor you can select an 16 KB expansion RAM block between &4000 and &7FFF and then access the memory mapped I/O too. This can serve to check for possible problems with certain expansions. Well, I'm sure there are other ways too. For sure somebody did already such a test program.

Personally I never ran into the problem (of ASIC being enabled, accessed and E-RAM being active), but it's AWESOME to have the Gemini expansion. :) :) :)

I'm fully aware that your SymbOS supports a maximum of 1 MB, so for SymbOS 1 MB is fine of course.  However,  4 MB would be just awesome for the native OS and also for FutureOS.

And I'm really looking forward to the possible 2 MB expansion of course!!!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: tronic on 19:50, 14 October 22
Quote from: roudoudou on 09:43, 14 October 22
Quote from: Prodatron on 14:55, 13 October 22If someone shows me a real working example of a software, which does useful things with so much RAM (>1MB) which can't be done with a mass storage device, I would be convinced. All I see now are video- and audio-streams or theoretical blah blah.
in an arcade game, some delta animations for background could use hundred of kb
in a platform game, depend of what you target as animation quality, you can rise as many MB as you want
it doesn't matter that i had only 8MB with my Pentium back in days if i can do a top notch Amstrad CPC game with moaaaaR !
as an example, this short preview of a pending project need at least many ROM (but huge RAM capacity may be fine)

Totally agree about the delta animations and what Roudoudou says...
I'm often frustrated that I can't add many more frames due to lack of ram when I do some deltas tests* for fun... Mainly demo oriented effects...
This is even more true for a game with delta animations... And obvious in the posted video above...

*A few here (in 128kb only, unfortunately...) :
https://rasmlive.amstrad.info/edit/GQufxj9uuQjjczmfn
https://rasmlive.amstrad.info/edit/EenmF7REYnmg2KhMF
https://rasmlive.amstrad.info/edit/nnwQBDAAoBdodm6Xm
https://rasmlive.amstrad.info/edit/qj7HjpBHJuGN7EJNp
https://rasmlive.amstrad.info/edit/XrcagxGAQSmtTqJvE
https://rasmlive.amstrad.info/edit/iL3rBFiMxpqfbmPJn
https://rasmlive.amstrad.info/edit/GeWAdbAHTBQjrCvWp

Best.
Tronic/GPA.


Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 14:18, 15 October 22
@PulkoMandy : Please put me on the waiting list for one ingenious Gemini RAM expansion.  :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Nemo59 on 23:10, 30 October 22
Hi, I'm interested by one board Gemini! 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: kawickboy on 15:40, 02 November 22
You can count +1 for me please. Especially if a symbos plus release is on his way.
1Mo, 2Mo, 4Mo, 16Mo... I'm in.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: amijim on 00:25, 05 November 22
Hello, I am also interested in one unit. Thank you. 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Cwiiis on 10:52, 09 November 22
I'm trying to be patient, but my curiosity has gotten the better of me... Is there any progress on this @PulkoMandy ? Eagerly awaiting :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 11:05, 09 November 22
Hello,

The first 10 boards have been shipped last week. This was my initial batch to identify any problems with the design, and indeed there was one small problem that I had to fix while assembling the boards.

I will make an order for the next 20 boards PCBs and components soon, I've been busy with other things lately. And after I order them it will probably take ~3 weeks for the PCBs to get delivered, and then a bit more for me to assemble and test the boards.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Nemo59 on 13:41, 09 November 22
Excellent! How to place an order for a delivery in France?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 14:48, 09 November 22
I have taken note of your order already, I will send you a private message when the board is ready with payment instructions  :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Titi on 14:52, 09 November 22
Quote from: PulkoMandy on 11:05, 09 November 22Hello,

The first 10 boards have been shipped last week. This was my initial batch to identify any problems with the design, and indeed there was one small problem that I had to fix while assembling the boards.

I will make an order for the next 20 boards PCBs and components soon, I've been busy with other things lately. And after I order them it will probably take ~3 weeks for the PCBs to get delivered, and then a bit more for me to assemble and test the boards.

Please put me on the waiting list for one Gemini RAM expansion.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 15:48, 09 November 22
My arrived today! Thanks a lot! I will try them soon with my 6128 Plus. I am especially very curious about the ASIC leds, will probably look quite cool.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Maniac on 20:46, 09 November 22
Mine arrived yesterday thank you. Will try it out at the weekend if not before. Looking forward to trying it out.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 14:25, 10 November 22
Quote from: Maniac on 20:46, 09 November 22Mine arrived yesterday thank you. Will try it out at the weekend if not before. Looking forward to trying it out.
Happy weekend then!  :) :) :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 17:21, 10 November 22
Quote from: PulkoMandy on 13:10, 13 October 22But is there any software that really makes use of it? Because the list of software on that Wiki page is just memory testers... If that's all you want to do, it's easier to write software that just pretends the memory is there and working fine  ;D
Have you tried AMDRUM (and the later LambdaSpeak Speech Synthesizer) ?  I know there are better software for every more modern computer, but AMDRUM on Amstrad CPC is actually quite fun and usable - now it achieves some really awesome results with only 64kb!  Imagine if you have 16mb (or even 4mb) of sample RAM. That is only 1 use, in the end it depends how well it gets adopted and breaks that chicken egg situation - but I can say that nothing will ever happen without the RAM expansion before the software - or... perhaps some software could almost be there.

Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Richard_Lloyd on 22:09, 10 November 22
Arrived in the UK. Weekend playtime coming up!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: tooloud on 11:47, 15 November 22
Quote from: PulkoMandy on 11:05, 09 November 22I will make an order for the next 20 boards PCBs and components soon, I've been busy with other things lately. And after I order them it will probably take ~3 weeks for the PCBs to get delivered, and then a bit more for me to assemble and test the boards.
@PulkoMandy Put me on the list please :) I have Amstrad CPC6128+ waiting for it ;) Can you estimate cost with shipping (01-318 Warsaw, Poland)?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 13:54, 15 November 22
The cost is 35€ with shipping included, no matter where you are.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: tooloud on 10:58, 17 November 22
ok, put me on the list please, if you need pre payment now let me know on PM. Thanks!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 11:54, 17 November 22
No, I take payments only when the boards are ready to ship.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Cwiiis on 16:45, 17 December 22
Quote from: PulkoMandy on 11:54, 17 November 22No, I take payments only when the boards are ready to ship.

Hi Pulko, sorry to bother you, just wondering how this is going? Still eager to get on/a board :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 18:35, 17 December 22
Hi,

I have assembled two boards this week with the fixed PCB layout but they are not working. I'm not sure why yet. Probably I messed up something with the small changes I did to the PCB (the first 10 boards needed a small rework which I incorporated in the PCB this time). I also have supply problems with one of the chips used so I need to find an alternate supplier.

I will get back to this in january.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: eto on 18:42, 17 December 22
Just out of curiosity: how do you manage to recognise the lock/unlock sequence with a ATF22V10? 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 19:11, 17 December 22
An ATF22V10 plus a 74LS688.

It would be possible to do it in a single chip using an ATF750, but before I can do that, I need to patch my programming software (atfblast) to be able to program the ATF750. The programming algorithm is already reverse-engineered and documented so that should be possible, but I had no time to dig into it. Or someone with a suitable programmer could do it.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 00:09, 18 December 22
Quote from: PulkoMandy on 18:35, 17 December 22Hi,

I have assembled two boards this week with the fixed PCB layout but they are not working. I'm not sure why yet. Probably I messed up something with the small changes I did to the PCB (the first 10 boards needed a small rework which I incorporated in the PCB this time). I also have supply problems with one of the chips used so I need to find an alternate supplier.

I will get back to this in january.
Well... it turns out they work a lot better if I solder the correct chips  :doh:

So, I have two boards working but I'll keep one for myself. And I'll not be home for the next week and a half so I will resume assembly and shipping after that. If I manage to order the missing parts until then, I should be able to ship all orders before the end of year.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 18:19, 18 December 22
You do a great job for CPC users. Now it's time to enjoy the time between the years. Sometimes it's a good thing to regenerate the soldering / programming / anything else will work better.  :) :) :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 23:09, 28 December 22
Hello,

Here is the current waiting list (again missing some chips because i can't count... should be delivered in the next few days):

- Amijim
- Tooloud
- Asertus

everyone else should have received a message with payment instructions and I will send the boards as soon as they are paid.

Also, due to a special command, I made a non-plus version of the board for CPC6128 (the ASIC detection is simply removed). So, let me know if you want one of these.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: ukmarkh on 23:21, 28 December 22
I'll take a RAM expansion as well if still available. How did I miss this  :doh:
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: kawickboy on 15:13, 30 December 22
PM received and answered. Thx.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: erebos007 on 00:55, 03 January 23
Hi ! Newbie 6128+ owner here  ;D
Could you please put me on the list for 1 board when available ?
Thx 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: tooloud on 01:05, 06 January 23
got PM!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Cwiiis on 12:48, 06 January 23
Received mine this morning, thanks PulkoMandy :) Haven't tested it just yet, but will soon - need to get my non-RSF3 expansion setup sorted (M4+Gemini+PlayCity vs my current RSF3+PlayCity)... Feels like a good time to give Unidos a proper go :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: HAL6128 on 14:37, 06 January 23
Mine arrived too and it works fine on a Plus (recognised well under SymbOS).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: kawickboy on 13:50, 09 January 23
Package well-received. Thx.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: erebos007 on 00:25, 18 January 23
Hello,
Board received today  ;D thx 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 13:53, 18 January 23
The Gemini works very well with FutureOS (6128plus enhanced version) - the 1 MB mode and the 512 KB mode equal perfekt.

Thanks for this great achievement.  :) :) :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: tooloud on 19:12, 20 January 23
just got it, thanks @PulkoMandy !
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: shacpc on 13:38, 21 January 23
Package received and Gemini working perfectly on my CPC464+ & M4. Excellent support from the author. Thank you.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Apollo on 09:51, 28 January 23
Damn, I somehow missed this thread and additionally, I also didn't know about the RAM extension problem/incompatibility with the ASIC paged into RAM!
Learned something new and, most important, that finally explained why I had some weird bugs with my 6128+ code that I wrote using RAM expansions like Symbiface2! And it seems some people knew about that problem, but it was nowhere documented... :o

@PulkoMandy: I would be interested in 2x 1Mb RAM extensions please, and if you ever decide to bring also a 4Mb version, I gladly would order then at least two as well, as I have use of that for some code I am cooking. (Hen egg problem...)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 10:23, 28 January 23
@Apollo it's one of those things that have been circulating for a little while. I've tried to encourage people not to describe there hardware as Plus compatible when it suffers this issue, but they obviously have reasons not to. It does need documenting, although I'm not sure where is best. I think some of the programming and technical sections need some tidying and structure as it's a bit impenetrable at the moment. I've been thinking of making some Plus tutorials so maybe I'll have a look.

@PulkoMandy you can add me to the list for one. I'll probably never actually get around to using it, but it's a project worthy of some support in my opinion.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 15:22, 28 January 23
Hello,

Everyone who has already paid for a board should have already received it.

There are some people who ordered a board but never paid for it, your boards are still waiting until I get a payment.

People who ordered a board today should have received a message, I ahve assembled the boards and they are ready to ship once I have your payments and shipping addresses.

Have a nice weekend everyone!
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 17:19, 18 February 23
Hi PulkoMandy, just a clarification.

- A 6128plus has 128kb memory, 2 x 64kb banks if you like.  Do both 64kb banks work correctly with a 6128plus when ASIC is paged in? or just the first 64kb bank?

- If we were to use a existing 64kb 3rd party expansion on a 6128plus - this RAM will basically override the internal second 64kb bank of the 6128plus and have the issue?

- With a Gemini

-- if we are running instructions from block 5 (2nd block in the 2nd 64kb bank) and enable ASIC, what happens?

--  With video RAM, if that is put at #4000, and ASIC is enabled - does the CRTC still correctly read the video RAM and not the content of the ASIC RAM?

-- With video RAM, if that is put at #4000, and ASIC is enabled and code is running from block 5 - does the Z80 correctly execute the code and the CRTC still correctly read the video RAM?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 17:36, 18 February 23
@zhulien I can answer the first two questions:

1) Both 64K banks of a 6128+ work correctly, i.e. when the ASIC is paged in, no RAM will see the writes to addresses between #4000 and #7fff regardless of what the memory paging arrangement is.

2) Yes, this is the problem with memory expansions designed for older CPCs when used with a Plus machine. They are unaware of the existence of the ASIC registers and will update banked RAM whenever they believe it is paged in. Thus if banked RAM is paged in at #4000, writes in the range #4000 to #7fff will update RAM even if the ASIC registers are paged in. RAM values will therefore become corrupted in a way they shouldn't.

I believe the Gemini expansion is designed such that these issues shouldn't happen, but equally shouldn't upset the normal behaviour of the main 64K - i.e. putting the screen display at any address should work, DMA lists stored anywhere in the main 64K should play correctly etc. I haven't tried it yet as I haven't received mine yet (and would have to spend a while getting my Plus set up in a usable condition once I did).

Assuming it works correctly, the other answers should be:

3) The Z80 will attempt to execute the ASIC registers as code, which will probably end badly. This would fail on a 6128+.

4) That should work. It would on a 6128+.

5) That should not work. The display should still come from block 2, but the Z80 will see the ASIC registers and not the RAM at #4000 - it will thus attempt to execute the registers. This is what a 6128+ would do
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 17:44, 18 February 23
I'm surprised that you have not received it yet, it was shipped several weeks ago. Well let's wait a bit more, and if it turns out it was lost in postage I'll just send another one...
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 23:01, 18 February 23
Quote from: andycadley on 17:36, 18 February 23@zhulien I can answer the first two questions:

1) Both 64K banks of a 6128+ work correctly, i.e. when the ASIC is paged in, no RAM will see the writes to addresses between #4000 and #7fff regardless of what the memory paging arrangement is.
Does that mean from an unexpanded 6128+ point of view, the ASIC and block 5 somewhat work like ROM over screen RAM at C000 - i.e. you can from ROM and transfer images to the screen by writing to the ROM you are reading from? (I do that in the SUPER.ROM)...  can you run code in the block 5 with preprepared sprite data and basically LDIR it to the same address and it would appear inside ASIC or does ASIC replace the RAM no matter which block - even for reads?  I ask this because it is the RAM you are blocking the writes to, effectively making it readonly like a ROM - but where do the reads come from if both ASIC and block 5 are paged in?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 23:32, 18 February 23
They can't be both paged in. The ASIC takes priority over everything else. When the ASIC is mapped you can't access RAM or ROM at the same address.

If you use an external memory extension that doesn't take this into account, writes will go to both the ASIC and the RAM, and reads will be replied by both the ASIC and the RAM or ROM at that address. For writes this is OK, for reads it creates a conflict, and you will probably read corrupted data and cause a short-circuit on the signals, which isn't great for the hardware.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 01:05, 19 February 23
Quote from: zhulien on 23:01, 18 February 23
Quote from: andycadley on 17:36, 18 February 23@zhulien I can answer the first two questions:

1) Both 64K banks of a 6128+ work correctly, i.e. when the ASIC is paged in, no RAM will see the writes to addresses between #4000 and #7fff regardless of what the memory paging arrangement is.
Does that mean from an unexpanded 6128+ point of view, the ASIC and block 5 somewhat work like ROM over screen RAM at C000 - i.e. you can from ROM and transfer images to the screen by writing to the ROM you are reading from? (I do that in the SUPER.ROM)...  can you run code in the block 5 with preprepared sprite data and basically LDIR it to the same address and it would appear inside ASIC or does ASIC replace the RAM no matter which block - even for reads?  I ask this because it is the RAM you are blocking the writes to, effectively making it readonly like a ROM - but where do the reads come from if both ASIC and block 5 are paged in?
No, because when the ASIC is paged in all reads and writes between #4000 and #7fff by the CPU are accesses to the ASIC registers and the RAM is hidden. There is no write-through (or read-through) like there is with ROM.

The video hardware (and the DMA processor) never see any of the paging though, all there accesses come directly from the main 64K as if nothing else existed.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 04:52, 19 February 23
I get it, it is to stop the memory corruption when the external banks are paged in, but doesn't address the original design  of paging in asic when running from block 5.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Apollo on 03:58, 21 February 23
@PulkoMandy Received my package! Thank you very much, will play with the hardware in my next vacation 8)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 13:18, 26 March 23
Hello,

News from Gemini:

- I can make an Amstrad CPC 6128 version (without the ASIC lock/unlock feature)
- 2MB RAM chips are available again, so I can finally start building the 2MB version

When ordering, please let me know which version you want: Plus or CPC6128, and 1 or 2 MB.

Gemini is still not compatible with CPC464 and 664.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: HAL6128 on 19:18, 26 March 23
...hm, is the Gemini not supposed to work with a regular CPC6128? I mean, I plugged it for testing purposes in and it work pretty cool on a CPC6128 (and with CP/M, also the Dk'tronics RAM drive works). Might there some problems to be expect a normal CPC?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 20:33, 26 March 23
It will work, but if some software attempts to unlock the ASIC, it will not map itself in the memory area that would normally conflict with the ASIC.

I don't think this is very likely to happen, but I can make a version with the ASIC unlock and mapping detection circuit completely removed, since it's not needed in that case.

You will easily notice if you end up in this condition: if both the LEDs light up on a non-Plus machine, you're in this case.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 10:18, 27 March 23
That's an interesting information. It means, that after trying to detect a CPC Plus with no success you should execute one "unmap ASIC" operation just to tell the Gemini, that it can map to this area. Then it should work on a 6128 old generation without problems?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 10:23, 27 March 23
Quote from: Prodatron on 10:18, 27 March 23That's an interesting information. It means, that after trying to detect a CPC Plus with no success you should execute one "unmap ASIC" operation just to tell the Gemini, that it can map to this area. Then it should work on a 6128 old generation without problems?
You could do that, but then you're into the realms of trying to work around supporting a memory expansion that wasn't really designed for the hardware you have. Which is exactly what the Plus version of the Gemini was trying to avoid in the first place.

It's probably easier to just accept that the different models need different RAM expansions (which would be easier if everyone didn't add a RAM expansion to every peripheral they design but hey ho).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 10:37, 27 March 23
That's true, but why shouldn't new software take that into account, as now we know about this.
I am using the current Gemini version for my 6128 oG together with the M4Board, so for me it makes sense, if there is no conflict if software tries to detect a CPC Plus.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 10:44, 27 March 23
Yes, if software re-locks the ASIC after trying to unlock it, you're fine. Or also if it uses some other way to test for a Plus machine, for example detecting CRTC type 3 without unlocking the ASIC.

The LED on the Gemini lets you know when the ASIC is unlocked. This leads to some interesting discoveries (or re-discoveries). For example if you run Burnin Rubber and reset the CPC using CTRL SHIFT ESC, the ASIC remains unlocked, and you can access the BASIC with ASIC unlocked. Which means the locking wasn't really effective to begin with. Oops  :laugh:

In later batches of the Gemini I will add a way to change easily from one configuration to the other (with a switch for example). But the non-Plus version has 3 chips on it instead of 5, so maybe I can make a smaller version and maybe also a little bit cheaper (but it may not be a very large price difference). But now that I have said that, no one will want to buy the current boards...
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: andycadley on 12:31, 27 March 23
Quote from: Prodatron on 10:37, 27 March 23That's true, but why shouldn't new software take that into account, as now we know about this.
I am using the current Gemini version for my 6128 oG together with the M4Board, so for me it makes sense, if there is no conflict if software tries to detect a CPC Plus.
Because it's closing the stable door after the horse has bolted.

There is already software out in the wild that doesn't do that, so trying to use it on a standard CPC will likely cause weird incompatibility issues anyway. Anyone wanting a memory expansion for an old school CPC has plenty of other options that they can spend their money on and get the behaviour they expect.

Ultimately the Plus and CPC models need different implementations of memory expansions. You could do an "all in one device" by adding a switch/jumper that selects what type of device you have (I don't think there is any other way) and if there is a market for such a thing, I'm sure someone will build one. I'm still dubious about that, I suspect just having separate devices and being clear about what they are fully compatible with is a lot easier in the long run.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 15:06, 27 March 23
Hi 6128plus Users! Well, I just intended to drop in an tell how great the 1 MB Gemini board works with my 6128plus computer (and I actually to lots of direct hardware programming, so 'testing' was done the hard way).
And - oh wonderful - there is the 2 MB version. And I want right that what is offered (instead a RAM expansion working on all computers). PM sent of course already.
IMHO it's great to have a RAM expansion specifically made for the 6128plus and I (personally) see not too much need to see it running on other computers, because: I bought it for the Plus, it runs with the Plus, it stays with the Plus.  :) :) :)

2 MB on Plus is an even greater achievement!!! Thank you so much PulkoMandy!!!  :) :) :)

(start dreaming of 4 MB for the Plus now... ;-))
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 10:51, 16 April 23
Hello,

So, here is a bit of an update. Since I can now offer a 2MB version, it makes sense to offer this for CPC 6128 (non-plus) as well. There were some demands for that. So I'll now make it officially available. And since it allows me to remove some chips and is a bit faster to assemble, it is also a little cheaper.

Important note: this is still only for the CPC6128. For the 464 and 664, a different design is required, which I am not able to test (I don't own any of these machines in an usable state)

The updated price list:


As usual, please send me a PM or email first to order and don't pay anything upfront - I will tell you when your hardware is ready to ship. Especially with so many configurations available, I will not assemble boards in advance, and instead wait for orders to assemble exactly the board you want.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 13:21, 27 April 23
Received my 2 MB Gemini and (like the 1 MB version) it works perfectly. 
Thanks for this great expansion  :) :) :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 07:45, 28 April 23
are the 2mb Gemini's compatible with the Symbiface 3 2mb RAM?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 07:58, 28 April 23
I don't know how the symbiface III RAM works. Is it compatible with DKTronics and MEMCARD or is it something else?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Prodatron on 15:56, 28 April 23
Symbiface 3 is using the #7fxx (first 512K), #7exx (second 512K) , #7dxx (third), etc. standard (I think this was first defined by Jarek?).
I guess all newer memory expansions are using this standard.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 16:24, 28 April 23
Yes, this is the same scheme used by the MEMCARD so it is compatible. I don't know exacly who (Yarek or RAM7) did it first.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: TotO on 17:27, 28 April 23
And it's not important to know, because it's just logical and not the invention of the century. :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 17:46, 30 April 23
Quote from: zhulien on 07:45, 28 April 23are the 2mb Gemini's compatible with the Symbiface 3 2mb RAM?
Nearly, the SF3 RAM can also recognize the activation of the 6128plus memory mapped are, but it does not scan for the activation code. So the SF3 RAM is nearly there but the Gemini does a bit more. (In case of SF3 you do need the recent update though).
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 17:48, 30 April 23
Quote from: PulkoMandy on 16:24, 28 April 23Yes, this is the same scheme used by the MEMCARD so it is compatible. I don't know exacly who (Yarek or RAM7) did it first.
In 1992 (iirc) I had email contact with RAM7, who defined it up to 2 MB. Later on the 4 MB expansion was released, which was straightforward from RAM7s 2 MB solution.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: zhulien on 06:02, 05 June 23
I received my Gemini today, many thanks 
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: darkhalf on 11:37, 03 January 24
@PulkoMandy received my board today thanks, but it is showing as 512KB mode with the '2MB' switch set on my CPC464 plus. I will note there are some (but not all) extra banks showing up in Amstrad Diag (see pictures)

Also tested this on a CPC6128 using Symbos and showing 640KB (other memory test programs also showing 512KB)

Any ideas on this one?
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 12:38, 03 January 24
It seems the board was damaged after my testing or during shipping. You can send it back and I will send you another one.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: darkhalf on 14:00, 03 January 24
Okay thanks. I'll have a look over the microscope tomorrow and see if I can find anything before going down that path
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: GUNHED on 00:17, 04 January 24
Quote from: darkhalf on 11:37, 03 January 24@PulkoMandy received my board today thanks, but it is showing as 512KB mode with the '2MB' switch set on my CPC464 plus. I will note there are some (but not all) extra banks showing up in Amstrad Diag (see pictures)

Also tested this on a CPC6128 using Symbos and showing 640KB (other memory test programs also showing 512KB)

Any ideas on this one?

You should test it with the tool 'OS Infos' under FutureOS. Because this will show you up to 4 MB of connected RAM. The latter software only shows you only up to 1 MB due to its limitations.

A video is here: https://youtu.be/h2RGjXUooiQ?t=30
At second 39 the full 4 MB of RAM are shown.
In your case it shall show 2 MB like it's expected.
Good luck!!!  :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: darkhalf on 00:56, 04 January 24
QuoteThe latter software only shows you only up to 1 MB due to its limitations.
Thanks but I've got just the 1MB board, so Symbos/Diagnostics should be sufficient for testing this

QuoteIt seems the board was damaged after my testing or during shipping

@PulkoMandy looks like there was some rework on the board received. The chip appears to have been removed and is missing a number of pads on the PCB. Also the rear switch has had tracks cut. The tracks where cut were shorted to the backplane, and the wires have come off and are melted.

Where is the yellow wire meant to go? I can try and get this going here before spending the $15 and waiting another month to swapping the board

Just some suggestions when removing / replacing chips. Use a product called Chip Quick to remove the solder easily. It is an alloy material which melts the solder at a lower temperature level. Otherwise use a narrow tip hot air gun/rework station to remove the chip. This should help avoid lifting pads. Afterwards use copper desoldering braid to clean the pads before replacing the chip. Any kind of rework with wires should use single core wire (multicore is too bulky for thin PCB tracks). Also the usage of flux will help the solder flow
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 08:51, 04 January 24
Yes, I know all that :)

This is the first board I made and it took a few retries to get things right. Unfortunately this means unsoldering the GAL to reprogram it sor each change... so it suffered a bit from these experiments.

I think the yellow wire goes to the ground plane. Initially the board was designed for 2MB chips, but due to the chis shortage at the time, only 1MB chips were available. So, the unused address bit is grounded.

Your problem will likely be with the orange wire, which either lets another extra address bit go to the memory chip, or force it to ground. Or maybe you can trace it back on the other side of the switch up to the register which stores the current memory configuration
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: darkhalf on 10:27, 05 January 24
Quoteunsoldering the GAL to reprogram it sor each change
Yeah that is a bit of a pain with SMD stuff. Okay I did a reflow of the components on both sides of the board and used single strand wires and put in positions you mention and all good

Now shows 1MB and now the expanded memory plus games can be used  :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 10:54, 05 January 24
Ok, it's nice that you could fix it by yourself :)
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: Solo Kazuki on 08:10, 11 April 24
Hi

Actually I'm interested in 2MB expansion, but if it's not possible then I'm interested in 1MB one.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: PulkoMandy on 08:17, 11 April 24
I was a bit busy this week. Both versions are available, I'll reply to your PM later today.
Title: Re: Gemini 1MB RAM expansion for Amstrad Plus
Post by: hsimpson on 02:55, 15 April 24
Hi

I'm interested in 2MB expansion (plus version).
Powered by SMFPacks Menu Editor Mod