Changes

Jump to: navigation, search

Amstrad Whole Memory Guide - The machine pack

1,785 bytes added, 19:00, 25 September 2019
ocr'd page 19
Chapter 3 in the book [[Amstrad Whole Memory Guide]].
 
Chapter 3
THE MACHINE PACK
 
Broadly speaking, the Machine Pack is reponsible for the control of
hardware peripherals, but it will be convenient to include the main
initialisation processes under this heading, since they are largely
concerned with peripheral setting-up.
 
Several of the Machine Pack routines depend on the action of
other routines to set up data. To understand this data in full,
you need to read 'The Ins and Outs of the AMSTRAD CPC464', which
gives full details of the peripheral codes. Only the more
essential codes will be defined here.
 
Main Reset
 
At switch—on, or in response to instruction code &C7, location 0000 is
entered. At switch-on, lower ROM is enabled, but the ROM routines are
later copied to the corresponding RAM locations in this area, so the
enable state of the lower ROM is then unimportant. However, the first
action of the reset routine is to output &89 to the Video Gate array
on I/0 address 7FXX, and this enables lower ROM, disables upper ROM,
and also sets up Mode 1. There being no further room in the RST Area
the routine jumps to 0580 to continue reset action.
 
Interrupt is disabled, and &82 is output to F7XX. This sets the
PPI (Parallel Peripheral Interface) to output on ports A and C,
input on port B. Zero outputs to F4XX and F6XX clear ports A and
C, while an output of &7F to EFXX initialises the printer port.
Bit 7 is low, the other bits are high.
 
The CRT Controller is then set up. There are two alternative sets of
values for this, one for 50 Hz frame scan and the other for 60 Hz. The
set to be used is determined by reading port B, bit 4. If this bit is
true, 50 Hz values are used, while the 60 Hz values are used if the
bit is false, this being determined by the presence of Link 4 on the
main printed circuit board.
== Scanned pages ==
13
edits