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 3 Guests are viewing this topic.

nocash

Something else, related to cartridges... some years ago I made a tool called no$cart, that converts DSK images to cartridges (stores the BIOS/BASIC/AMSDOS and DSK image in the cartridge, the AMSDOS is patched to read from ROM instead real disk).

As far as I remember, somebody told me it worked on 6128+, but did not work on GX4000 and/or 464+ (don't remember if he tested both, but at least one didn't work). Most obvious reason would be that I forgot to remove an IN/OUT opcode that accesses the FDC - but I couldn't find any such bug. So, could there be another compatibility problem...?

In the CPC+ schematics (ASIC sheet), there's this text saying "FIT R129 FOR DISC VERS". At first glance it doesn't make too much sense to me, as the ASIC should have nothing to do with the FDC. However, the ASIC does map AMSDOS (ROM bank7, translated to cartridge bank3). So my theory would be that removing R129 does disable that feature. Can somebody test/confirm/deny that idea on real hardware?

If it's that simple, then all I'd have to do would be replace ROM bank 7 by ROM bank 83h in no$cart.

arnoldemu

#126
Quote from: nocash on 10:53, 19 February 10
In the CPC+ schematics (ASIC sheet), there's this text saying "FIT R129 FOR DISC VERS". At first glance it doesn't make too much sense to me, as the ASIC should have nothing to do with the FDC. However, the ASIC does map AMSDOS (ROM bank7, translated to cartridge bank3). So my theory would be that removing R129 does disable that feature. Can somebody test/confirm/deny that idea on real hardware?

If it's that simple, then all I'd have to do would be replace ROM bank 7 by ROM bank 83h in no$cart.
I think this is very possible. I believe the ASIC uses these resistors to detect the computer "configuration", and could use them to alter how it decodes I/O for example.

Looking at the service manual the GX4000 doesn't have any of these resistors fitted, and lots of missing connections.

The 6128+ has all connected.

But I would be very interested to know the result of this too. It's not obviously documented.

Another thing to consider is that the EXP signal is used by the ASIC to decide if disc rom should be decoded as 7 or 0. (same as the option link in the DDi-1 or on the 6128 main board). The option link to control this is connected here to.

In the GX4000 this is missing. I don't know if this will be pulled high or low.

If anyone is willing to make a cart I am willing to write the code to read some of this info and display it on screen so we can at least know what the "default" states are.

Has anyone tested the basic & burning rubber cartridge on a GX4000? Hmmm thinking about it, the disc rom could still be paged as 0 ... hmm.. would the gx4000 then try to boot cpm or still show the menu? hmmm

If it shows the menu then we have not gained anything useful.

I can try this last thing on a real gx4000 and my burning rubber+basic cart.

EDIT: Official spec concerning 464+: "This variant has an integral cassette tape drive, and 64k bytes of dynamic RAM. It is supplied with a ROM cartridge containing the system firmware plus the BASIC language, disk firmware and a game, although it is not possible to select the disk firmware. " ...? but the boot menu is in the disc rom..
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

dragon

In fact, I think there's a game cartridge.That only works good in the GX4000.The no exit.

That game does not go with the cpc +

arnoldemu

Quote from: dragon on 11:53, 19 February 10
In fact, I think there's a game cartridge.That only works good in the GX4000.The no exit.

That game does not go with the cpc +
It does work, but you have to remove all extra roms from the back of the computer and possibly any extra hardware.

I think the init code in the cartridge is a bit broken.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

nocash

#129
> Another thing to consider is that the EXP signal is used by
> the ASIC to decide if disc rom should be decoded as 7 or 0.
Whoops, it goes both to the PPI input, and also affects the disk rombank number? Good to know.

> In the GX4000 this is missing. I don't know if this will be pulled high or low.
Normally there should be the pull-up resistor, or the link to GND. If both are missing, then it's neither low nor high. That could also explain compatibility problems when accessing bank 7... or bank 0... but if the entrypoint is in bank 0, isn't it? So bank 0 must must be stable.

Btw. does somebody have schematics for GX4000, CPC664, CPC6128, etc.? The schematics page,
  http://www.cpcwiki.eu/index.php/Schematics
