Amstrad PC ROM BIOS

How do I get into the BIOS setup screen?

Note that the setup screen doesn't let you configure the hard drive (if there is one).

PC1512, PC1640

  1. Boot into DOS.
  2. Type NVR and press RETURN.
  3. If that didn't work, insert System Disc 3 in the floppy drive, type A:NVR and press RETURN.

PPC512, PPC640, PC20, PC200

There is no BIOS utility for these computers. Everything is controlled by the DIP switches (PPC, PC200).

PC2086, PC3086

There is no setup screen as such. The floppy drive and video adaptor are configured using a program on the system disc called DEVICE.COM. Type DEVICE to see the current settings, and DEVICE /? to see what can be changed.

PC5086, ALT-286, ALT-386

Press CTRL, ALT and S at startup. On ALT-286 you can also use this key combination AFTER you've booted into DOS.

 

 

The ROM BIOS (ROS)

The ROS in Amstrad XTs tends to be very compatible with the genuine IBM ROM BIOS. However, some XTs do provide additional functions using the "cassette" interrupt - INT 15h.

PC1512

The 1512 ROS provides these functions:

AH=0
Read mouse X and Y counters.
AH=1
Read a byte from the non-volatile RAM.
AH=2
Write a byte to the non-volatile RAM.
AH=3
Set plane read mask in 640x200 graphics mode.
AH=4
Set plane read mask in 640x200 graphics mode.
AH=5
Set border colour in 640x200 graphics mode.
AH=6
Get ROS version number (check for PC1512/PC1640 ROS).

For full details of these calls, see the technical manual, section 2.3.12.

PC1640

The PC1640 ROS provides the same INT 15h functions as the PC1512:

AH=0
Read mouse X and Y counters.
AH=1
Read a byte from the non-volatile RAM.
AH=2
Write a byte to the non-volatile RAM.
AH=3
Set plane read mask (on PC1512 hardware).
AH=4
Set plane read mask (on PC1512 hardware).
AH=5
Set border colour (on PC1512 hardware).
AH=6
Get ROS version number (check for PC1512/PC1640 ROS).

For full details of these calls, see the technical manual, section 2.3.13. Note that AH=3 to AH=5 are implemented even though they have no effect on PC1640 video hardware. Possibly the PC1640 ROS will work when fitted to a PC1512, but I have not put this to the test.

PPC512, PPC640, PC20, PC200

These systems do not provide any services on INT 15h. The interrupt returns leaving all registers untouched.

PC2086, PC3086

The ROS supports INT 15h with AH=0C0h ("Get configuration table"). The table it returns is as follows:

	dw	8	;Size of table (8 bytes).   	db	0FAh	;Model (PS/2 model 25 or 30)  	db	0	;Submodel (PS/2 model 30)  	db	1	;BIOS revision (2nd)  	db	0B0h	;Feature byte 10110000b  			; * DMA channel 3 used by hard drive BIOS  			; * RTC installed  			; * INT 15h/AH=4Fh called on INT 09h  

Bug: Although the table claims to be 8 bytes long, it is in fact only 4 bytes. The next 4 are a subroutine. If the subroutine is interpreted as feature bytes, it looks as if the PC2086/3086 support 32-bit DMA, data streaming, various INT 15h/INT 16h functions, SCSI, loading the BIOS from floppy, flash