On Wednesday, October 18, 2017 at 6:14:17 PM UTC+1, Mr. Emmanuel Roche, France wrote:
> "Dr. Zee" wrote:
>
> > The Amstrad PCW cold boot sequence is a bit odd. There is no boot ROM inside the machine to load up the CP/M Plus boot sector (...)
> >
> > Instead, the machine starts up in a special mode whereby memory reads are serviced by the printer controller chip (...)
>
> I had never seen this Web page before, and I no longer have a PCW (20 years). I write from memory. Contrary to what you write, there is a ROM.
Perhaps I should have been more specific. I meant that it has no discreet ROM chip that you can pull out and replace with something to boot from a hard disk. Instead, as I said before, it loads a minimal boot from the printer controller's (internal) ROM, and some of the code appears to be derived by the controller chip rather than copied directly from its internal ROM, according to the write up I linked to.
> Except that it contains only half the "cold boot loader". "They" (at the time, when I was writing them, Amstrad was telling me that it was Locomotive who wrote the BIOS, and Locomotive was telling me that it was Amstrad...) used the few bytes available in the printer controller chip to contain the beginning of the cold boot loader. Since it could not display an error message, they had the idea of displaying lines on the screen. This way, you count the number of lines appearing on the screen when booting, and you know where the error happened.
You may recall it also beeped a number of times if an error occurred. I thought that the lines merely indicated the progress of the EMS file loading. Do you have any description of the errors indicated by the line count?
> Once the first part is done, it loads the remaining code from the first track of the floppy. Which starts with a table describing the characteristics of the disk, just to make it harder to disassemble it... Once you understand that the cold boot loader is in 2 separate places, it is standard Zilog Z-80 stuff.
Ah, OK. That's useful to know. I think the disk characteristic table is already documented, so I should be able to work that bit out.
> This way, the Amstrad micros (CPC6128 and PCW8256) do not use the standard CP/M Plus LOADER, as explained in the "System Guide". If you want to follow the official doc (this way, no need to write your own doc), follow the "System Guide" (now, GENCPM is available. Don't forget COPYSYS.). (If you are English, John Elliott may help you.)
Yes, I have already contacted John.
> If you are into electronics, let me finish by mentioning one of its greatest advantage. Since it had only 5 "Integrated Circuits", it was ridiculously simple. And Amstrad was famous for making good mass-market products, so its power supply could digest many bad electric lines.
I don't consider it simple as it contains a gate array chip that is custom and opaque. It may be simple in terms of construction, number of ICs, etc, but it is atypical in its approach - as you alluded to when you mentioned the CP/M boot loader.
> It contains 2 ROMS. When you switch the current, you have a menu on the screen, then you can test interactively all the components of the PCW (it can format a "test floppy").
>
> If you are into electronics, I would suggest first disassembling those 2 ROMs. They will give you an idea how to access the hardware of the PCW.
I would need to get a dump of the ROMs. Do you have a copy? Something is going on there that prevents the printer controller from taking control of the data bus at start up. It will be implemented by the other ICs on the diagnostic card (rather than in the ROMs). That mechanism is what I need to understand.
Regards
JonB