is still a bit very incomplete.

> No exit
> I think the init code in the cartridge is a bit broken.
Yeah, it doesn't init the stack pointer. It works only if booted with SP=C000h or so - which is probably not the way how a Z80 CPU initializes it, if it does initializes SP at all (?) otherwise, if SP=0000h, then the game tries to execute RET opcodes with stack at FFFxh, with ROM enabled in that region.

I've absolutely no idea how that game can work on real hardware :-) or does the GX4000 include a boot-rom which might init SP (like that in gameboys, that display "Nintendo" before starting the ROM in the cartridge)?

Bryce

#130
I should have those schematics in the same resolution as the others (CPC+), that I uploaded lately. I'll have a look at the weekend, and this time I'll remove the white space first :)

Bryce.

Edit: Hey, you're in luck, I had them here. They're on the page now. I may have more at home, will check at the weekend.

nocash

Thanks for the schematics! Now only GX4000, 464+ are missing. And maybe schematics for cost-reduced CPCs, if they do exist. No need to remove the white space... unless you like spending some hours on necrophile puzzling :-)

dragon

#132
Hey, the service manual original(paper) can buy her:

http://www.digivideo.biz/it/elettronica/schemi/serv_man_amstrad.htm

You only have to speak Italian  :D

The manuals are in English

Anyway, the 464 and the GX4000's were coming in the 6128's that I remember.

Nocash I'm going up that I have.(6128+464+ gx4000)


done:

http://www.megaupload.com/?d=8VMG4EKC

Bryce

#133
Ok, added the GX4000. The CPC464+ and CPC6128+ boards are identical so there was only ever one schematic released  (the resistors between the ASIC and the ADC decide which machine they are in plus the additional RAM (and a few extra bridges on the circuit I think).

I've also added some other monitors and cassette interfaces (everthing I could find in my archive in fact).

I don't think I've ever seen schematics for the Low-cost CPC, but the must exist somewhere?

That should keep you busy for the weekend, enjoy :)

Bryce.

dragon

Quotedon't think I've ever seen schematics for the Low-cost CPC, but the must exist somewhere?

I remember seeing them.But I do not remember where. : (.


Bryce

If the KC compact Schematics are on that page, shouldn't the Aleste schematics be there too?

Bryce.

dragon

#136
Ah,I remeber the 6128 cost down with preasic is in grimware

http://www.grimware.org/lib/exe/fetch.php/documentations/hardware/amstrad.cpc/manuals/amendment.service.manual.cpc464.6128.gt65.ctm644.mp3.ct1.pdf

There are several versions.The low cost is from page 14.

MacDeath

#137


Oh wow man, are you serious ???

Computers and tobacco don't fit well, your machines must be full of dust and ashes.

nocash

Hi MacDeath, hmmmm, The End of the Darkness : A New Hope?
Well. Now I am feeling glorified.
Any chance you could move the text to a separate page? Would almost do that myself, but then it'd look as if I wrote/created that text, and everybody would think that I am totally mad. Okay - I am. But I'd feel better if that part is blamed on me, too.

Tried to collect info on all LK's used by Amstrad, http://cpcwiki.eu/index.php/LK_Links
As far as I remember, LK7 was Autoboot CP/M on CPC6128. Though, I couldn't find it on the new schematics. Maybe I am blind - I couldn't even find uPD765 FDC and AMSDOS ROM stuff on the 664 and 6128 schematics :-)
Bryce, did you forget some files when uploading them?

> Ah,I remeber the 6128 cost down with preasic is in grimware
> There are several versions.The low cost is from page 14.
Cost-down with pre-asic? I though the trick about the cost-down cpc is that it uses asic? The 50MB pdf collapsed my computer so I don't know much more about it yet :-)

Oh, and just added some pics/info documentation acid rev-engineering:
http://cpcwiki.eu/index.php/Test_Circuit_used_for_ACID_reverse_engineering

nocash

> Computers and tobacco don't fit well, your machines must be full of dust and ashes.
Hey, computers are made of electronic stuff, they can take tons of dust and ashes. Somewhat different than those EU guys trying to enforce laws against "needing to take a shower after eating in a restaurant".

