Creating a bootable disk for PCW

Started by tjohnson, 12:25, 18 April 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tjohnson

Hi all, how does the boot process work for the PCW, there is some code stored in a rom and that .ems and .emt files are involved.  How would one go about creating a bootable disk?

JonB

#1
It's proper nasty.

No ROM. The boot code comes from the printer control chip and is not alterable.

https://www.chiark.greenend.org.uk/~jacobn/cpm/pcwboot.html

If you want to create a bootable floppy, you need to connect a 3" drive to a PC (using an adapter, especially for the power connector as it is not wired the same way) and use a tool like http://www.cpcwiki.eu/index.php/CPCDiskXP to write a disk image file to the physical media.

Or, you could ask someone on here to provide a copy!

GeoffB17

#2
Someone in the UK is selling a PCW boot disk right now, I think it was about £4 plus p&p.   It was a later version of the system, with Loco 2 on the other side.   Just use Google search for Amstrad PCW 8256.

I've had a quick look at your (various) previous posts, and I note references to CP/M and a 6128.   If you have a working 6128, and a 3" drive, then you might well have part of what you need to create a disk that will boot on a PCW, as the disk format may be the same.   May just be a matter of writing a disk image, which can be downloaded, although you'd need to get the image onto the 6128 to write it, which may still be a problem.

When I saw your name, I thought we've had discussions before that suggested you HAD a bootable PCW, but maybe not?   Were you using a PcW 9512+ booting from a 3.5" disk?

Aargh - just checked on ebay - the disk was there yesterday, now it is not.   It was an 'auction' sale though, do they normally vanish that quickly?

Another option, if you buy some used disks, it's likely that one or more will be boot disks anyway, as the normal format and disk copy processes could have transferred some of the boot code, and then you will need just the .EMS file which you could copy onto the disk on a 6128?   I think?   Or maybe it's not so simple that way around?   I know a PCW can read various CPC formats, but can a 6128 access any of the PCW formats?

Geoff

tjohnson

Hi guys my question probably wasn't very clear, I actually have a boot disk but how does the boot process work does the computer have done code on the chip that then looks on the disk that then tells the computer we've to find the next file?  The whole boot process is a mystery to me 

GeoffB17

Aha - that explains things!!

Thanks for the clarification.

The article that JonB links to will help.

The process IS a little wierd, yes.

There is a little piece of code hidden in the printer chip in the PCW that is invoked when the machine starts, this loads the code in the first 512 bytes of the floppy disk and passes control to that code.

That code is a little cleverer, this looks on the disk for the .EMS file (or later the .EMT, but that's another story) and loads that file, and passes control to that.

The .EMS contains the full system, this file loads, puts the various parts into the right places in memory, sets up CP/M, and then passes control to CP/M.

The process for LocoScript is similar, but specialised for LS and NOT CP/M.

The process is well documented, the code that's in the printer chip has been accessed and published (the HOW is interesting) and obviously the code that is in the first sector of the disk can be accessed and disassembled.

Geoff

JonB

It is documented in the link I posted previously..

Also http://seasip.info/Unix/Joyce/hardware.pdf but it is derived from information in the first link.

The short story (as already mentioned) is there is no boot ROM. So you can't easily get it to boot off another device (although it has been done, but not easily).

So, it goes something like this:

  • First stage boot loader comes from the printer ROM. The code is copied into RAM at 0000h and executed.
  • This code reads track zero of the first floppy disk and loads it into RAM (not sure what the address is). The code contains a very minimal BDOS & BIOS implementation - enough to be able to find and read the EMS/EMT file on the A: drive - which it then loads into RAM at the proper place; then it jumps to the BIOS cold boot routine and you (eventually) see the prompt.
  • The cold boot routine loads/installs FID files (field installable drivers) if any are present on A:, and the version of CP/M supports FIDs.

Hopefully that explains it in enough detail?

Powered by SMFPacks Menu Editor Mod