ULAplus: Difference between revisions

Jump to navigation Jump to search
10 bytes added ,  6 April 2014
m
s/SZX/ZX-State (SZX)/ and capitalisation tweaks
m (s/SZX/ZX-State (SZX)/ and capitalisation tweaks)
Line 4: Line 4:
The ULAplus specification is an enhanced ULA for the ZX Spectrum designed by Cheveron, Nikki, CSmith and KLP2. It can be implemented as a plug-in replacement for the ULA in the 48K machines, in emulators, or in clones. It is designed to make it easy to re-colour existing software with the minimum of effort.
The ULAplus specification is an enhanced ULA for the ZX Spectrum designed by Cheveron, Nikki, CSmith and KLP2. It can be implemented as a plug-in replacement for the ULA in the 48K machines, in emulators, or in clones. It is designed to make it easy to re-colour existing software with the minimum of effort.


==Colour Modes==
==Colour modes==
The current specification allows for four colour spaces:
The current specification allows for four colour spaces:


Line 14: Line 14:
Any hardware implementing ULAplus must implement at least the original spectrum attributes and one other to be considered a ULAplus device.
Any hardware implementing ULAplus must implement at least the original spectrum attributes and one other to be considered a ULAplus device.


==I/O Ports==
==I/O ports==
ULAplus is controlled by two ports.
ULAplus is controlled by two ports.


Line 80: Line 80:
where h is the high bit, m is the middle bit, and l is the low bit of the original 3-bit value.
where h is the high bit, m is the middle bit, and l is the low bit of the original 3-bit value.


=== Extension to the SZX Format ===
=== Extension to the ZX-State (SZX) format ===
 


==== ZXSTPALETTE ====
==== ZXSTPALETTE ====
Line 113: Line 112:
<br />&nbsp;&nbsp;&nbsp; '''chCurrentRegister'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The currently selected palette register (0-63).<br />&nbsp;&nbsp;&nbsp; '''chPaletteRegs'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The current values of the palette registers.
<br />&nbsp;&nbsp;&nbsp; '''chCurrentRegister'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The currently selected palette register (0-63).<br />&nbsp;&nbsp;&nbsp; '''chPaletteRegs'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The current values of the palette registers.


=== Extension to the SCR Format ===
=== Extension to the SCR format ===
A 6912 byte .SCR file contains a standard Spectrum screen.
A 6912 byte .SCR file contains a standard Spectrum screen.


Line 126: Line 125:
A 12353 byte .SCR file contains a Timex hi-res screen followed by the hi-res colour information that was dumped from port 255, followed by 64 colour registers.
A 12353 byte .SCR file contains a Timex hi-res screen followed by the hi-res colour information that was dumped from port 255, followed by 64 colour registers.


=== Palette File Format ===
=== Palette file format ===


The palette format doubles as the BASIC patch loader. This enables you to edit patches produced by other people.
The palette format doubles as the BASIC patch loader. This enables you to edit patches produced by other people.

Navigation menu