PulkoMandy

The Pre-ASIC is called like this because it was a test at Amstrad to see if the technology could be used in a CPC-Style computer. It was done before the real ASIC, as a warm up... or at least that's what most people think :)

MacDeath

@Noca$h : have you seen your page ?

user:nocash ???

It's inside.


But we may put this text in discussions also.

PulkoMandy

#142
Hello,
I've gathered some informations on my personal server about the ACID. I recreated the PCB of classic cartridges and the schematic in eagle and I made a small library for it with the cart connector and the ACID chip.
Feel free to use them in your own design.
I'd like if you send me changes and improvements...
http://pulkomandy.tk/projects/ReACID

Feel free to reuse the data for the wiki if you feel so. Note that I may have written wrong things :)

dragon

#143
QuoteCost-down with pre-asic? I though the trick about the cost-down cpc is that it uses asic? The 50MB pdf collapsed my computer so I don't know much more about it yet :-)

Yes, but not the only difference (that I have is a cost down).

The zilog z80 processor changes to sgs z80 processor.As plus(In my cpc c 1989)

Apart from the normal memory type.The motherboard also supports the memory chips of the cpc +(In mine for example is the gap, but memory is old.)






I separate de pages from cost down(jpg).

http://www.megaupload.com/?d=XFGDT04W

QuoteHello,
I've gathered some informations on my personal server about the ACID. I recreated the PCB of classic cartridges and the schematic in eagle and I made a small library for it with the cart connector and the ACID chip.
Feel free to use them in your own design.
I'd like if you send me changes and improvements...
http://pulkomandy.ath.cx/projects/ReACID

Feel free to reuse the data for the wiki if you feel so. Note that I may have written wrong things

wow good work.The pre-soldered acid sounds good.

A a silly question.It would not be possible to use the CPLD to add a little logic.That detects the size of the eeprom.And let configured automatically the cartridge?.

And another question,it's posible add a method to savegames in cartridge?.(as zelda nes,super nes for example.)

MacDeath

#144
@t Dragon :

nice picture, but a few questions :

is it a 6128 motherboard ?

what are the "empty" chip slots as seen in the 2nd picture ?

Are those suposed to house extra memory ?


Concerning the "Save able" cartridges...
Many said that it was that possible in B4 the hack of the ACID, as Cartridge port lacked the OUTput like stuff.

Yet a simple mean is to get a 464+ or 6128+ and use Cassette or Disk to do the Save stuff.

Yet on GX4000 a code systeme mauy exist but this is always shitty, and not easily possible on advanced gameplays.

The main problem is that the GX4000 lacks a proper Extension port.

If it had one, it would be quite easier to upgrade it into a pseudo Computer.

Yet a modded ACID may perhaps include extra functions and allows some kind of Save Game option ?
But such Saving option would be needed for what ?

unlocking extra characters ? a code may be used.
Saving high scores ? well...
Saving games in a complex RPG ? a computer with keyboard would be better for such game anyway.

fano

#145
Quote from: dragon on 11:59, 21 February 10
A a silly question.It would not be possible to use the CPLD to add a little logic.That detects the size of the eeprom.And let configured automatically the cartridge?.
So i have another silly question about them.It is my head since i tried to understand LK usage.What 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 ?

Quote from: dragon on 11:59, 21 February 10
And another question,it's posible add a method to savegames in cartridge?.(as zelda nes,super nes for example.)
You can use RAM with a lithium batterey but needed signals to write are not presents  :(
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

dragon

Quoteis it a 6128 motherboard ?

Yes, it is called arnold 4. (The 6128 normal motherboard is arnold  3).

Quotewhat are the "empty" chip slots as seen in the 2nd picture ?

Are those suposed to house extra memory ?

In the "empty" chips  slots you can fit an alternative memory chips for de 128k ram.Yo can remove de "old" 4164 RAM and change for other(I not remember the memory type now).


QuoteYet a modded ACID may perhaps include extra functions and allows some kind of Save Game option ?
But such Saving option would be needed for what ?

unlocking extra characters ? a code may be used.
Saving high scores ? well...
Saving games in a complex RPG ? a computer with keyboard would be better for such game anyway.

Yes,I thinking in gx4000.A high scores,and rpgs :).

