News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_MacDeath

ACID chip inside

Started by MacDeath, 13:52, 23 October 09

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fano

Quote from: fano on 14:38, 21 February 10What is the real usage of LKs.As i understand they allow to "roll" memory but what is the goal ? avoid to send signal on unused pins on 32/64/128/256K EPROM ? Could we remove them safely and connect directly A0-->A18 eprom pins to bus ?

Found the anwser at pulko project's page, thx :

Quote from: pulkomandyThe same PCB can be fitted with different romsize, and to avoid addressing problems on the smaller ones one have to set the "LK" jumpers properly. If the pin is an address you connect it to the related CA, else you connect it to VCC. This avoids problem as the pins are used for other purposes in smaller roms. Letting the pins connected to the address could either send wrong data to the address bus, or cause short-circuits inside the ROM.
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

PulkoMandy

As for adding write support : I do not plan to do that in the first version of the cart. However, I believe it may be possible to hack up something. It would not be useable as easily as regular ram (you'd have to write to one address and read from another for the same data). But I can't confirm it is possible until I have a real computer to test.

nocash

Uh, "cause short-circuits inside the ROM"? Not really, one LK pair is for the power supply on 28pin chips, another pair for /PGM (aka OE2) on 32pin chips, and the other LK pair... that one seems to be useless.

Is anybody working on real ACID clones yet? As far as I see, nobody who knows something about hardware does actually own a cpc+/gx4000. So it could take another 20 years until somebody implements it :-)

Saving game positions is probably even more far away. But it'd be nice. I wouldn't like the idea to use FRAM or battery backed SRAM - that's expensive. And, nowadays, FLASH ROMs are cheaper than EPROMs, so the "ROM" is write-able anyways. It'd be stupid to include additonal RAM.

Normal writing to the cartridge should be impossible. First, there seem to be any people here who could test if it works. And second, it's very unlikely that it does work, the address and data might be output to the cartridge, but the /CE isn't (unless the hardware is bugged for some reason). Why no /CE on write? Simply because: On the CPC, writing to RAM is possible even when ROM is enabled.

So only the trick with reading from special address would do it: First reading from a special sequence of address that tells the cartridge to write instead read on next some accesses. And then doing a write like [12345]=XX as two reads from [12345] and [123XX] or so.

MacDeath

#153
You got a point.Most of Existing Amstrad PLUS are in France.
The international Amstrad SCene is scattered in Europe.

Even here in france, many 6128+ are sold at unreasonnable price, and shipping fee may be even worse.

Let's say the average price range from 30€uros to 50€uros.

On the other hand GX4000 are rarely under 50€uro because consoles collectionners are more numerous and perhaps more eager to give more money.

I even saw a guy selling a 6128+ for outrageous and unrealistic 200€uros.

Problem : some poeples ask 40€uro only for one cartridge, while other may sell a complete computer with a box of disk and perhaps a pair of cartridges, or a GX400 with 5 cartridges for the same price.

Also some sell a 6128+ with absolutly no extra stuff (no disl nor extra cartridges but the basic) for unrealistic 70€uro or more.

I managed to get 2 a decent prices because I was lucky : they didn't asked for a lot and were not fare from me so I could get them by car, and i even found on in perfect state at the public garbage...

The question is : how much would you spend for a 6128+ stranger fellows ?

I'm looking if I won't buy extra 6128 near my home (negociate better prices...) so I would bring up some to spain for our friends there.

Yet a 6128+ is not that light in weight and you know the weight is quite limited when travelling by plane.

Also, I'm not rich, yet I wouldn't make profit I'm not even sure this wouldn't cost me indeed.

arnoldemu

Quote from: OCT on 18:13, 21 February 10
Once the ACID has found its SINful self and given the ASIC the go-ahead to unlock RAM etc., it should be ready to accept (an)other magic for happily doing whatever the remaining CPLD/FPGA chip estate (unless really used for an over-the-air flash-PROMmer) is capable of - such as writing to an(other part of the) EEPROM.