The truth is that the problem is that the GX4000 has only 2 buttons.

QuoteYou can use RAM with a lithium batterey but needed signals to write are not presents  :(
.

But,maybe these write signal can be implemented in the cpld?.

I mean, the CPLD could spy on the bus.Waiting for something to tell you who has to save.



MacDeath

#147
QuoteThe truth is that the problem is that the GX4000 has only 2 buttons.
"I'm not sure, TIM..."

in a 1 player game, you can easily use both joypads at the same time.

with the "nunchakus" technique.

Is such way, you off course has only 2 fire buttons (Amstrad screwed up this when putting a pseudo 2 joy with 2 buttons each...thx to superior choice of cheap and shitty components...lol), but also 2x4 direction buttons...(Joy1 and Joy2)
Totaling easily in 10 buttons.

Quite enough to have some kind of advanced gameplay based on menu-selections.
(yet a keyboard is better)

Also a Mouse may actually be achieved with the Anal port (pun!) or additionnal control device (a sort of reduced key pad...like an extra numeric pad on portable computers ...)

This may even be a way to cheat with the lack of Extension Port on GX4000.

Remember the CD loader using Joy port ? of course it was read only, yet...

Perhaps the Lightgun port is able to have a sort of output ? or the analogue ? so a mean may be found to output datas ?

Need to check this but it was just a quick idea, not sure it may be possible of course (probably not).

But on the other hand : using the sound output to produce a sound signal (captain obvious...)... and using a Tape-like recorder, then using the joyport to read it back when needed.

Would need a mundane MP3/digital recorder (any USB walkman ?) and a bit of special connectors, also some software "drivers"...

Some manipulations too.

shut off the sound on you TV by simply switch to the Sound jack-out (GX4000 offers this option if I remember well...).
Put your recording device on.
click the button to start the emiting of Sound signal/Encoded datas.

There you are.

When needing to read Datas, connect your recording/player device on a Joy/analogic port adapter...
Launch the loading phase then Play the sound file.

But definitly possible, despite a bit complicated.



Quote6128 Pre-Asic Board
Ok, so it has extra empty slots for an alternate RAM model...

But was it supposed to be in case Amstrad would get another supplier or is it possible to actually fit a 192Ko or perhaps 256Ko total RAM ?

Are those in alternative config or cumulable config ?

OCT

#148
Quote from: MacDeath on 16:38, 21 February 10
This may even be a way to cheat with the lack of Extension Port on GX4000.
Remember the CD loader using Joy port ? of course it was read only, yet...
Perhaps the Lightgun port is able to have a sort of output ? or the analogue ? so a mean may be found to output datas ?
Need to check this but it was just a quick idea, not sure it may be possible of course (probably not).
But on the other hand : using the sound output to produce a sound signal (captain obvious...)... and using a Tape-like recorder, then using the joyport to read it back when needed.
Would need a mundane MP3/digital recorder (any USB walkman ?) and a bit of special connectors, also some software "drivers"...
Some manipulations too.
shut off the sound on you TV by simply switch to the Sound jack-out (GX4000 offers this option if I remember well...).
Put your recording device on.
click the button to start the emiting of Sound signal/Encoded datas.
There you are.
When needing to read Datas, connect your recording/player device on a Joy/analogic port adapter...
Launch the loading phase then Play the sound file.
But definitly possible, despite a bit complicated.
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...

QuoteOk, so it has extra empty slots for an alternate RAM model...

But was it supposed to be in case Amstrad would get another supplier or is it possible to actually fit a 192Ko or perhaps 256Ko total RAM ?

Are those in alternative config or cumulable config ?
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.

dragon

#149
QuoteOk, so it has extra empty slots for an alternate RAM model...

But was it supposed to be in case Amstrad would get another supplier or is it possible to actually fit a 192Ko or perhaps 256Ko total RAM ?

Are those in alternative config or cumulable config ?

No,I think is alternative config.About the year 88/89 Alan Sugar had many problems to buy memory chips(see the book about Alan Sugar.).They just covered it back.



Powered by SMFPacks Menu Editor Mod