I.e. the logic being conceived by nocash, nilquader et al. would first emulate the ACID and then (keeping SIN as it is when it's through with the shift-register stuff) branch into waiting for a sequence on the address bus that should have no effect on a normal CPC or Plus but let the custom IC (or WEED chip as you preferred to call it ;)) do all further marvels we could contrive.

As to turning the GX4000 into a full-fledged CPC6128+, there was an article by German hardware hacker The Cranium in one of the last issues of French A100% (and an English or German original thereof could possibly be retrieved if anyone knows the whereabouts of this guy). On power-up it's all back to square one, playing ACID first, then waiting for new magic again...
That's my point in recalling the old CPC 6512 as well as the more recent CPC4MB which hold some clues to using extra/upgraded memory banks - with the sockets fully wired (if the circuitry can power them in parallel), the extra trick is just some gate logic for the proper bank-select line.
The info for converting gx4000 into cpc6128 is on my amstrad webpages.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

PulkoMandy

Fixed the text about LKs on my page.
As for manufacturing clones, I plan to write the VHDL (if no one does it before me) and program that inside some CPLD. Of course, having a Plus at home will help testing, but I can go to the next french CPC meeting and borrow one...
Anyway, I'll design the cart even if I cannot test it. Everything will be available so anyine can build it himself then...

Nilquader

Quote from: PulkoMandy on 23:01, 21 February 10
As for adding write support : I do not plan to do that in the first version of the cart. However, I believe it may be possible to hack up something. It would not be useable as easily as regular ram (you'd have to write to one address and read from another for the same data). But I can't confirm it is possible until I have a real computer to test.

I've tried to add write support to cartridges a few years ago. As far as i remember, the data bus is not connected to the cartridge slot during write operations. So you cannot just use one of the address lines for write enable. I might have some logic analyzer data of the cartridge slot during write and read operations lying around somewhere...

You might be able to simulate a write access by two read accesses. First buffer the lower 8 bits of the address bus and then, during the next read access enable writing and put the buffered address on the data bus. But you still need a method to distinguish a write access from a regular read access. A similar method was used on some Atari 2600 cartridges to save games.

--
Nilquader of SPRING
http://www.nilquader.net/

Bryce

Would it not make more sense to build a small "ACID cracker" PCB that would be installed inside behind the cartridge socket of the CPC+/GX4000, so that the cartridge only needed a ROM socket and the LKs much like an Atari XL Cartridge? This way you can have many cartridges without having to buy/program many VHDL parts?

Bryce.

PulkoMandy

For saving, you can enter "savemode" by connecting a special cartridge bank. If there is a CPLD in the cart it can be used to create some mapper logic like in NES games...

As for building an "acid breaker", yes, that's a possibility. You can even remove the ACID chip from your system cartridge, solder it inside the Plus and cut the sin pin from the cart port. This way you can plug either official or unofficial carts without bothering (if there is an ACID inside the cart it will be ignored).
Another possibility is to do some kind of Y-connector, plug your system cart to one side and another one without ACID on the other. This way the system cart provides the ACID and the other cart provides the rom data. Using this there is no need to alter the hardware, and no need to scavenge an ACID chip or build a new one.

But I yhkin some people will like having like-new homebrew cartridges that are easy to play without having to mess with all this : just burn a ROM, solder it, and sell your game.

Trebmint

So are we saying that if you want to write a game, you'll also have to be able to solder chip and boards together? I'm eager to write new games/software for the plus like I have before, but I'm no hardware person.

Hmmm unless there is a easy way for us to buy ready made carts and burn them, or something similar I can't see there being much point in doing this at all other than for completism.

PulkoMandy

I'm ok to do the manufacturing of carts. Anyway, if you want to make a cartridge based game, you have to program the cart. I'll start with a simple EPROM one, but I may do a flashcart easy to program with an usb port later... I'll think about it.

Trebmint

Quote from: PulkoMandy on 12:04, 22 February 10
I'm ok to do the manufacturing of carts. Anyway, if you want to make a cartridge based game, you have to program the cart. I'll start with a simple EPROM one, but I may do a flashcart easy to program with an usb port later... I'll think about it.
So it whats wrong with the cart format thats supported by Winape? You can't develop using this? TBH the days of me using DevKits are gone, cos its slow and boring.

Octoate

I just saw that there are differences between the original Pseudocode which nocash published within this thread and the Wiki article:


Wiki:
if PinCE=0 AND (ShiftReg OR 100h)=CmpVal then ShiftReg=ShiftReg XOR XorVal



Original:
if PinOE=0 AND (ShiftReg OR 100h)=CmpVal then ShiftReg=ShiftReg XOR XorVal


I would expect that OE is the correct pin. So which one is correct?
--

dragon

#163
I think CE is the correct,because CE is the name in service manual.

QuoteI'll start with a simple EPROM one, but I may do a flashcart easy to program with an usb port later... I'll think about it.

That sound very good.More easy that eeprom.But that need suport standard image cartridge .cpr

Octoate

Quote from: dragon on 12:37, 22 February 10
I think CE is the correct,because CE is the name in service manual.
Ah, ok. My mistake :).
--

arnoldemu

Quote from: Trebmint on 12:21, 22 February 10
So it whats wrong with the cart format thats supported by Winape? You can't develop using this? TBH the days of me using DevKits are gone, cos its slow and boring.
Nothing is wrong and you can develop with it.
In fact I was planning to use it in the future.

The only thing is it is always best to check on real hardware using real cartridges when you're done to fix those "not emulated" issues.

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

redbox

I understand all of the excitement over cracking the ACID and all the possibilities, but surely the first goal should be simply just to make this and replace the ACID chip with a different chip (such as a PIC or whatever).

Then all we need to do is get a price from somewhere to print the PCBs (we can even source some cheap plastic moulds) and a kit could be designed really easily so people can burn their own EPROMs (such as using a PC's parallel port) and make cartridges.

Then anyone who wants to make a cartridge could do it quickly and easily using a kit (even I could solder it together using my limited skills)...!  :)

Nilquader

Quote from: dragon on 12:37, 22 February 10
That sound very good.More easy that eeprom.But that need suport standard image cartridge .cpr
An EPROM does not support any type of file format. cpr files are just the contents of a cartridge EPROM (and some header data which is not really necessary). You just need to burn your .cpr file into an EPROM using your eprom burner's software and put it into the cartridge.
--
Nilquader of SPRING
http://www.nilquader.net/

Octoate

Quote from: Nilquader on 15:54, 22 February 10
An EPROM does not support any type of file format. cpr files are just the contents of a cartridge EPROM (and some header data which is not really necessary). You just need to burn your .cpr file into an EPROM using your eprom burner's software and put it into the cartridge.
The .cpr files are stored in the RIFF format. TBH, I never liked that, because I had to write a converter which converted the files into RAW data to use it in my Flash-EEPROM cartridge (externally programmed). The format is described here. It shouldn't be a problem to develop directly in WinApe and burn it later to check it on real hardware.

Btw, for the beginning we should keep it simple! Just a cartridge which works is enough for the beginning. All those fancy features can be added later.
--

Trebmint

For injection moulding for the casing is there not a fairly serious outlay to get a mould done of several thousand pounds/euros etc. Unless somebody owns a engineering company or can get these and supply cheaply we're going to have to work as a community surely to fund it. Or is there a cheap way to do the casing?

PulkoMandy

Thermofolding can be used if the shape isn't too complex (taking a sheet of plastic, heating it with a hot wire and fold it when it starts melting). The other alternative is finding a box that already have the right dimensions.

Well anyway we aren't there yet :)

OCT

Quote from: Trebmint on 20:50, 22 February 10
For injection moulding for the casing is there not a fairly serious outlay to get a mould done of several thousand pounds/euros etc. Unless somebody owns a engineering company or can get these and supply cheaply we're going to have to work as a community surely to fund it.
...or rather just to find it, as someone in Spain (certainly a person not unknown to the entire scene there) has gone through all this effort already. Assuming no-one would dedicate as much time to an inexplicably amazing Photoshop job, we've got to consider that in Neo's words "This thing is real" and sure looks like a case of well-made injection molding:

http://cpcrulez.free.fr/hardware_GX4000-Multi_EPROM_Cartridge.htm

deepfb

#172
..or rather just to find it, as someone in Spain (certainly a person not unknown to the entire scene there) has gone through all this effort already

D-o-S designed and built those cartridges - almost twenty of them. He used modeling epoxy (the kind of resin marketed to craft war-hammer figures) to make the cases and the cast where they were taken from.

MacDeath

#173
Yep, i suggested Epoxy resin to Fano too, being a Warhammer fan...


Advantages : it's a chemical cold reaction, while plastic molding is a heat based reaction, needing many more specialised machines to perform.

Don't know about the price, but perhaps not that much more xpensive than getting injected-plastic proffessionnal work.
The advantage is that it is achievable completely artisanally (is it a correct expression ?)

Off topic :

Warhammer models are not exactly Epoxy made.
Forge World's model are but GW's Citadel minatures are injected plastic or "white metal".

Yet Epoxy is often used by peoples who want to home-mold their own models, and by some less mass producing Miniatures companies.

I've seen a guy molding existing official Warhammer models. He took Wraith miniatures, made molds of them (many solution exist) and did transparent White Epoxy copies, so a Fantomatic effect was achieved.

A cartridge box being not as complicated as a fantasy miniature... molds may be homebrew by someone with access to adequat machines.

Milling machine.

My father actually own a little one... I will check for this.

If it is digital, this would be sweet, just need to do good blueprint of the molds.
But before molding the casing, we must know how will the printed circuit be.

Also would the programmable chip to replace ACID be a lot bigger ?

And we should keep in mind that 2 solution will have to be :

-MultiEeprom cart : for using old games and developp stuff, also Freewares.
-MonoEprom encased cartridges : because if we are to develop new games, there is no way it should be entirely free...

QuoteFor injection moulding for the casing is there not a fairly serious outlay to get a mould done of several thousand pounds/euros etc. Unless somebody owns a engineering company or can get these and supply cheaply we're going to have to work as a community surely to fund it. Or is there a cheap way to do the casing?
Well, if you use injected heated plastic, this is that expensive, but using Epoxy solution, the mold is to be simpler.
Even getting it done by micromechanic/metalworking company would not cost thouzands pounds.

Lots of such companies in my town of Valence. I should check for their prices.

But an even simpler way is to do it by  ourselves.

glue bitz and plastic plates together or midify and existing Amstrad Cartridge (as was done by spanish guy). add some solifying pastes and so on to shape it well if you want.

Then use the same solifying paste (Milliput or whatever) to do the molds.

There you are, you just put Epoxy inside and do it a lot of time until you have your production.


Concerning LK's :
Perhaps using mundane jumpers may be nice and secure ?

http://en.wikipedia.org/wiki/Jumper_%28computing%29

Probably cheaper than switchs... as I don't think peoples would change LK's config that often .

Bryce

These people here - http://www.pixelspast.com/homebrew/ - supply empty cartridge housings for the Atari 2600/7800, I'm not sure of the exact dimensions, but they may fit close enough to be used and if not, maybe the company would be willing to produce a CPC+ cartridge housing if enough interest was there?

Bryce.

Powered by SMFPacks Menu Editor Mod