https://sinclair.wiki.zxnet.co.uk/w/api.php?action=feedcontributions&user=Zub&feedformat=atom
Sinclair Wiki - User contributions [en-gb]
2024-03-29T11:38:20Z
User contributions
MediaWiki 1.39.6
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2081
Timeline of events
2020-05-12T07:36:48Z
<p>Zub: /* 1982 */ "Display for a Computer"</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog|Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, its design maintains compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 22 April: Sinclair Research file patent GB8211723, "Display for a Computer", which describes the video display generation technique used by the ZX Spectrum.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original 16/48&nbsp;KB model of the ZX Spectrum]] is launched at the IPC Computer Fair at Earls Court, at the initial price of £125 for the 16&nbsp;KB model, and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2080
Timeline of events
2020-05-12T07:11:58Z
<p>Zub: /* 1981 */ Be more affirmative</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog|Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, its design maintains compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original 16/48&nbsp;KB model of the ZX Spectrum]] is launched at the IPC Computer Fair at Earls Court, at the initial price of £125 for the 16&nbsp;KB model, and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timex_2000_series&diff=2079
Timex 2000 series
2020-05-11T21:43:53Z
<p>Zub: Add details to infoboxes of TC2068 and TC2048</p>
<hr />
<div>[[Category:Hardware]]<br />
[[Category:Timex]]<br />
{| border="0" cellspacing="0" cellpadding="5" style="float:right"<br />
|-<br />
|{{Infobox computer<br />
| name = TC2068<br />
| cpu = [[Z80|Z80A]] @ 3.500MHz<br />
| rom = 24KB<br />
| ram = 48KB<br />
| rampage = 8×8KB<br />
| manu = Timex Portugal<br />
| volume = <br />
| resolution = 256×192 or 512×192 (hi-res)<br />
| colours = 15 (2 per 8×8 or 8×1 cell), or 2 (hi-res)<br />
}}<br />
|-<br />
|{{Infobox computer<br />
| name = TC2048<br />
| cpu = [[Z80|Z80A]] @ 3.500MHz<br />
| rom = 16KB<br />
| ram = 48KB<br />
| rampage = 6×8KB fixed<br />
| manu = Timex Portugal<br />
| volume = <br />
| resolution = 256×192 or 512×192 (hi-res)<br />
| colours = 15 (2 per 8×8 or 8×1 cell), or 2 (hi-res)<br />
}}<br />
|-<br />
|{{Infobox computer<br />
| name = TS2068<br />
| cpu = [[Z80|Z80A]] @ 3.528MHz<br />
| rom = 24KB<br />
| ram = 48KB<br />
| rampage = 8×8KB<br />
| manu = Timex<br />
| volume = <br />
| resolution = 256×192 or 512×192 (hi-res)<br />
| colours = 15 (2 per 8×8 or 8×1 cell), or 2 (hi-res)<br />
}}<br />
|}<br />
== The Timex Machines ==<br />
The TS2068, the TC2068 and the TC2048 each share the same basic internal design, described immediately below:<br />
<br />
* The TC2068 is the Portuguese made European version operating at 50Hz on a 230–240v power supply and generates a PAL television signal (used throughout Europe, except in France where SECAM is used instead) with a normal expansion bus. Both machines feature an [[AY-3-8912]] sound chip (not 128 compatible), an extended version of BASIC in 24K of ROM (semi-compatible), two non-standard joystick ports, a cartridge dock (not IF2 compatible), and a new ULA with extra video modes, but some incompatiblities. There is also a Polish clone of the TC2068, called the UK2086, which substitutes an RS232 port for one of the joystick ports.<br />
<br />
* The TC2048 was designed and produced in Portugal. Basically, the TC2048 is a TC2068 with all the extra hardware removed, except the new ULA, but a normal BASIC ROM (only slightly modified), an RCA phono composite out, and a [[Kempston joystick interface|Kempston]] joystick port (but no +5v as needed by autofire joysticks).<br />
<br />
* The TS2068 is an American machine operating at 60Hz on a 110v power supply and generates an NTSC television picture but with a [[Timex TS1000|TS1000]] (ZX81) compatible expansion bus.<br />
<br />
* The TC2068 and TS2068 have RGB signals on their expansion bus. The TC2048 lacks these signals.<br />
<br />
There are also two modified versions of the TC2048; the TC2128 (Rebuiltion or similar) and the TC2144 (by Jarek Adamski). The TC2128 extends the TC2048 to 128KB using the [[ZX Spectrum 128]] memory scheme. The TC2144 does the same but provides an extra 16KB of memory between 0x8000 and 0xc000. Both upgrades allow the ULA to use the shadow screen in Bank 7 giving the machine a total of four screen areas.<br />
<br />
Although the Timex machines are similar to the 48K machine there are some timing differences:<br />
<br />
* The AY-3-8910 sound chip runs at 1.76475 MHz.<br />
* The American machines have a 60 Hz interrupt as opposed to 50 Hz on the European machines.<br />
* The scanline timings are different.<br />
<br />
== Screen Modes ==<br />
The ULA used by the Timex machines provides a number of additional screen modes. These are controlled using Port 0xff. An unfortunate side effect of this is that a few games, like Arkanoid, which expect reading 0xff to produce screen and ATTR data bytes when the ULA is reading the screen memory, will not work, since reading 0xff on the Timex returns the last byte sent to the port. It is not known if this port is fully decoded but it seems likely that it is partially decoded, as on the Spectrum. Port 0xff is also used to enable/disable the timer interrupt and select which bank of memory to use for the horizontal MMU. The byte to output will be interpreted thus:<br />
Bits 0–2: Screen mode. 000=screen 0, 001=screen 1, 010=hi-colour, 110=hi-res<br />
Bits 3–5: Sets the screen colour in hi-res mode.<br />
000—Black on White 100—Green on Magenta<br />
001—Blue on Yellow 101—Cyan on Red<br />
010—Red on Cyan 110—Yellow on Blue<br />
011—Magenta on Green 111—White on Black<br />
Bit 6: If set disables the generation of the timer interrupt.<br />
Bit 7: Selects which bank the horizontal MMU should use. 0=DOCK, 1=EX-ROM.<br />
Screen 0 is the normal screen at 0x4000. Screen 1 uses the same format but at 0x6000.<br />
<br />
The hi-colour screen uses the data area of screen 0 and screen 1 to create a 512×192 pixel screen. Columns are taken alternately from screen 0 and screen 1. The attribute area is not used. In this mode all colours, including the BORDER, are BRIGHT, and the BORDER colour is the same as the PAPER colour.<br />
<br />
The multi-colour screen uses the data area of screen 0 for its data and the data area of screen 1 for its attributes, giving 2 colours per 8×1 pixel block. The attribute area is in the same byte order as the data area, which means MLT files, which have the attribute are in series, must be converted to be displayed.<br />
<br />
Bit 6 is the hardware equivalent of issuing a DI (disable interrupts) instruction in machine code, and is unaffected by the instruction EI (enable interrupts), so should be used with caution. Bit 6 can be useful for getting ROM routines which normally enable interrupts to run slightly faster.<br />
<br />
With careful timing it is possible to mix screen modes so you could have a screen where the top half is hi-colour and the bottom half is hi-res—perfect for text adventures with graphics. Using a similar technique it is also possible to have more than two colours on a hi-res screen. However, it is believed that no commercial software ever actually did this.<br />
<br />
== Memory ==<br />
{| class="wikitable" style="text-align: center; float:right; margin:0.5em 0px 0.5em 1em; clear:right;"<br />
|+ Memory Map<br />
!<br />
! style="width: 5em;" | EX-ROM<br />
! style="width: 5em;" | HOME<br />
! style="width: 5em;" | DOCK<br />
|- style="height: 3em;"<br />
! 0xFFFF <br />0xE000<br />
| Bank 7′ || rowspan="4" | 32k RAM || Bank 7<br />
|- style="height: 3em;"<br />
! 0xDFFF <br />0xC000<br />
| Bank 6′ || Bank 6<br />
|- style="height: 3em;"<br />
! 0xBFFF <br />0xA000<br />
| Bank 5′ || Bank 5<br />
|- style="height: 3em;"<br />
! 0x9FFF <br />0x8000<br />
| Bank 4′ || Bank 4<br />
|- style="height: 3em;"<br />
! 0x7FFF <br />0x6000<br />
| Bank 3′ || Screen 1 || Bank 3<br />
|- style="height: 3em;"<br />
! 0x5FFF <br />0x4000<br />
| Bank 2′ || Screen 0 || Bank 2<br />
|- style="height: 3em;"<br />
! 0x3FFF <br />0x2000<br />
| Bank 1′ || rowspan="2" | 16K ROM || Bank 1<br />
|- style="height: 3em;"<br />
!0x1FFF <br />0x0000<br />
| Bank 0′ || Bank 0<br />
|-<br />
|}<br />
The Timex machines feature a horizontal memory management unit. In the TS2068 and TC2068 it is used to support the extended BASIC and cartridges plugged into the dock. It is present in the TC2048 but there is no direct way to connect anything to it (although the refresh signals are available to connect an additional 128KB of RAM to the horizontal MMU).<br />
<br />
Memory is paged in 8K banks from either the DOCK or the EX-ROM, but these banks are mutually exclusive—you cannot page in a bank from both simultaneously. Both DOCK and EX-ROM banks are uncontended. Bit 7 of port 0xff determines which bank to use (0=DOCK, 1=EX-ROM). Port 0xf4 determines which banks are to be paged in with each bit referring to the relevant bank (0–7 or 0′–7′). When memory is being paged, interrupts should be disabled and the stack should be in an area which is not going to change. <br />
<br />
The HOME bank is the normal Spectrum memory area. The top 32K is uncontended but the 16K screen area below that is contended. Banks are overlaid on this bank, but paging over the screen area does not change the RAM used by the ULA. This does mean it is possible to set up a screen and page it out.<br />
<br />
On a TC2048, BASIC is contained in the 16K ROM area and banks 0–7 and 0′–7′ are not normally available, while on a TS2068 or a TC2068 part of the BASIC is stored in an 8K ROM in bank 0' and cartridges plugged into the dock use banks 0–7.<br />
<br />
The contended memory timings for these machines are unknown but should be similar to that for the 48K machine, except that the pattern starts at a different number of T-states after the interrupt, than the usual 14344.<br />
<br />
Reading this port returns the last byte sent to it.<br />
<br />
== Sound Chip ==<br />
The [[AY-3-8912]] used in the TS2068 and TC2068 is controlled by two I/O ports:<br />
OUT (0xf5)—Select a register 0–14<br />
IN (0xf6)—Read the value of the selected register<br />
OUT (0xf6)—Write to the selected register<br />
IN 0xf5 always returns 255.<br />
<br />
Most Spectrum software written to use the AY chip expects to find it at the addresses used by the Spectrum 128.<br />
<br />
Typically, the AY chip is written to inside 128K games using:<br />
LD BC,0xfffd 01 FD FF<br />
OUT (C),D ED 51<br />
LD B,0xbf 06 BF<br />
OUT (C),E ED 59<br />
To convert to a TS2068 or TC2068 poke a few values as follows:<br />
LD BC,0xfff5 01 F5 FF<br />
OUT (C),D ED 51<br />
LD C,0xf6 0E F6<br />
OUT (C),E ED 59<br />
If you've got a Fuller box, you can do the same mod, replacing F5 with 3F and F6 with 5F.<br />
Joysticks<br />
<br />
On the ZX Spectrum 128 the AY chip is used to control MIDI and RS232 but on the TS2068 and TC2068 it is used to read the Timex joysticks instead, using register R14.<br />
<br />
== T/S 2000 BASIC ==<br />
<br />
T/S 2000 BASIC is a superset of Sinclair BASIC, with additional commands allowing access to the hardware features found on the Timex systems. Generally speaking, BASIC programs written for the ZX Spectrum will run on Timex machines without modification. The additional commands found in Timex BASIC are listed below:<br />
<br />
* '''DELETE:''' The DELETE command is used to remove lines of a program between two supplied values, from the beginning of a program to the line specified, or from the line specified to the end of the program. <u>Example:</u> DELETE [n,n] (between values) or DELETE [ ,n] (to value) or DELETE [n, ] (from value)<br />
<br />
* '''FREE:''' FREE can be used at any time within a program, or from immediate mode, to return the amount of available internal memory. <u>Example:</u> PRINT FREE<br />
<br />
* '''ON ERR:''' ON ERR allows errors to be trapped and handled before the program automatically stops with an error. GOTO jumps to a specified line number, CONT continues operation from the point at which the error occurred and RESET disables ON ERR, raising the normal system error messages instead. After ON ERR GOTO, PEEK 23736 will give the error code, while PEEK 23739 and PEEK 23738 respectively give the line number and statement number within the line where the error occured. <u>Example:</u> ON ERR [GOTO, CONT, RESET]<br />
<br />
* '''RESET:''' RESET is typically used to return attached peripherals to their original state. In addition, it can be used to reset the entire system. <u>Example:</u> RESET 0 (resets machine)<br />
<br />
* '''SOUND:''' The SOUND command accepts pairs of numbers separated by semi-colons. Up to 15 pairs are permitted for each SOUND command. The first number in each pair designates the register, while the second number contains the value. <u>Example:</u> SOUND [n,n];[n,n] ..... [n,n];[n,n]. The available registers are:<br />
<br />
**0—Fine Tune, Channel A. Permitted values: 0–255<br />
**1—Coarse Tune, Channel A. Permitted values: 0–15<br />
**2—Fine Tune, Channel B. Permitted values: 0–255<br />
**3—Coarse Tune, Channel B. Permitted values: 015<br />
**4—Fine Tune, Channel C. Permitted values: 0–255<br />
**5—Coarse Tune, Channel C. Permitted values: 015<br />
**6—Noise. Permitted values: 0–31<br />
**7—Enable. Permitted values: 0–63<br />
**8—Amplitude, Channel A. Permitted values: 0–15<br />
**9—Amplitude, Channel B. Permitted values: 0–15<br />
**10—Amplitude, Channel C. Permitted values: 0–15 (16 enables envelope)<br />
**11—Fine Tune envelope period. Permitted values: 0–255<br />
**12—Coarse Tune envelope period. Permitted values: 0–255<br />
**13—Envelope shape. Permitted values: 0–15<br />
<br />
* '''STICK:''' The STICK command is used to read the signal generated by devices connected to one of the two Joystick ports available. The first number represents the device type being read—(1) is the Joystick and (2) is the button. The second number is the Joystick number—(1) is left and (2) is right. <u>Example:</u> IF STICK([n,n]) THEN ... Valid return values are 1 (pressed) or 0 (not pressed) if reading the button, and:<br />
<br />
** 0—Centred<br />
** 1—Up<br />
** 2—Down<br />
** 4—Left<br />
** 5—Up and Left<br />
** 6—Down and Left<br />
** 8—Right<br />
** 9—Up and Right<br />
** 10—Down and Right<br />
<br />
{{CC-BY-SA-techwiki|Timex 2000 series|Timex_2000_series}}</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Nine_Tiles_Ltd&diff=2072
Nine Tiles Ltd
2020-05-10T20:12:30Z
<p>Zub: List members of team</p>
<hr />
<div>'''Nine Tiles Ltd''' were the authors of Sinclair BASIC.<br />
<br />
== Team ==<br />
<br />
* John Grant<br />
* Catherine Grant<br />
* Steve Vickers<br />
* Penny Vickers<br />
* Two others?<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]<br />
<br />
[[Category:Companies]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_Research_Ltd&diff=2071
Sinclair Research Ltd
2020-05-10T20:09:56Z
<p>Zub: Add some more employees of Sinclair and Nine Tiles</p>
<hr />
<div>== Employees and associated companies and individuals ==<br />
<br />
* [[Sir Clive Sinclair]]<br />
* [[Rick Dickinson]] ([https://medium.com/@ghalfacree/an-interview-with-rick-dickinson-3fea60537338 interview])<br />
* [[Richard Altwasser]] ([https://paleotronic.com/2018/10/01/an-interview-with-zx-spectrum-designer-richard-altwasser/ interview])<br />
* [[Jim Westwood]] ([http://www.computinghistory.org.uk/det/6613/Jim-Westwood/ Centre for Computing History page])<br />
* [[Nigel Searle]]<br />
* [[Ruth Bramley]] ([https://www.sinclairuser.com/001/insinc.htm Sinclair User article], [https://www.youtube.com/watch?v=9IU4tKl1LIE Centre for Computing History interview #1], [https://www.youtube.com/watch?v=bXBFud9zEoA interview #2])<br />
* [[Ben Cheese]]<br />
* [[Dr Ian Logan]]<br />
* [[Martin Brennan]]<br />
* [[Steve Berry]]<br />
* [[Andrew Cummins]]<br />
* [[Rupert Goodwins]] ([https://www.zdnet.com/article/the-zx-spectrum-birthday-memories/ ZXNet article])<br />
* [[Nine Tiles Ltd]]<br />
** [[John Grant]]<br />
** [[Catherine Grant]]<br />
** [[Steve Vickers]]<br />
** [[Penny Vickers]]<br />
* [[Robin Sarah Bradbeer]]<br />
* [[Amstrad]]<br />
<br />
== Products ==<br />
* [[ZX80]]<br />
* [[ZX81]]<br />
* [[ZX Spectrum]]<br />
<br />
== Related companies ==<br />
* Other activities including Sinclair Vehicles Ltd, formed out of Sinclair Research.<br />
<br />
[[Category:Companies]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_16K/48K&diff=2070
ZX Spectrum 16K/48K
2020-05-10T19:33:57Z
<p>Zub: /* ULA */ Remove leftover words</p>
<hr />
<div>{{Infobox computer<br />
| photo = [[File:ZXSpectrum48k.jpg|300px|]]<br />
| cpu = [[Z80|Z80A]] @ 3.5MHz<br />
| rom = 16KB<br />
| ram = 16KB or 48KB<br />
| rampage = flat<br />
| manu = Sinclair Research<br />
| volume = appx. 4M units<br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
<br />
== Case Design ==<br />
<br />
The industrial design for the original [[#Rubber Keyboard Model|rubber-keyed]] ZX Spectrum and the [[#Plastic Keyboard Model|plastic-keyed Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]]. One of the iconic elements of the design is the coloured stripes on the right side of its faceplate in the colours Red, Yellow, Green and Cyan. The exact Pantone colour values couldn't yet be retrieved. The angle of the stripes was measured as being at 24-degrees.<br />
<br />
== ULA ==<br />
<br />
Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array ("ULA") and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.<br />
<br />
The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.<br />
<br />
The "dead cockroach" was incorporated into later revisions of the ULA, rather than fixing the timing issue. The reason for this is not clear.<br />
<br />
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.<br />
<br />
The 48K Spectrum suffers from severe dot crawl, as the pixel clock is not synchronised with the PAL colour subcarrier. This was known about before release, and was a deliberate compromise in the design. The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.<br />
<br />
The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.<br />
<br />
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.<br />
<br />
Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at the full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory is slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.<br />
<br />
The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.<br />
<br />
The initial series of ZX Spectrum ULAs is the 5C. Ferranti later switched to their 6C series ULAs, resulting in a decrease in power consumption (and therefore also temperature) of the ULA.<br />
<br />
== [[NTSC Spectrum]] ==<br />
<br />
Sold in Chile. Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.<br />
<br />
Two machines found: one with 5C114E ULA, one with 6C011E-3.<br />
<br />
== Software ==<br />
<br />
The Sinclair BASIC interpreter for the ZX Spectrum was written by [[John Grant]] and [[Steve Vickers]] working for [[Nine Tiles Ltd]]. It was developed based on code previously written by Nine Tiles for the ZX81.<br />
<br />
=== Rubber Keyboard Model ===<br />
<br />
The [[ZX Interface 1]] and Microdrives were designed to fit neatly with the rubber key model of Spectrum. Part of Sinclair's patent for the ZX Spectrum covered inventions relating to the keyboard design.<br />
<br />
=== Plastic Keyboard Model ===<br />
<br />
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead. This keyboard features extra keys which map to combinations of keys on the rubber keyboard. These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.<br />
<br />
The same design of the keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].<br />
<br />
Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well. PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+). It should be noted that the heat dissipation properties of the two cases do differ and that this can cause failures due to overheating.<br />
<br />
== Motherboards ==<br />
<br />
: ''This section is a stub. Please expand with more detail.''<br />
<br />
The "spider" modification performed on Issue 1 and Issue 2 Spectrums was later incorporated into the Spectrum PCB starting with Issue 3.<br />
<br />
The ZX Spectrum contains either one or two banks of DRAMs. The lower bank of eight [[DRAMS#4116|16Kbit DRAMs]] is present in all Spectrums, and shared between the ULA and CPU as it contains the machine's video memory. A second bank of eight DRAMs for the upper 32K may be present for a total of 48K of RAM. External 32K RAM packs were sold for those not wanting to upgrade their 16K Spectrums to 48K internally.<br />
<br />
For an internally fitted 32K bank eight 32K DRAM chip used ([[DRAMS#4532|TI TMS4532-20NL3]]/[[DRAMS#4532|OKI M3732-L]] or [[DRAMS#4532|TI TMS4532-20NL4]]/[[DRAMS#4532|OKI M3732-H]]). These chips are really faulty 64K DRAMs. All eight DRAMs must be faulty within only one half of their storage. A link is present on the Spectrum PCB to specify which half of each of the faulty DRAMs is usable, but as this single link applies to all eight DRAMs, faults must only be present within the same half of each of them.<br />
<br />
=== Issue 1 ===<br />
<br />
The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughterboard for Issue 1.<br />
<br />
=== Issue 2 ===<br />
<br />
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.<br />
<br />
The rubber key mat's colouring is a bluish-grey starting with the Issue 2.<br />
<br />
=== Issue 3 ===<br />
<br />
The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impedance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.<br />
<br />
Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems. The "spider" fix was integrated into board.<br />
<br />
The Issue 3 was the first issue to be sold in the Spectrum+.<br />
<br />
=== Issue 4 ===<br />
<br />
The Issue 4A and 4B Spectrums improve ULA memory signal timing by delaying {{overline|RAS}} through two previously unused gates in IC24. It's important that ULA 6C001E-7 is used in these models.<br />
<br />
=== Issue 5 ===<br />
<br />
This is described in the service manual, however none are thought to exist in the wild. <br />
<br />
=== Issue 6 ===<br />
<br />
The Issue 6 includes changes required if using the [[Saga ULA]]. So far, only one such machine has been found. It also includes the ZX8401 IC (also found as the PCF1306P) to consolidate the six 74LS IC's that control all of the memory access logic in previous issues.<br />
<br />
== External links ==<br />
<br />
* [https://rk.nvg.ntnu.no/sinclair/computers/zxspectrum/spec48versions.htm ZX Spectrum 16K/48K versions] at Planet Sinclair<br />
[[Category:Hardware]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_16K/48K&diff=2069
ZX Spectrum 16K/48K
2020-05-10T19:28:42Z
<p>Zub: /* ULA */ Dot crawl was known about</p>
<hr />
<div>{{Infobox computer<br />
| photo = [[File:ZXSpectrum48k.jpg|300px|]]<br />
| cpu = [[Z80|Z80A]] @ 3.5MHz<br />
| rom = 16KB<br />
| ram = 16KB or 48KB<br />
| rampage = flat<br />
| manu = Sinclair Research<br />
| volume = appx. 4M units<br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
<br />
== Case Design ==<br />
<br />
The industrial design for the original [[#Rubber Keyboard Model|rubber-keyed]] ZX Spectrum and the [[#Plastic Keyboard Model|plastic-keyed Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]]. One of the iconic elements of the design is the coloured stripes on the right side of its faceplate in the colours Red, Yellow, Green and Cyan. The exact Pantone colour values couldn't yet be retrieved. The angle of the stripes was measured as being at 24-degrees.<br />
<br />
== ULA ==<br />
<br />
Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array ("ULA") and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.<br />
<br />
The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.<br />
<br />
The "dead cockroach" was incorporated into later revisions of the ULA, rather than fixing the timing issue. The reason for this is not clear.<br />
<br />
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.<br />
<br />
The 48K Spectrum suffers from severe dot crawl, as it was the pixel clock is not synchronised with the PAL colour subcarrier. This was known about before release, and was a deliberate compromise in the design. The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.<br />
<br />
The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.<br />
<br />
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.<br />
<br />
Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at the full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory is slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.<br />
<br />
The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.<br />
<br />
The initial series of ZX Spectrum ULAs is the 5C. Ferranti later switched to their 6C series ULAs, resulting in a decrease in power consumption (and therefore also temperature) of the ULA.<br />
<br />
== [[NTSC Spectrum]] ==<br />
<br />
Sold in Chile. Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.<br />
<br />
Two machines found: one with 5C114E ULA, one with 6C011E-3.<br />
<br />
== Software ==<br />
<br />
The Sinclair BASIC interpreter for the ZX Spectrum was written by [[John Grant]] and [[Steve Vickers]] working for [[Nine Tiles Ltd]]. It was developed based on code previously written by Nine Tiles for the ZX81.<br />
<br />
=== Rubber Keyboard Model ===<br />
<br />
The [[ZX Interface 1]] and Microdrives were designed to fit neatly with the rubber key model of Spectrum. Part of Sinclair's patent for the ZX Spectrum covered inventions relating to the keyboard design.<br />
<br />
=== Plastic Keyboard Model ===<br />
<br />
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead. This keyboard features extra keys which map to combinations of keys on the rubber keyboard. These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.<br />
<br />
The same design of the keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].<br />
<br />
Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well. PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+). It should be noted that the heat dissipation properties of the two cases do differ and that this can cause failures due to overheating.<br />
<br />
== Motherboards ==<br />
<br />
: ''This section is a stub. Please expand with more detail.''<br />
<br />
The "spider" modification performed on Issue 1 and Issue 2 Spectrums was later incorporated into the Spectrum PCB starting with Issue 3.<br />
<br />
The ZX Spectrum contains either one or two banks of DRAMs. The lower bank of eight [[DRAMS#4116|16Kbit DRAMs]] is present in all Spectrums, and shared between the ULA and CPU as it contains the machine's video memory. A second bank of eight DRAMs for the upper 32K may be present for a total of 48K of RAM. External 32K RAM packs were sold for those not wanting to upgrade their 16K Spectrums to 48K internally.<br />
<br />
For an internally fitted 32K bank eight 32K DRAM chip used ([[DRAMS#4532|TI TMS4532-20NL3]]/[[DRAMS#4532|OKI M3732-L]] or [[DRAMS#4532|TI TMS4532-20NL4]]/[[DRAMS#4532|OKI M3732-H]]). These chips are really faulty 64K DRAMs. All eight DRAMs must be faulty within only one half of their storage. A link is present on the Spectrum PCB to specify which half of each of the faulty DRAMs is usable, but as this single link applies to all eight DRAMs, faults must only be present within the same half of each of them.<br />
<br />
=== Issue 1 ===<br />
<br />
The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughterboard for Issue 1.<br />
<br />
=== Issue 2 ===<br />
<br />
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.<br />
<br />
The rubber key mat's colouring is a bluish-grey starting with the Issue 2.<br />
<br />
=== Issue 3 ===<br />
<br />
The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impedance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.<br />
<br />
Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems. The "spider" fix was integrated into board.<br />
<br />
The Issue 3 was the first issue to be sold in the Spectrum+.<br />
<br />
=== Issue 4 ===<br />
<br />
The Issue 4A and 4B Spectrums improve ULA memory signal timing by delaying {{overline|RAS}} through two previously unused gates in IC24. It's important that ULA 6C001E-7 is used in these models.<br />
<br />
=== Issue 5 ===<br />
<br />
This is described in the service manual, however none are thought to exist in the wild. <br />
<br />
=== Issue 6 ===<br />
<br />
The Issue 6 includes changes required if using the [[Saga ULA]]. So far, only one such machine has been found. It also includes the ZX8401 IC (also found as the PCF1306P) to consolidate the six 74LS IC's that control all of the memory access logic in previous issues.<br />
<br />
== External links ==<br />
<br />
* [https://rk.nvg.ntnu.no/sinclair/computers/zxspectrum/spec48versions.htm ZX Spectrum 16K/48K versions] at Planet Sinclair<br />
[[Category:Hardware]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_Research_Ltd&diff=2068
Sinclair Research Ltd
2020-05-10T18:57:53Z
<p>Zub: Add Sinclair employees and links to articles / interviews</p>
<hr />
<div>To add:<br />
<br />
* [[Sir Clive Sinclair]]<br />
* [[Rick Dickinson]] ([https://medium.com/@ghalfacree/an-interview-with-rick-dickinson-3fea60537338 interview])<br />
* [[Richard Altwasser]] ([https://paleotronic.com/2018/10/01/an-interview-with-zx-spectrum-designer-richard-altwasser/ interview])<br />
* [[Jim Westwood]] ([http://www.computinghistory.org.uk/det/6613/Jim-Westwood/ Centre for Computing History page])<br />
* [[Nigel Searle]]<br />
* [[Ruth Bramley]] ([https://www.sinclairuser.com/001/insinc.htm Sinclair User article], [https://www.youtube.com/watch?v=9IU4tKl1LIE Centre for Computing History interview #1], [https://www.youtube.com/watch?v=bXBFud9zEoA interview #2])<br />
* [[Ben Cheese]]<br />
* [[Dr Ian Logan]]<br />
* [[Martin Brennan]]<br />
* [[Steve Berry]]<br />
* [[Andrew Cummins]]<br />
* [[Rupert Goodwins]] ([https://www.zdnet.com/article/the-zx-spectrum-birthday-memories/ ZXNet article])<br />
* [[Nine Tiles Ltd]]<br />
* [[ZX80]]<br />
* [[ZX81]]<br />
* [[ZX Spectrum]]<br />
* [[Amstrad]]<br />
* Other activities including Sinclair Vehicles Ltd, formed out of Sinclair Research.<br />
<br />
[[Category:Companies]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_Wiki_talk:What_Needs_Doing&diff=2067
Sinclair Wiki talk:What Needs Doing
2020-05-10T18:43:26Z
<p>Zub: Link to newer archive of old NVG pages, add link text and reword</p>
<hr />
<div>==Migrate Tech Wiki==<br />
Some info has been copied from the Tech Info Wiki, but there's still more to do.<br />
<br />
: I recently updated the tech info wiki after it was pointed out that it a page on there was in need of updating, but completely forgot about this Wiki. I suppose we should clear pages on the tech wiki pages after migration? It'd be helpful to provide a link from the tech wiki to here, but I'm not sure how that fits in with Wikia's policies. —[[User:Zub|Zub]] 01:23, 3 April 2014 (BST)<br />
<br />
== Software ==<br />
<br />
We need articles on Sinclair related [[software]], both [[:Category:Native Software|for Sinclair machines]] and [[:Category:Software Tools|for running on other architectures]]. [[User:Guesser|Guesser]] 20:19, 24 October 2010 (BST)<br />
<br />
== File formats ==<br />
<br />
=== Snapshot formats ===<br />
<br />
* Implemented in libspectrum:<br />
** SNA 48K/128K (mention origin of Mirage Microdriver)<br />
** SP, SNP, ZXS (not SZX/ZX-State)<br />
** ZX82<br />
** SLT<br />
** +D-based '.plusd' using 22-byte header<br />
* Implemented in spconv:<br />
** SIT<br />
** SNX<br />
** ZX<br />
* Implemented in ASCD (SimCoupé fork):<br />
** SCS (48K/128K/Coupé)<br />
* Native formats:<br />
** +D and DISCiPLE (with register dump in directory entry and corruption in GDOS but not G+DOS)<br />
** Mirage Microdriver (include tape block info)<br />
** Multiface formats<br />
* Spectrum emulation under SAM Coupé:<br />
** +D/DISCiPLE snapshots as above<br />
** SC_Speclone CODE file with +D-style footer<br />
** 64K Messenger snapshots<br />
** FUXoft '.FUX' format.<br />
* [https://rk.nvg.ntnu.no/sinclair/faq/fileform.html File formats documented in old FAQ] believed to be undocumented here:<br />
** ACH<br />
** PRG<br />
** SEM<br />
<br />
== Wanted ==<br />
<br />
[[Special:WantedPages]] shows current [[Wikipedia:Red Links|Red Links]] that need pages creating.<br />
<br />
[[Special:ShortPages]] shows pages sorted by length starting with the smallest. This helps you find pages with little or no info that need work. [[User:Guesser|Guesser]] 21:39, 24 October 2010 (BST)<br />
<br />
== Copyedit ==<br />
<br />
Incomprehensible walls of text get tagged with <nowiki>{{Copyedit}}</nowiki>; this causes them to appear in [[:Category:Articles in need of copyediting]]. Have a knack for explaining things? Help out.<br />
<br />
== Style guide ==<br />
<br />
We have a [[SinclairFAQ:Manual of Style|style guide]] but would prefer things get done that worry too much about strong adherence to this guide at present.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_16K/48K&diff=2066
ZX Spectrum 16K/48K
2020-05-10T18:41:25Z
<p>Zub: Link to newer archive of old NVG pages</p>
<hr />
<div>{{Infobox computer<br />
| photo = [[File:ZXSpectrum48k.jpg|300px|]]<br />
| cpu = [[Z80|Z80A]] @ 3.5MHz<br />
| rom = 16KB<br />
| ram = 16KB or 48KB<br />
| rampage = flat<br />
| manu = Sinclair Research<br />
| volume = appx. 4M units<br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
<br />
== Case Design ==<br />
<br />
The industrial design for the original [[#Rubber Keyboard Model|rubber-keyed]] ZX Spectrum and the [[#Plastic Keyboard Model|plastic-keyed Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]]. One of the iconic elements of the design is the coloured stripes on the right side of its faceplate in the colours Red, Yellow, Green and Cyan. The exact Pantone colour values couldn't yet be retrieved. The angle of the stripes was measured as being at 24-degrees.<br />
<br />
== ULA ==<br />
<br />
Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array ("ULA") and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.<br />
<br />
The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.<br />
<br />
The "dead cockroach" was incorporated into later revisions of the ULA, rather than fixing the timing issue. The reason for this is not clear.<br />
<br />
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.<br />
<br />
The 48K Spectrum suffers from severe dot crawl, as it was not realised that synchronising the pixel clock with the PAL colour subcarrier would help to minimise this. The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.<br />
<br />
The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.<br />
<br />
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.<br />
<br />
Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at the full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory is slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.<br />
<br />
The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.<br />
<br />
The initial series of ZX Spectrum ULAs is the 5C. Ferranti later switched to their 6C series ULAs, resulting in a decrease in power consumption (and therefore also temperature) of the ULA.<br />
<br />
== [[NTSC Spectrum]] ==<br />
<br />
Sold in Chile. Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.<br />
<br />
Two machines found: one with 5C114E ULA, one with 6C011E-3.<br />
<br />
== Software ==<br />
<br />
The Sinclair BASIC interpreter for the ZX Spectrum was written by [[John Grant]] and [[Steve Vickers]] working for [[Nine Tiles Ltd]]. It was developed based on code previously written by Nine Tiles for the ZX81.<br />
<br />
=== Rubber Keyboard Model ===<br />
<br />
The [[ZX Interface 1]] and Microdrives were designed to fit neatly with the rubber key model of Spectrum. Part of Sinclair's patent for the ZX Spectrum covered inventions relating to the keyboard design.<br />
<br />
=== Plastic Keyboard Model ===<br />
<br />
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead. This keyboard features extra keys which map to combinations of keys on the rubber keyboard. These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.<br />
<br />
The same design of the keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].<br />
<br />
Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well. PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+). It should be noted that the heat dissipation properties of the two cases do differ and that this can cause failures due to overheating.<br />
<br />
== Motherboards ==<br />
<br />
: ''This section is a stub. Please expand with more detail.''<br />
<br />
The "spider" modification performed on Issue 1 and Issue 2 Spectrums was later incorporated into the Spectrum PCB starting with Issue 3.<br />
<br />
The ZX Spectrum contains either one or two banks of DRAMs. The lower bank of eight [[DRAMS#4116|16Kbit DRAMs]] is present in all Spectrums, and shared between the ULA and CPU as it contains the machine's video memory. A second bank of eight DRAMs for the upper 32K may be present for a total of 48K of RAM. External 32K RAM packs were sold for those not wanting to upgrade their 16K Spectrums to 48K internally.<br />
<br />
For an internally fitted 32K bank eight 32K DRAM chip used ([[DRAMS#4532|TI TMS4532-20NL3]]/[[DRAMS#4532|OKI M3732-L]] or [[DRAMS#4532|TI TMS4532-20NL4]]/[[DRAMS#4532|OKI M3732-H]]). These chips are really faulty 64K DRAMs. All eight DRAMs must be faulty within only one half of their storage. A link is present on the Spectrum PCB to specify which half of each of the faulty DRAMs is usable, but as this single link applies to all eight DRAMs, faults must only be present within the same half of each of them.<br />
<br />
=== Issue 1 ===<br />
<br />
The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughterboard for Issue 1.<br />
<br />
=== Issue 2 ===<br />
<br />
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.<br />
<br />
The rubber key mat's colouring is a bluish-grey starting with the Issue 2.<br />
<br />
=== Issue 3 ===<br />
<br />
The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impedance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.<br />
<br />
Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems. The "spider" fix was integrated into board.<br />
<br />
The Issue 3 was the first issue to be sold in the Spectrum+.<br />
<br />
=== Issue 4 ===<br />
<br />
The Issue 4A and 4B Spectrums improve ULA memory signal timing by delaying {{overline|RAS}} through two previously unused gates in IC24. It's important that ULA 6C001E-7 is used in these models.<br />
<br />
=== Issue 5 ===<br />
<br />
This is described in the service manual, however none are thought to exist in the wild. <br />
<br />
=== Issue 6 ===<br />
<br />
The Issue 6 includes changes required if using the [[Saga ULA]]. So far, only one such machine has been found. It also includes the ZX8401 IC (also found as the PCF1306P) to consolidate the six 74LS IC's that control all of the memory access logic in previous issues.<br />
<br />
== External links ==<br />
<br />
* [https://rk.nvg.ntnu.no/sinclair/computers/zxspectrum/spec48versions.htm ZX Spectrum 16K/48K versions] at Planet Sinclair<br />
[[Category:Hardware]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2065
Timeline of events
2020-05-10T17:39:55Z
<p>Zub: ZX Spectrum launched at Earls Court</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog|Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original 16/48&nbsp;KB model of the ZX Spectrum]] is launched at the IPC Computer Fair at Earls Court, at the initial price of £125 for the 16&nbsp;KB model, and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_16K/48K&diff=2064
ZX Spectrum 16K/48K
2020-05-10T15:03:26Z
<p>Zub: Link to sections for plastic and rubber-keyed models in description</p>
<hr />
<div>{{Infobox computer<br />
| photo = [[File:ZXSpectrum48k.jpg|300px|]]<br />
| cpu = [[Z80|Z80A]] @ 3.5MHz<br />
| rom = 16KB<br />
| ram = 16KB or 48KB<br />
| rampage = flat<br />
| manu = Sinclair Research<br />
| volume = appx. 4M units<br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
<br />
== Case Design ==<br />
<br />
The industrial design for the original [[#Rubber Keyboard Model|rubber-keyed]] ZX Spectrum and the [[#Plastic Keyboard Model|plastic-keyed Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]]. One of the iconic elements of the design is the coloured stripes on the right side of its faceplate in the colours Red, Yellow, Green and Cyan. The exact Pantone colour values couldn't yet be retrieved. The angle of the stripes was measured as being at 24-degrees.<br />
<br />
== ULA ==<br />
<br />
Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array ("ULA") and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.<br />
<br />
The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.<br />
<br />
The "dead cockroach" was incorporated into later revisions of the ULA, rather than fixing the timing issue. The reason for this is not clear.<br />
<br />
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.<br />
<br />
The 48K Spectrum suffers from severe dot crawl, as it was not realised that synchronising the pixel clock with the PAL colour subcarrier would help to minimise this. The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.<br />
<br />
The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.<br />
<br />
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.<br />
<br />
Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at the full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory is slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.<br />
<br />
The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.<br />
<br />
The initial series of ZX Spectrum ULAs is the 5C. Ferranti later switched to their 6C series ULAs, resulting in a decrease in power consumption (and therefore also temperature) of the ULA.<br />
<br />
== [[NTSC Spectrum]] ==<br />
<br />
Sold in Chile. Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.<br />
<br />
Two machines found: one with 5C114E ULA, one with 6C011E-3.<br />
<br />
== Software ==<br />
<br />
The Sinclair BASIC interpreter for the ZX Spectrum was written by [[John Grant]] and [[Steve Vickers]] working for [[Nine Tiles Ltd]]. It was developed based on code previously written by Nine Tiles for the ZX81.<br />
<br />
=== Rubber Keyboard Model ===<br />
<br />
The [[ZX Interface 1]] and Microdrives were designed to fit neatly with the rubber key model of Spectrum. Part of Sinclair's patent for the ZX Spectrum covered inventions relating to the keyboard design.<br />
<br />
=== Plastic Keyboard Model ===<br />
<br />
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead. This keyboard features extra keys which map to combinations of keys on the rubber keyboard. These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.<br />
<br />
The same design of the keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].<br />
<br />
Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well. PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+). It should be noted that the heat dissipation properties of the two cases do differ and that this can cause failures due to overheating.<br />
<br />
== Motherboards ==<br />
<br />
: ''This section is a stub. Please expand with more detail.''<br />
<br />
The "spider" modification performed on Issue 1 and Issue 2 Spectrums was later incorporated into the Spectrum PCB starting with Issue 3.<br />
<br />
The ZX Spectrum contains either one or two banks of DRAMs. The lower bank of eight [[DRAMS#4116|16Kbit DRAMs]] is present in all Spectrums, and shared between the ULA and CPU as it contains the machine's video memory. A second bank of eight DRAMs for the upper 32K may be present for a total of 48K of RAM. External 32K RAM packs were sold for those not wanting to upgrade their 16K Spectrums to 48K internally.<br />
<br />
For an internally fitted 32K bank eight 32K DRAM chip used ([[DRAMS#4532|TI TMS4532-20NL3]]/[[DRAMS#4532|OKI M3732-L]] or [[DRAMS#4532|TI TMS4532-20NL4]]/[[DRAMS#4532|OKI M3732-H]]). These chips are really faulty 64K DRAMs. All eight DRAMs must be faulty within only one half of their storage. A link is present on the Spectrum PCB to specify which half of each of the faulty DRAMs is usable, but as this single link applies to all eight DRAMs, faults must only be present within the same half of each of them.<br />
<br />
=== Issue 1 ===<br />
<br />
The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughterboard for Issue 1.<br />
<br />
=== Issue 2 ===<br />
<br />
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.<br />
<br />
The rubber key mat's colouring is a bluish-grey starting with the Issue 2.<br />
<br />
=== Issue 3 ===<br />
<br />
The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impedance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.<br />
<br />
Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems. The "spider" fix was integrated into board.<br />
<br />
The Issue 3 was the first issue to be sold in the Spectrum+.<br />
<br />
=== Issue 4 ===<br />
<br />
The Issue 4A and 4B Spectrums improve ULA memory signal timing by delaying {{overline|RAS}} through two previously unused gates in IC24. It's important that ULA 6C001E-7 is used in these models.<br />
<br />
=== Issue 5 ===<br />
<br />
This is described in the service manual, however none are thought to exist in the wild. <br />
<br />
=== Issue 6 ===<br />
<br />
The Issue 6 includes changes required if using the [[Saga ULA]]. So far, only one such machine has been found. It also includes the ZX8401 IC (also found as the PCF1306P) to consolidate the six 74LS IC's that control all of the memory access logic in previous issues.<br />
<br />
== External links ==<br />
<br />
* [https://oldwww.nvg.ntnu.no/sinclair/computers/zxspectrum/spec48versions.htm ZX Spectrum 16K/48K versions] at Planet Sinclair<br />
[[Category:Hardware]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2063
Timeline of events
2020-05-10T14:59:09Z
<p>Zub: Reword link to original 16/48 KB Spectrum article</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog|Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original 16&nbsp;KB and 48&nbsp;KB models of the ZX Spectrum]] are released at the initial price of £125 for the 16&nbsp;KB model, and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2062
Timeline of events
2020-05-10T14:56:56Z
<p>Zub: Fix link text</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog|Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2061
Timeline of events
2020-05-10T14:56:44Z
<p>Zub: Oops</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[:wikipedia:Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2060
Timeline of events
2020-05-10T14:56:35Z
<p>Zub: Fix links</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [:wikipedia:Zilog]] launch the [[Z80]] microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2059
Timeline of events
2020-05-10T14:55:55Z
<p>Zub: Add launch of the Zilog Z80 in 1976</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1976 ===<br />
<br />
* March: [[Zilog]] launch the Z80 microprocessor, which later goes on to be used in the ZX80, ZX81, ZX Spectrum (and Russian clones), SAM Coupé, Amstrad CPC, MSX and Jupiter Ace, amongst others.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2058
Timeline of events
2020-05-10T14:38:47Z
<p>Zub: Add a short summary</p>
<hr />
<div>Below is a timeline of events concerning Sinclair and related technology.<br />
<br />
=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Main_Page&diff=2057
Main Page
2020-05-10T14:37:57Z
<p>Zub: Add timeline of events</p>
<hr />
<div>[[File:ZXSpectrum48k.jpg|270px|thumb|The original [[ZX Spectrum 16K/48K|16K/48K ZX Spectrum]]]]<br />
<br />
<div style="font-family: Times New Roman; font-size: 20pt; text-align: center; font-style: italic;">Sinclair FAQ Wiki</div><br />
__NOTOC__<br />
<br />
The aim of this wiki is to provide an up to date repository for Sinclair related information on the internet.<br />
<br />
If you would like to contribute to articles please [[Special:UserLogin|register/log in]].<br />
<br />
==Current Status==<br />
The wiki is slowly growing, there are several full articles now but it still needs contributions. Please take a look at [[SinclairFAQ talk:What Needs Doing]] to see what parts of the wiki you can help with.<br />
<br />
==Index==<br />
<br />
'''[[Frequently asked questions]]—start here!'''<br />
<br />
'''[[ZX Spectrum|Spectrum systems]]:'''<br />
* Original models: [[ZX Spectrum 16K/48K]] | [[ZX Spectrum 128]] | [[ZX Spectrum +2]] | [[ZX Spectrum +2A/2B, +3/3B]] | [[Timex 2000 series]]<br />
* Compatible systems and clones: [[T34VG1]] | [[SAM Coupé]] | [[Speccy2010]] | [[ZX Spectrum SE]]<br />
<br />
'''Spectrum internals:'''<br />
* Components: [[Schematics]] | [[AY-3-8912]] | [[ZX Spectrum ULA]] | [[Z80]] | [[ZX Spectrum edge connector]]<br />
* Behaviour: [[Contended memory]] | [[Contended I/O]] | [[Floating bus]] | [[Spectrum Video Modes]]<br />
<br />
'''Hardware maintenance:''' [[Replacement Components]]<br />
<br />
'''Hardware addons'''<br />
* Floppy drives: [[External floppy drives on the Spectrum +3]] | [[Beta Disk]] | [[+D]] | [[DISCiPLE]] | [[Didaktik 80]] | [[MB-02+]] | [[Opus Discovery]]<br />
* Other storage: [[DivIDE]] | [[ZX Interface 1]] (Microdrive and ZX Network) | [[Messenger]] | [[Mirage Microdriver]] | [[Multiface]] One/128/3 | [[Rotronics Wafadrive]]<br />
* Mouse/joystick: [[AMX Mouse]] | [[Kempston Joystick Interface|Kempston]] | [[ZX Interface 2]]<br />
* Printers: [[ZX Printer]]<br />
* Speech synthesis: [[SP0256]]<br />
* Networking: [[Spectranet]]<br />
* [[Modern hardware]]<br />
<br />
'''Standards:''' [[IDEDOS]] | [[ULAplus]] | [[X80]] | [[ZXI standard]]<br />
<br />
'''System software:''' [[Sinclair BASIC history]] | [[ROM images]] | [[+3DOS]] | [[+3e]] | [[Open82]] | [[OpenSE]] | [[Spectrum tape interface]] | [[Channels and streams]] | [[Loading routine "cores"]]<br />
<br />
'''Software development:''' [[Z80 Programming]] | [[:Category:Specbas|SpecBAS]] | [[18×18 icon format]] | [[BIFROST* Engine]] | [[BIFROST*2 Engine]] | [[NIRVANA Engine]] | [[NIRVANA+ Engine]]<br />
<br />
'''[[Emulators]]'''<br />
<br />
'''[[:Category:File Formats|File formats]]:'''<br />
* [[:Category:Native file formats|Native]]: [[FZX format|FZX]] | [[Spectrum tape interface]]<br />
* [[:Category:Emulator Disk Image Formats|Disk]]: [[DSK format|DSK/EDSK]] | [[UDI format|UDI]] | [[TRD format|TRD]] | [[SCL format|SCL]] | [[MGT format|MGT/IMG]] | [[OPD format|OPD/OPU]] | [[D80 format|D40/D80]] | [[HDF format|HDF]]<br />
* [[:Category:Emulator Tape Image Formats|Tape]]: [[PZX format|PZX]] | [[TAP format|TAP]] | [[TZX format|TZX]]<br />
* [[:Category:Emulator Snapshot File Formats|Snapshot]]: [[SNA format|SNA]] | [[Z80 format|Z80]] | [[ZX-State format|ZX-State (SZX)]]<br />
<br />
'''[[:Category:Filesystems|Filesystems]]:'''<br />
* [[MGT filesystem]] | [[TR-DOS filesystem]]<br />
<br />
'''[[:Category:Companies|Companies]]:''' [[Sinclair Research Ltd|Sinclair Research]] | [[Miles Gordon Technology]] | [[SAM Computers Ltd|SAM Computers]]<br />
<br />
'''[[Timeline of events]]'''<br />
<br />
'''Spectrum culture:''' [[Harry S Price]] | [[Matthew Smith]] | [[Where Are They Now?]] | [[comp.sys.sinclair Crap Games Competition]]<br />
<br />
==External Links==<br />
* [https://scratchpad.fandom.com/wiki/ZX_Spectrum_technical_information The Tech Wiki] which contains older versions of much of this material, and details of the "128Ke" idealised Spectrum 128K specification.<br />
<br />
* [https://www.worldofspectrum.org/faq/ The comp.sys.sinclair FAQ] which contains the majority of the technical information about the Sinclair ZX80, ZX81, and Spectrum range of computers<br />
<br />
* [https://www.worldofspectrum.org/WoSFAQ.html The World of Spectrum FAQ]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_Wiki_talk:What_Needs_Doing&diff=2056
Sinclair Wiki talk:What Needs Doing
2020-05-10T14:25:17Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>==Migrate Tech Wiki==<br />
Some info has been copied from the Tech Info Wiki, but there's still more to do.<br />
<br />
: I recently updated the tech info wiki after it was pointed out that it a page on there was in need of updating, but completely forgot about this Wiki. I suppose we should clear pages on the tech wiki pages after migration? It'd be helpful to provide a link from the tech wiki to here, but I'm not sure how that fits in with Wikia's policies. —[[User:Zub|Zub]] 01:23, 3 April 2014 (BST)<br />
<br />
== Software ==<br />
<br />
We need articles on Sinclair related [[software]], both [[:Category:Native Software|for Sinclair machines]] and [[:Category:Software Tools|for running on other architectures]]. [[User:Guesser|Guesser]] 20:19, 24 October 2010 (BST)<br />
<br />
== File formats ==<br />
<br />
=== Snapshot formats ===<br />
<br />
* Implemented in libspectrum:<br />
** SNA 48K/128K (mention origin of Mirage Microdriver)<br />
** SP, SNP, ZXS (not SZX/ZX-State)<br />
** ZX82<br />
** SLT<br />
** +D-based '.plusd' using 22-byte header<br />
* Implemented in spconv:<br />
** SIT<br />
** SNX<br />
** ZX<br />
* Implemented in ASCD (SimCoupé fork):<br />
** SCS (48K/128K/Coupé)<br />
* Native formats:<br />
** +D and DISCiPLE (with register dump in directory entry and corruption in GDOS but not G+DOS)<br />
** Mirage Microdriver (include tape block info)<br />
** Multiface formats<br />
* Spectrum emulation under SAM Coupé:<br />
** +D/DISCiPLE snapshots as above<br />
** SC_Speclone CODE file with +D-style footer<br />
** 64K Messenger snapshots<br />
** FUXoft '.FUX' format.<br />
* Formats on old FAQ[https://oldwww.nvg.ntnu.no/sinclair/faq/fileform.html] believed to be undocumented:<br />
** ACH<br />
** PRG<br />
** SEM<br />
<br />
== Wanted ==<br />
<br />
[[Special:WantedPages]] shows current [[Wikipedia:Red Links|Red Links]] that need pages creating.<br />
<br />
[[Special:ShortPages]] shows pages sorted by length starting with the smallest. This helps you find pages with little or no info that need work. [[User:Guesser|Guesser]] 21:39, 24 October 2010 (BST)<br />
<br />
== Copyedit ==<br />
<br />
Incomprehensible walls of text get tagged with <nowiki>{{Copyedit}}</nowiki>; this causes them to appear in [[:Category:Articles in need of copyediting]]. Have a knack for explaining things? Help out.<br />
<br />
== Style guide ==<br />
<br />
We have a [[SinclairFAQ:Manual of Style|style guide]] but would prefer things get done that worry too much about strong adherence to this guide at present.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Modern_hardware&diff=2055
Modern hardware
2020-05-10T14:17:00Z
<p>Zub: Let's (really) use HTTPS!</p>
<hr />
<div>* '''IMPORTANT: only add hardware which has actually been shipped to the general public to this page.'''<br />
<br />
Spectrum-related hardware which you can buy now (or have been able to buy in the past few years).<br />
<br />
== Peripherals ==<br />
<br />
Things that plug into the the expansion port on original hardware, just like they did in the 1980s.<br />
<br />
{|<br />
!Name<br />
!Description<br />
!Available from<br />
|-<br />
|Dandanator! Mini<br />
|FLASH based interface to run IF1 or other ROM images, and Z80 snapshots.<br />
|[http://www.dandare.es/Proyectos_Dandare/ZX_Dandanator%21_Mini_EN.html Project page]<br />
|-<br />
|DivIDE<br />
|IDE (or typically Compact Flash cards via a CF to IDE adapter) and extra memory - can run various firmwares, including ESXDOS.<br />
|-<br />
|DivMMC<br />
|MMC/SD cards and extra memory - can run various firmwares, including ESXDOS. Basically a DivIDE with extra memory and the IDE support replaced by MMC/SD card support.<br />
|-<br />
|PlusDlite<br />
|A [[+D]], with added Kempston joystick (but no parallel port).<br />
|[https://www.bytedelight.com/?product_cat=plusdlite ByteDelight]<br />
|-<br />
|Retroleum SMART Card<br />
|SD Card based interface to run IF1 or other ROM images, and load .TAP files.<br />
|[https://www.retroleum.co.uk/spectrum-peripherals Retroleum Website]<br />
|-<br />
|[[Spectranet]]<br />
|IP interface (i.e. Internet access)<br />
|-<br />
|vDrive ZX<br />
|Emulates up to eight ZX Microdrive.<br />
|[https://vdrivezx.com/vdrivezx/ vDriveZX]<br />
|-<br />
|ZX-HD<br />
|Raspberry Pi Zero based HDMI interface for all ZX Spectrum models, supports ULAPlus.<br />
|[https://www.bytedelight.com/?product=zx-hd-hdmi-interface-with-ulaplus ByteDelight webshop]<br />
|}<br />
<br />
== Replacement hardware ==<br />
<br />
Replacements for the original machine.<br />
<br />
{|<br />
!Name<br />
!Description<br />
!Available from<br />
|-<br />
|Just Speccy 128<br />
|A complete Spectrum 128 ''except'' the ULA.<br />
|Intermittently from [https://www.sellmyretro.com/ Sell My Retro], sometimes packaged with a SLAM ULA.<br />
|-<br />
|Nebula<br />
|ULA replacement for ZX Spectrum 16K/48K.<br />
|[https://www.retroleum.co.uk/zx-spectrum-chips Retroleum Website]<br />
|-<br />
|mULA48<br />
|ULA replacement for ZX Spectrum 16K/48K.<br />
|[https://www.8bits4ever.net/product-page/mula48 8bits4ever]<br />
|-<br />
|SLAM ULA<br />
|A Spectrum 128 ULA.<br />
|Intermittently from [https://www.sellmyretro.com/ Sell My Retro]<br />
|}<br />
<br />
== Reimplementations ==<br />
<br />
Reimplementations of the Spectrum in modern hardware designs.<br />
<br />
{|<br />
!Name<br />
!Description<br />
!Available from<br />
|-<br />
|[https://zxuno.speccy.org/index_e.shtml ZX-UNO]<br />
|FPGA reimplementation of the Spectrum (and other Z80 machines) plus some additional features.<br />
|[https://antoniovillena.es/ Antonio Villena]<br />
|}<br />
<br />
== Others ==<br />
<br />
Stuff which doesn't fit into any of the above categories.<br />
<br />
{|<br />
!Name<br />
!Description<br />
!Available from<br />
|-<br />
|Recreated Sinclair ZX Spectrum<br />
|A Bluetooth keyboard in the form factor of the Spectrum<br />
|[https://www.amazon.co.uk/The-Recreated-Sinclair-ZX-Spectrum/dp/B00SXCJYYA Amazon]<br/><br />
[https://www.ceratech.co.uk/product-p/kyb-zxspectrumbt.htm Ceratech]<br/><br />
[http://sinclair.recreatedzxspectrum.com/xproduct1.php Elite Systems] (manufacturer)<br/><br />
[https://www.game.co.uk/en/the-recreated-sinclair-zx-spectrum-2050251 GAME]<br />
|-<br />
|Sinclair ZX Spectrum Vega<br />
|A console-style emulator which plugs into a TV.<br />
|[https://www.amazon.co.uk/Sinclair-ZX-Spectrum-Vega-Console/dp/B013BC7IR6/ Amazon]<br/><br />
[https://www.funstockretro.co.uk/sinclair-zx-spectrum-vega-console Funstock Retro]<br/><br />
[https://retrocomputerslimited.com/store/product/sinclair-zx-vega Retro Computers Limited] (manufacturer)<br />
|-<br />
|TZXduino<br />
|A "fake tape player" which will play back TAP or TZX files as audio for input to real hardware.<br />
|Intermittently from [https://www.sellmyretro.com/ Sell My Retro]<br />
|}</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Z80&diff=2054
Z80
2020-05-10T14:15:12Z
<p>Zub: Let's (really) use HTTPS!</p>
<hr />
<div>{{See Also|the CPU chip used in the Spectrum|the emulator snapshot format|Z80 format}}<br />
The '''Zilog Z80A''' is the CPU used in the [[ZX80]], [[ZX81]] and all [[ZX Spectrum]] models, as well as most [[:Category:clones|Spectrum clones]] and several other 8-bit micros.<br />
In the Spectrum, the Z80 is clocked at around 3.5MHz (for precise values see individual model pages).<br />
<br />
== Instruction set ==<br />
{{Main|Z80 Programming#Instruction Set}}<br />
The instruction set of the Z80 in an extension of that of the [[Intel 8080]]. An entirely different set of assembly mnemonics is used. 8080 compatibility allowed the Z80 to be used in many [[CP/M]] systems, and this compatibility allowed CP/M to run on the [[ZX Spectrum +3]], and a CP/M compatible system, Pro-DOS, to run on the [[SAM Coupé]].<br />
<br />
[[Zilog]] have released a number of variants of the Z80, and it has been second-sourced by many manufacturers, such as Mostek. In addition, there are numerous processors such as the R800 and T80 that are largely compatible with the Z80's instruction set.<br />
<br />
[[NEC]] produced an unlicensed clone of the Z80 ([https://archive.computerhistory.org/resources/text/Oral_History/Zilog_Z80/102658073.05.01.pdf Computer History Museum: Z80 oral history] page 13) through reverse engineering. It is this clone, the NEC µPD780 that is found in the majority of Spectrums, labelled as a "D780C -1".<br />
<br />
The U880 was an East German clone of the Z80. This was also produced by Angstrem (Ангстрем) as the Т34ВМ1 in Cyrillic (T34VM1 in Latin script), which photomicrographs reveal to use the U880 die mask[https://zeptobars.com/en/read/t34vm1-z80-angstrem-mme], and the КР1858ВМ1 in Cyrillic (KR1858VM1 in Latin script). These differ from the Zilog Z80 in their setting of the carry flag after an OUTI operation, but are otherwise (almost?) identical. The UB880D was found in the Didaktik Gama amongst other machines, despite being only rated for operation up to 2.5 MHz. The UA880D may run at 4 MHz. A CMOS clone, the КР1858ВМ3, also existed, and this is known to handle the HALT instruction differently[https://zxpress.ru/article.php?id=2943]: memory is not refreshed, R register is not incremented HALT during DI is permitted (but interrupts remain disabled afterwards) and HALT is interrupted immediately (rather after a delay, before the start of the next M-cycle).<br />
<br />
== Contended memory ==<br />
{{Main|Contended memory}}<br />
Computers using the Z80 tended to run at a relatively high clock speed by for the time, compared to certain other processors such as the MOS 6502 and Motorola 6809. Doing so was required to achieve a decent level of performance, as on average, the Z80 required a larger number of clock cycles per instruction executed. This high clock speed would typically eliminate cycle stealing as a means of sharing video memory between the display generation hardware and the CPU, as the DRAM required to support this would need to be clocked at an even higher frequency. If a display is to be generated whilst video memory is being accessed, this leaves a choice of comparatively expensive VRAM with a dedicated read port for display generation, or a memory contention scheme where by the CPU will is halted when the display hardware requires access to video memory.<br />
<br />
The ZX Spectrum uses a memory contention scheme, but with a slight quirk — the {{overline|MREQ}} line that signifies whether the Z80 is performing memory access is not decoded by the ULA of the original Sinclair models (including the 128K), meaning that the CPU may be halted briefly to avoid contention whenever it places a value onto the address bus in the address range of contended memory (i.e. memory at 0x4000–0x7fff on the 48K Spectrum, and also the range between 0xc000–0xffff on a 128K when contended memory is paged in). As {{overline|MREQ}} is not decoded, this contention applies even when the Z80 is not accessing memory, i.e. when accessing I/O ports, when performing DRAM refresh, and when certain instructions place spurious values on the address bus for no specific purpose. This issue was later fixed by Amstrad for the Spectrum +3 and +2A/+2B, but by this time, a certain amount of software had grown to depend on the behaviour of the original Sinclair models.<br />
<br />
== Bits 3 and 5 of the F register ==<br />
<br />
=== BIT n,(HL) ===<br />
<br />
Upon executing BIT n,(HL) instructions, bits 3 and 5 of the F register are copied from an internally buffered register pair now commonly referred to as MEMPTR or WZ, as described in [http://zx.pk.ru/attachment.php?attachmentid=2989 memptr_eng.txt].<br />
<br />
Woody has confirmed that bits 3 and 5 of the flags are copied on all BIT instructions on both a Zilog Z80 and an NEC clone (stated on the link above as being "unverified").<br />
<br />
==== Clarifications ====<br />
<br />
Some bits which aren't immediately clear from memptr_eng.txt but appear to be generally true:<br />
<br />
* MEMPTR is unchanged for DJNZ with B == 1 or for a conditional JR when the jump is not taken. (Note the difference with conditional JP and CALL where MEMPTR is set even if the jump isn't taken).<br />
* MEMPTR is set for IN <register>, (C) and OUT (C), <register> for all registers, not just A.<br />
<br />
==== Clarification needed ====<br />
<br />
* What is the value of MEMPTR after IN A, 255? Everywhere else that the high byte of MEMPTR is set to A, there is no carry from the low byte (eg LD (nnnn), A), but memptr_eng.txt implies there is a carry in this case. Has anyone checked this case?<br />
<br />
=== SCF and CCF ===<br />
<br />
Stuart Brady discovered that how bits 3 and 5 of the flags are set after the SCF and CCF instructions actually depends on the variant of Z80 in use. On a Zilog Z80, bits 3 and 5 of the flags were set by ORing their previous values with that of A. On an NEC clone, bit 3 was unaffected, while bit 5 appears to be set by ANDing the previous value with something unknown. Previously, Ian Greenway tested this and found that bits 3 and 5 seemed simply to be copied from A, although it is not known which CPU these tests were run on. For more details, see [https://sourceforge.net/mailarchive/forum.php?thread_name=20040217082529.GH17981%40philos.lan.philosys.de&forum_name=fuse-emulator-devel here], [https://sourceforge.net/mailarchive/forum.php?thread_name=20070522223156.GA12009%40miranda.arrow&forum_name=fuse-emulator-devel here] and a more recent investigation [https://groups.google.co.uk/group/comp.sys.sinclair/msg/56dd1fd4ccb5fb3b here].<br />
<br />
Patrik Rak however later [https://www.worldofspectrum.org/forums/showthread.php?p=669314 discovered] that the way how the flags 5 and 3 are affected after SCF/CCF actually depends on the previous instruction completed. In case of genuine Zilog CPU, if an instruction modifies the flags, the immediately following SCF/CCF does move of bits 5 and 3 from A to F, whereas if an instruction doesn't modify the flags (and after interrupt), the SCF/CCF does OR of bits 5 and 3 from A to F. In case of NEC and other clones, it is similar, except that instead of OR it does AND with some unknown value, making the result unreliable.<br />
<br />
== Differences between NMOS and CMOS Z80s ==<br />
<br />
=== LD A,I and LD A,R bug ===<br />
<br />
The NMOS Z80s suffer a problem whereby LD A,I and LD A,R record the state of IFF2 after it has been reset if an interrupt is delivered during that instruction. This behaviour, along with workarounds for this for use in interrupt handlers are documented in the [http://z80.info/zip/ZilogProductSpecsDatabook129-143.pdf Z80 Family Questions and Answers] section of the Zilog Product Specifications Databook, and is useful for detecting the model of Z80 in use, so as to determine whether the CPU (assuming it is a genuine NMOS or CMOS Z80) provides an 'OUT (C),0' instruction (NMOS), or 'OUT (C),255' instead (CMOS).<br />
<br />
=== OUT (C),0 or OUT (C),255 instruction ===<br />
In 1996, Simon Cooke noted in a [https://groups.google.com/d/msg/comp.os.cpm/HfSTFpaIkuU/KotvMWu3bZoJ Usenet posting] that the undocumented instruction usually referred to as 'OUT (C),0' behaves instead as 'OUT (C),255' on CMOS Z80s.<br />
<br />
Later, in 2004, Colin Piggot rediscovered this with his own SAM Coupé, when running a demo for SCPDU 6, coincidentally written by Simon Cooke. With the CMOS Z80, a white background colour was set over part of the screen in the demo. This was described in SAM Revival Issue 9 (March/April 2004).<br />
<br />
In 2008, this was once again [https://www.msx.org/forum/development/msx-development/bug-z80-emulation-or-tr-hw rediscovered by the MSX community].<br />
<br />
== Bus ==<br />
The Z80 has a 16-bit address bus and an 8-bit data bus. The control bus pins (all of which are active low) are:<br />
{| class="wikitable"<br />
|-<br />
|'''Pin''' || '''Description'''<br />
|-<br />
|{{overline|MREQ}} || Memory Request<br />
|-<br />
|{{overline|IORQ}} || I/O Request<br />
|-<br />
|{{overline|RD}} || Read<br />
|-<br />
|{{overline|WR}} || Write<br />
|-<br />
|{{overline|RFSH}} || DRAM Refresh<br />
|-<br />
|{{overline|M1}} || Opcode Fetch Cycle<br />
|-<br />
|{{overline|HALT}} || CPU Halted<br />
|-<br />
|{{overline|WAIT}} || CPU Wait<br />
|-<br />
|{{overline|INT}} || Maskable Interrupt<br />
|-<br />
|{{overline|NMI}} || Non-Maskable Interrupt<br />
|-<br />
|{{overline|BUSRQ}} || Bus (DMA) request<br />
|-<br />
|{{overline|BUSACK}} || Bus (DMA) acknowledgement<br />
|}<br />
<br />
All of these signals, including A0–A15 and D0–D7, are accessible on the expansion bus of both the ZX Spectrum and ZX81, although note that the ZX81's BUSACK signal is inverted, and that pinouts differ between the two machines.<br />
<br />
== Replacements ==<br />
Z80 chips are still available new, due largely to their continued popularity for embedded systems. Component suppliers such as Farnell and Rapid usually have them in stock.<br />
<br />
== Test programs ==<br />
<br />
A basic Flags test program for emulators is available [http://homepage.ntlworld.com/mark.woodmass/z80tests.tap here]. Note that the program makes heavy use of ROM data during the tests and so should only be used with an unpatched copy of the original 48K ROM to obtain correct results.<br />
<br />
Patrik Rak has written a [http://zxds.raxoft.cz/taps/misc/z80test.zip Z80 instruction tester], as [https://www.worldofspectrum.org/forums/showthread.php?t=41834 announced here].<br />
<br />
== Notable uses ==<br />
<br />
The Z80A is used in the [[ZX80]], [[ZX81]], [[ZX Spectrum]], [[Jupiter Ace]] and [[Cambridge Z88]].<br />
<br />
The [[SAM Coupé]], a computer with a large degree of compatibility with the ZX Spectrum 48K, makes use of a Z80B, running at 6 MHz.<br />
<br />
The Z80 is also used in the [[MSX]] and [[Amstrad CPC]] range, which eases the task of porting software between the Spectrum and those systems in many cases.<br />
<br />
The Sega [[Master System]] and [[Sega Game Gear]] use a Z80 as their CPU. The Nintendo [[Game Boy]] makes use of a Sharp LR35902, which is closer to an [[Intel 8080]], but includes a number extra instructions from the Z80 (but not the extra registers) and some unique instructions of its own.<br />
<br />
== See also ==<br />
* [[X80]], a proposed floating point unit following the Spectrum calculator stack instruction set.<br />
<br />
== External links ==<br />
<br />
* [[Wikipedia:Z80|Wikipedia's article on the Z80]]<br />
* Thomas Scherrer's [http://z80.info/ z80.info]: official Zilog manuals and the like<br />
* Sean Young's [http://www.myquest.nl/z80undocumented/ ''The Undocumented Z80 Documented'']: undocumented features<br />
* [[Wikipedia:de:U880|U880]] (link to German language Wikipedia)<br />
* [[Wikipedia:ru:Т34ВМ1 и Т34ВГ1|Т34ВГ1]] (link to Russian language Wikipedia)<br />
* [[Wikipedia:cs:T34VM1|T34VM1]] (link to Czech language Wikipedia)<br />
<br />
{{CC-BY-SA-techwiki|Z80|Z80}}<br />
<br />
[[Category:Hardware]]<br />
[[Category:Z80|*]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Talk:Contended_I/O&diff=2053
Talk:Contended I/O
2020-05-10T14:11:57Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>IMHO the "... the ULA '''halts''' the processor" is not the best phrase, because there is a HALT instruction in Z80 assembly, which really '''halt''' the CPU and the processor is '''halted''' while an interrupt arrived. Hmm... o.k. not exactly, because Z80 do NOPs to refresh memory.<br />
<br />
This situation the ULA really stops CPU clock signal. <del>pulls the "/WAIT" pin of CPU, and Z80 adds "empty" clock cycles while /WAIT is low. BTW: while Z80 waits, does not refresh the memory, so a long wait cycle can "erase" the DRAM...</del> [[User:Szaszg|Szaszg]] ([[User talk:Szaszg|talk]])<br />
<br />
: Thanks, Gergely! I've had a go at this. Unfortunately, I'm working from memory here. My recollection is that ULA I/O access is delayed using {{overline|WAIT}} (note: I'm using <nowiki>{{overline|WAIT}}</nowiki> for {{overline|WAIT}} in this Wiki, not /WAIT, !WAIT, ~WAIT or ¬WAIT :-)) but that the spurious I/O contention stops the clock. Please correct me if I'm mistaken. I don't quite get why access to ULA ports between 0x4000 and 0x7fff results in less contention than non-ULA access within that some range. We could do with adding a reference to Chris Smith's book here, although I don't currently have it. [[User:Zub|Zub]] ([[User talk:Zub|talk]]) 00:25, 3 June 2015 (UTC)<br />
<br />
:: Hmm.. as I see, the {{overline|WAIT}} pin of Z80 is not connected to ULA (e.g.: https://8bit.yarek.pl/computer/zx.48/2_sch.gif), so I think ULA has only one method to delay CPU: holds CPU clock signal at high level...[[User:Szaszg|szaszg]] ([[User talk:Szaszg|talk]]) 17:12, 10 June 2015 (UTC)</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_%2B2&diff=2052
ZX Spectrum +2
2020-05-10T14:10:38Z
<p>Zub: Move categories to bottom</p>
<hr />
<div>{{Infobox computer<br />
| cpu = [[Z80|Z80A]] @ 3.5469MHz<br />
| rom = 64KB<br />
| ram = 128KB<br />
| rampage = 8×16KB<br />
| manu = Amstrad<br />
| volume = <br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
{{See Also|the early "Grey +2"|the later "Black +2" (+2A and +2B)|ZX Spectrum +3/2A/2B}}<br />
<br />
==Hardware Revisions==<br />
This is an attempt to pin down the various hardware revisions of the +2 Grey. There seem to be three main revisions of the PCB, within these there appear to be separate date coded batches<br />
<br />
===Z70500===<br />
*''Comments:'' Presumably the earliest versions of this board were created prior to the Sinclair takeover<br />
*''Place of manufacture: ''These boards appear to have been manufactured in Taiwan, this is embossed on the underside of the case.<br />
*''Date of manufacture (batch):'' The date code for the PCB batch is recorded on the top right corner on the rear of the PCB in the traces, in this case 32nd Week of 1986: [https://cl.ly/image/2R2Q2G1R1x0c/Screenshot%202015-09-03%2009.17.16.png]<br />
<br />
*''Distinguishing features: ''Fitted with radial capacitors, 2 bodge resistors and a capacitor on the rear of the PCB.<br />
<br />
*''Problems:''<br />
**[https://www.benophetinternet.nl/hobby/vanmezelf/ZX%20Spectrum%20128K%20video%20fixes%20and%20video%20cables.pdf Requires TR4 mod for misplaced transistor.]<br />
** Not only should TR4 be rotated but also TR7. If TR7 is mounted in the false direction then the transistor, which normally acts as an emitter follower, only acts as a diode. The base-collector-diode together with R65 realizes the OR function. But in this case A0 is loaded by 470 Ohm which would be avoided if TR7 would be mounted correct. ([https://www.worldofspectrum.org/forums/discussion/comment/834739/#Comment_834739 Ingo])<br />
<br />
*''Variants:''<br />
Standard 8632 (1986 Week 32)/ 8642 (1986 week 42): Schematic [https://forum.wda-fr.org/download/file.php?id=2442&mode=viewSchematic]<br />
Mid (1987? Week 21): ROM has text rotated on it, date code 8721 [https://rk.nvg.ntnu.no/sinclair/images/plus2_pcb.jpg](image nvg)<br />
<br />
''Serial numbers:''<br />
*A six digit number proceeded by a U<br />
*U-102726: 8632<br />
<br />
''Photos''<br />
*[https://cl.ly/293v1R2j370O/download/Z70500.zip8632]<br />
<br />
===Z70700===<br />
*''Comments:'' Manufactured in the UK once stocks of the toast rack PCB were used up? <br />
*''Place of manufacture: ''These boards appear to have been manufactured in UK, this is embossed on the underside of the case.<br />
*''Date of manufacture (batch):'' The date code for the PCB batch is recorded on the bottom left corner on the PCB in the silkscreen<br />
<br />
*''Distinguishing features: ''Fitted with axial capacitors (excess stock left over from the toast rack?). Lots of small coloured stickers on the modulator and elsewhere in the case.<br />
<br />
''Variants:''<br />
*3886 (1986 Week 38): Bodge resistor on bottom left hand corner of the board (R86?)<br />
*8640 (1986 Week 40): Colour of capacitors change [https://benophetinternet.nl/hobby/vanmezelf/20130605_153957.jpg] (Ben Verstee)<br />
*8645 (1986 Week 45): Colour of capacitors change, different diodes, changes to resistors in bottom left corner of the board [https://www.tomdalby.com/retro/images/+2_inside.jpg] (Tom Dalby)<br />
<br />
''Serial numbers:''<br />
*A six digit number followed by a T, e.g.: <br />
[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_707209003290]: <br />
*005711T: (3886)<br />
*[http://forum.wda-fr.org/viewtopic.php?t=2279012703T]: (8645?) <br />
*[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_707209081526]: <br />
<br />
''Photos''<br />
*[https://cl.ly/2o3b2A1l2326/download/Z70700.zip8686]<br />
*[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_7072098640]<br />
<br />
===0500 (Z70500 is on the rear side)===<br />
*''Comments:'' A later variant of the Z70500 ([https://www.worldofspectrum.org/forums/discussion/comment/823302/#Comment_823302 see also]) possibly originally for the French market, but UK versions also exist. <br />
*''Place of manufacture: '' Taiwan (embossed on bottom of case and PSU sticker).<br />
*''Date of manufacture (batch):'' ? 8641A listed on the front bottom silkscreen of later revisions<br />
<br />
*''Distinguishing features: '' Encased inductor, capacitor colour change, rear-side bodges of Z70500 corrected and paced on the front. [https://www.worldofspectrum.org/forums/discussion/35523/please-test-your-zx128-2-grey-model/p1 Fixed HAL chip.]<br />
<br />
''Variants:''<br />
*UK (1986 Week 37): [https://www.tomdalby.com/retro/images/+2_inside_i3.jpg] (Tom Dalby)<br />
*UK 8641A (1986 week 41): Amstrad 4056 instead of PCF1306P [https://www.nightfallcrew.com/wp-content/gallery/zx-spectrum-2/img_2278.jpg] (nightfall crew)<br />
*France (1986): The modulator and associated components are not fitted, French ROM (40068)[https://mo5.com/commun/images/ordinateurs/sinclair/F_cmspectrumplus2.jpg] (moo5)<br />
<br />
''Serial numbers:''<br />
A six digit number proceeded by a U<br />
*U-091998: 8639 [https://www.worldofspectrum.org/forums/discussion/comment/833728/#Comment_833728]<br />
*U205749: 8641A [https://www.nightfallcrew.com/22/08/2009/sinclair-amstrad-zx-spectrum-2-in-the-grey-case-issue-3sinclair-amstrad-zx-spectrum-2-grigio-issue-3/]<br />
<br />
''Photos''<br />
*[https://www.nightfallcrew.com/22/08/2009/sinclair-amstrad-zx-spectrum-2-in-the-grey-case-issue-3sinclair-amstrad-zx-spectrum-2-grigio-issue-3/ Nightfall crew]<br />
*[https://www.worldofspectrum.org/forums/discussion/comment/833728/#Comment_833728 MatGubbins]<br />
<br />
[[Category:Spectrum]]<br />
[[Category:Hardware]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ZX_Spectrum_%2B2&diff=2051
ZX Spectrum +2
2020-05-10T14:10:21Z
<p>Zub: Fix typo</p>
<hr />
<div>[[Category:Spectrum]]<br />
[[Category:Hardware]]<br />
{{Infobox computer<br />
| cpu = [[Z80|Z80A]] @ 3.5469MHz<br />
| rom = 64KB<br />
| ram = 128KB<br />
| rampage = 8×16KB<br />
| manu = Amstrad<br />
| volume = <br />
| resolution = 256×192<br />
| colours = 15 (2 per 8×8 cell)<br />
}}<br />
{{See Also|the early "Grey +2"|the later "Black +2" (+2A and +2B)|ZX Spectrum +3/2A/2B}}<br />
<br />
==Hardware Revisions==<br />
This is an attempt to pin down the various hardware revisions of the +2 Grey. There seem to be three main revisions of the PCB, within these there appear to be separate date coded batches<br />
<br />
===Z70500===<br />
*''Comments:'' Presumably the earliest versions of this board were created prior to the Sinclair takeover<br />
*''Place of manufacture: ''These boards appear to have been manufactured in Taiwan, this is embossed on the underside of the case.<br />
*''Date of manufacture (batch):'' The date code for the PCB batch is recorded on the top right corner on the rear of the PCB in the traces, in this case 32nd Week of 1986: [https://cl.ly/image/2R2Q2G1R1x0c/Screenshot%202015-09-03%2009.17.16.png]<br />
<br />
*''Distinguishing features: ''Fitted with radial capacitors, 2 bodge resistors and a capacitor on the rear of the PCB.<br />
<br />
*''Problems:''<br />
**[https://www.benophetinternet.nl/hobby/vanmezelf/ZX%20Spectrum%20128K%20video%20fixes%20and%20video%20cables.pdf Requires TR4 mod for misplaced transistor.]<br />
** Not only should TR4 be rotated but also TR7. If TR7 is mounted in the false direction then the transistor, which normally acts as an emitter follower, only acts as a diode. The base-collector-diode together with R65 realizes the OR function. But in this case A0 is loaded by 470 Ohm which would be avoided if TR7 would be mounted correct. ([https://www.worldofspectrum.org/forums/discussion/comment/834739/#Comment_834739 Ingo])<br />
<br />
*''Variants:''<br />
Standard 8632 (1986 Week 32)/ 8642 (1986 week 42): Schematic [https://forum.wda-fr.org/download/file.php?id=2442&mode=viewSchematic]<br />
Mid (1987? Week 21): ROM has text rotated on it, date code 8721 [https://rk.nvg.ntnu.no/sinclair/images/plus2_pcb.jpg](image nvg)<br />
<br />
''Serial numbers:''<br />
*A six digit number proceeded by a U<br />
*U-102726: 8632<br />
<br />
''Photos''<br />
*[https://cl.ly/293v1R2j370O/download/Z70500.zip8632]<br />
<br />
===Z70700===<br />
*''Comments:'' Manufactured in the UK once stocks of the toast rack PCB were used up? <br />
*''Place of manufacture: ''These boards appear to have been manufactured in UK, this is embossed on the underside of the case.<br />
*''Date of manufacture (batch):'' The date code for the PCB batch is recorded on the bottom left corner on the PCB in the silkscreen<br />
<br />
*''Distinguishing features: ''Fitted with axial capacitors (excess stock left over from the toast rack?). Lots of small coloured stickers on the modulator and elsewhere in the case.<br />
<br />
''Variants:''<br />
*3886 (1986 Week 38): Bodge resistor on bottom left hand corner of the board (R86?)<br />
*8640 (1986 Week 40): Colour of capacitors change [https://benophetinternet.nl/hobby/vanmezelf/20130605_153957.jpg] (Ben Verstee)<br />
*8645 (1986 Week 45): Colour of capacitors change, different diodes, changes to resistors in bottom left corner of the board [https://www.tomdalby.com/retro/images/+2_inside.jpg] (Tom Dalby)<br />
<br />
''Serial numbers:''<br />
*A six digit number followed by a T, e.g.: <br />
[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_707209003290]: <br />
*005711T: (3886)<br />
*[http://forum.wda-fr.org/viewtopic.php?t=2279012703T]: (8645?) <br />
*[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_707209081526]: <br />
<br />
''Photos''<br />
*[https://cl.ly/2o3b2A1l2326/download/Z70700.zip8686]<br />
*[https://www.worldofspectrum.org/forums/discussion/comment/707209/#Comment_7072098640]<br />
<br />
===0500 (Z70500 is on the rear side)===<br />
*''Comments:'' A later variant of the Z70500 ([https://www.worldofspectrum.org/forums/discussion/comment/823302/#Comment_823302 see also]) possibly originally for the French market, but UK versions also exist. <br />
*''Place of manufacture: '' Taiwan (embossed on bottom of case and PSU sticker).<br />
*''Date of manufacture (batch):'' ? 8641A listed on the front bottom silkscreen of later revisions<br />
<br />
*''Distinguishing features: '' Encased inductor, capacitor colour change, rear-side bodges of Z70500 corrected and paced on the front. [https://www.worldofspectrum.org/forums/discussion/35523/please-test-your-zx128-2-grey-model/p1 Fixed HAL chip.]<br />
<br />
''Variants:''<br />
*UK (1986 Week 37): [https://www.tomdalby.com/retro/images/+2_inside_i3.jpg] (Tom Dalby)<br />
*UK 8641A (1986 week 41): Amstrad 4056 instead of PCF1306P [https://www.nightfallcrew.com/wp-content/gallery/zx-spectrum-2/img_2278.jpg] (nightfall crew)<br />
*France (1986): The modulator and associated components are not fitted, French ROM (40068)[https://mo5.com/commun/images/ordinateurs/sinclair/F_cmspectrumplus2.jpg] (moo5)<br />
<br />
''Serial numbers:''<br />
A six digit number proceeded by a U<br />
*U-091998: 8639 [https://www.worldofspectrum.org/forums/discussion/comment/833728/#Comment_833728]<br />
*U205749: 8641A [https://www.nightfallcrew.com/22/08/2009/sinclair-amstrad-zx-spectrum-2-in-the-grey-case-issue-3sinclair-amstrad-zx-spectrum-2-grigio-issue-3/]<br />
<br />
<br />
''Photos''<br />
*[https://www.nightfallcrew.com/22/08/2009/sinclair-amstrad-zx-spectrum-2-in-the-grey-case-issue-3sinclair-amstrad-zx-spectrum-2-grigio-issue-3/ Nightfall crew]<br />
*[https://www.worldofspectrum.org/forums/discussion/comment/833728/#Comment_833728 MatGubbins]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ROM_images&diff=2050
ROM images
2020-05-10T14:09:31Z
<p>Zub: /* External links */ Let's use HTTPS!</p>
<hr />
<div>This article lists ROM images used by the ZX Spectrum, its clones/derivatives and of peripherals for the machines.<br />
<br />
See below for [[#Checksum information|checksum information]].<br />
<br />
== Sinclair ZX Spectrum models ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|48.rom|16|ddee531f|5ea7c2b824672e914525d1d5c419d71b84a426a2|4c42a2f075212361c3117015b107ff68|BASIC for 16/48K models}}<br />
{{ROM images table row|128-english-0.rom|16|e76799d2|4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5|b4d2692115a9f2924df92a3cbfb358fb|English 128 ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|128-english-1.rom|16|b96a36be|80080644289ed93d71a1103992a154cc9802b2fa|6e09e5d3c4aef166601669feaaadc01c|English 128 ROM 1 (48K BASIC)}}<br />
{{ROM images table row|plus2-english-0.rom|16|5d2e8c66|72703f9a3e734f3c23ec34c0727aae4ccbef9a91|4ed7af4636308b8a48d7a35e6c5b546b|English +2 (grey) ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|plus2-english-1.rom|16|98b1320b|de8b0d2d0379cfe7c39322a086ca6da68c7f23cb|b3db95931cc844efaeb82db9c171b9f3|English +2 (grey) ROM 1 (48K BASIC)}}<br />
{{ROM images table row|plus2-french-0.rom|16|c684c535|56684c4c85a616e726a50707483b9a42d8e724ed|b82db5d8d3fc4b5e88d92f63bb048ddf|French +2 (grey) ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|plus2-french-1.rom|16|f5e509c5|7e398f62689c9d90a36d3a101351ec9987207308|7fa91a6450cf68a8be627165e1516eee|French +2 (grey) ROM 1 (48K BASIC)}}<br />
{{ROM images table row|plus2-spanish-0.rom|16|e807d06e|8259241b28ff85441f1bedc2bee53445767c51c5|7b92332e5dc791ab75d1a7e97dbf02fb|Spanish +2 (grey) ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|plus2-spanish-1.rom|16|41981d4b|ec0d5a158842d20601b4fbeaefc6668db979d0e1|a0218949af7ff6fe7acc8d52ae92734a|Spanish +2 (grey) ROM 1 (48K BASIC)}}<br />
{{ROM images table row|plus3-4.0-english-0.rom|16|17373da2|e319ed08b4d53a5e421a75ea00ea02039ba6555b|9833b8b73384dd5fa3678377ff00a2bb|English +2A/+3 v4.0 ROM 0 (128K editor)}}<br />
{{ROM images table row|plus3-4.0-english-1.rom|16|f1d1d99e|c9969fc36095a59787554026a9adc3b87678c794|0f711ceb5ab801b4701989982e0f334c|English +2A/+3 v4.0 ROM 1 (128K syntax checker)}}<br />
{{ROM images table row|plus3-4.0-english-2.rom|16|3dbf351d|22e50c6ba4157a3f6a821bd9937cd26e292775c6|3b6dd659d5e4ec97f0e2f7878152c987|English +2A/+3 v4.0 ROM 2 ([[+3DOS]])}}<br />
{{ROM images table row|plus3-4.0-english-3.rom|16|04448eaa|65f031caa8148a5493afe42c41f4929deab26b4e|a148bcc575e51389e84fdf5d555c3196|English +2A/+3 v4.0 ROM 3 (48K BASIC)}}<br />
{{ROM images table row|plus3-4.1-english-0.rom|16|30c9f490|62ec15a4af56cd1d206d0bd7011eac7c889a595d|dae4f68d3c2000a6ad6b5c4199448015|English +2B/+3B v4.1 ROM 0 (128K editor)}}<br />
{{ROM images table row|plus3-4.1-english-1.rom|16|a7916b3f|1a7812c383a3701e90e88d1da086efb0c033ac72|2869753363029625e9c3068f8451731c|English +2B/+3B v4.1 ROM 1 (128K syntax checker)}}<br />
{{ROM images table row|plus3-4.1-english-2.rom|16|c9a0b748|8df145d10ff78f98138682ea15ebccb2874bf759|ba2c346195c3b337f4dec0f40d23b200|English +2B/+3B v4.1 ROM 2 (+3DOS)}}<br />
{{ROM images table row|plus3-4.1-english-3.rom|16|b88fd6e3|be365f331942ec7ec35456b641dac56a0dbfe1f0|ef7bf942a1c1f9ed5d583d0a49e26db7|English +2B/+3B v4.1 ROM 3 (48K BASIC)}}<br />
{{ROM images table row|plus3-4.0-spanish-0.rom|16|5b283177|05810b2474630c26c6caf389bb34a0c973d8f76b|a8fbf1c73f90046858728b88e7be588d|Spanish +2A/+3 v4.0 ROM 0 (128K editor)}}<br />
{{ROM images table row|plus3-4.0-spanish-1.rom|16|d1e6c2d1|c5ad4297323d5bd3e610b00abec1b91f7715f6c7|5d107934d363de7e36ba12117c6abd34|Spanish +2A/+3 v4.0 ROM 1 (128K syntax checker)}}<br />
{{ROM images table row|plus3-4.0-spanish-2.rom|16|f1d5c1d3|005a05b42a83ed858a8d4c535bef799803d72154|37c348315e8d9435a2743f5c3a2a1305|Spanish +2A/+3 v4.0 ROM 2 (+3DOS)}}<br />
{{ROM images table row|plus3-4.0-spanish-3.rom|16|67c11fb9|1a9931d12660e4afc18a2838c766cd76068edbac|4accb55d5dc1ad233ce5eaf4dd1173b9|Spanish +2A/+3 v4.0 ROM 3 (48K BASIC)}}<br />
{{ROM images table row|plus3-4.1-spanish-0.rom|16|1f86147a|e9b0a60a1a8def511d59090b945d175bdc646346|59b52b6a15f6669ef888920b6cb3c7ef|Spanish +2B/+3B v4.1 ROM 0 (128K editor)}}<br />
{{ROM images table row|plus3-4.1-spanish-1.rom|16|a8ac4966|4e48f196427596c7990c175d135c15a039c274a4|80513fbdf50a2c3ac1d9c188abc80edc|Spanish +2B/+3B v4.1 ROM 1 (128K syntax checker)}}<br />
{{ROM images table row|plus3-4.1-spanish-2.rom|16|f6bb0296|09fc005625589ef5992515957ce7a3167dec24b2|c25e5db5594b6b91f8649f27258efe6f|Spanish +2B/+3B v4.1 ROM 2 (+3DOS)}}<br />
{{ROM images table row|plus3-4.1-spanish-3.rom|16|f6d25389|ec8f644a81e2e9bcb58ace974103ea960361bad2|64d609ebac2ed46811992c156db291d7|Spanish +2B/+3B v4.1 ROM 3 (48K BASIC)}}<br />
|}<br />
<br />
== Licensed clones and derivatives ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|48-beckman.rom|16|a8a41da5|b1abc2ef2101aeef628d978dae682aaaa7b5a896|f058f27ae61af225fe5baacc1d89adfc|48K ROM for Nordic countries by Beckman Innovation AB}}<br />
{{ROM images table row|48-spanish.rom|16|f051746e|9e535e2e24231ccb65e33d107f6d0ceb23e99477|60e1bd8b4d59b55e5b2175126239517f|Spanish 48K ROM (with "FUERA DE PANTALLA" message)}}<br />
{{ROM images table row|128-spanish-0.rom|16|453d86b2|968937b1c750f0ef6205f01c6db4148da4cca4e3|c1231a70b8129311216acb7479b031d5|Spanish 128 ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|128-spanish-v2-0.rom|16|5ecf2e13|ae37ab8ef9a2ab0f56b3415de6679a4b5722abfa|1cfaa9511acc1c6c112ee768a02b2b4a|Revised Spanish 128 ROM 0 (128K editor and menu)}}<br />
{{ROM images table row|128-spanish-1.rom|16|6010e796|bea3f397cc705eafee995ea629f4a82550562f90|4f341936594cbcab75cfa62ce96e3682|Spanish 128 ROM 1 (48K BASIC)}}<br />
{{ROM images table row|arabic-v1.rom|16|5a0bdc95|2a3a549b4fc9f8c296502e5184d61f26675e2395|a6a1e3a68bb5523997103c3925a46fe4|Arabic ROM version 1 ©1987 Sinclair Egypt}}<br />
{{ROM images table row|arabic-v2.rom|16|de97b571|c2de5a9fd9c429fd3b9a2074af831100505a4fec|fac3d08455328c34f0d06344d89cec0e|Arabic ROM version 2 ©1987 Sinclair Egypt}}<br />
{{ROM images table row|arabic-v3.1.rom|16|15b166ba|72c428b0768f92b3621f4e21847ceb712023b356|9f6f56003307b9d55be96f406fdbf2b1|Arabic ROM version 3.1 ©1988 Sinclair Egypt}}<br />
{{ROM images table row|tc2048.rom|16|f1b5fa67|febb2d495b6eda7cdcb4074935d6e9d9f328972d|9dd7ecf784a6c04265c073c236f5fadb|TC2048 ROM}}<br />
{{ROM images table row|tc2068-0.rom|16|bf44ec3f|1446cb2780a9dedf640404a639fa3ae518b2d8aa|55d462fccc6c536037404ef4ced08bec|TC2068/TS2068 main ROM}}<br />
{{ROM images table row|tc2068-1.rom| 8|ae16233a|7e265a2c1f621ed365ea23bdcafdedbc79c1299c|575d203c6e15e679fba0b73f854ec7a2|TC2068/TS2068 shadow ROM}}<br />
{{ROM images table row|uk2086.rom|16|5ddc0ca2|1d525fe5cdc82ab46767f665ad735eb5363f1f51|de017ddfa5a5bbd013d4bd6b5d4c09eb|Unipolbrit Komputer 2086 (UK2086) ROM}}<br />
|}<br />
<br />
== Development versions ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|ZX-Spectrum-Prototype.rom|16|32c4d99e|d410cbe9e39b9937be0a235a1efd4d9f04be137d|390426bccc80bf285c7359c698071971|ZX Spectrum prototype ROM}}<br />
{{ROM images table row|derby-0.rom|16|1a5149dd|8e846de6ed2fbbca83b0d0d0f6c9aedca2ac7e2e|9a73dbfbf32532e819fa3bcacf87dd0f|Derby (128K) development ROM 0 (128K editor)}}<br />
{{ROM images table row|derby-1.rom|16|e9644259|99e34e92385c5372ca4de59aeff06ee05ef32abe|6e8c1cf37315968c036d171909a308f0|Derby (128K) development ROM 1 (48K BASIC) v1.4, April 1985}}<br />
{{ROM images table row|derby2-0.rom|16|1ba061a7|958d66fb99ef5bdafc5e36453886af78968e3545|75632bca9a667590532c16bc7a4f8919|English Derby (128K) development ROM 0 (128K editor)}}<br />
|}<br />
<br />
== Unofficial clones and derivatives ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|48-inves.rom|16|8ff7a4d1|d020440638aff4d39467128413ef795677be9c23|a48635b6e6cb4eaa04f79046f83da082|48K ROM of [[Investrónica Inves Spectrum +]]}}<br />
{{ROM images table row|128p-0.rom|16|124ad9e0|d07fcdeca892ee80494d286ea9ea5bf3928a1aca|a249565f03b98d004ee7f019570069cd|Pentagon 128 ROM 0}}<br />
{{ROM images table row|128p-1.rom|16|b96a36be|80080644289ed93d71a1103992a154cc9802b2fa|6e09e5d3c4aef166601669feaaadc01c|Pentagon 128 ROM 0 (same as 128K)}}<br />
{{ROM images table row|256s-0.rom|16|0eb40a09|477114ff0fe1388e0979df1423602b21248164e5|b9fda5b6a747ff037365b0e2d8c4379a|Scorpion SZ-256 ROM 0}}<br />
{{ROM images table row|256s-1.rom|16|9d513013|367b5a102fb663beee8e7930b8c4acc219c1f7b3|643861ad34831b255bf2eb64e8b6ecb8|Scorpion SZ-256 ROM 1}}<br />
{{ROM images table row|256s-2.rom|16|fd0d3ce1|07783ee295274d8ff15d935bfd787c8ac1d54900|d8ad507b1c915a9acfe0d73957082926|Scorpion SZ-256 ROM 2}}<br />
{{ROM images table row|256s-3.rom|16|1fe1d003|33703e97cc93b7edfcc0334b64233cf81b7930db|ce0723f9bc02f4948c15d3b3230ae831|Scorpion SZ-256 ROM 3}}<br />
{{ROM images table row|didaktik-m-90.rom|16|43367a3b|aa26f67846360177371100915742035e8711e373|fe11b4701bb87f8c7328cb9a5befe942|Didaktik M (1990 model)}}<br />
{{ROM images table row|didaktik-m-91.rom|16|beab69b8|71d4d1a05fb936f616bcb05c3a276f79343ecd4d|1e435a3e9b58cc579f0764a0286bc274|Didaktik M (1991 model)}}<br />
{{ROM images table row|didaktik-m-92.rom|16|57264d4f|23644fe949cbf527747959d07b72db01de378c4c|48ef1e17bae225a2f139cb5fd63f83ee|Didaktik M (1992 model)}}<br />
{{ROM images table row|didaktik-m-93.rom|16|ec274b1b|a3470d8d1a996ee2a1ffff8bd8044da6e907e07e|0975cd40443dd73d2ea15dbea6b35dbd|Didaktik M (1993 model)}}<br />
{{ROM images table row|hobbit-forth.rom|16|0e0eeb7d|b8366dc5d6a7de7524b2ec1a19526596efe544fa|ffe26f35930946ecb53ca25a69c0750c|Hobbit Forth ROM}}<br />
{{ROM images table row|hobbit-trdos.rom|16|2e97de06|766c959e08e23ef00af69fc89359eb2dbeb09f5f|1a9cf46d8a4f677e43e44e1e07c6922b|Hobbit TR-DOS ROM}}<br />
{{ROM images table row|hobbit-shadow-a.rom| 8|5eeba87c|eefb3ae94d6056db42490e968ae959b8b6cc06d3|c119d1c57327e54dcca84796b7245578|Hobbit Shadow ROM A}}<br />
{{ROM images table row|hobbit-shadow-b.rom| 8|97f56c79|f580e89901bb9578e114422f856292e1637febe1|92b49b443c764f10fa60878708e5c509|Hobbit Shadow ROM B}}<br />
{{ROM images table row|tk90x-1.rom|16|d1b2f352|a9421b9e3a17689b7392da1f72dc71dd46e09ab1|57298d17f1db8af890a347fdb87e4850|Microdigital TK90X original model in Portuguese/Spanish}}<br />
{{ROM images table row|tk90x-2-portuguese.rom|16|3e785f6f|9a943a008be13194fb006bddffa7d22d2277813f|148cf5a58ecae57c2c6a98c94b26a9b1|Microdigital TK90X rare later model in Portuguese}}<br />
{{ROM images table row|tk90x-2-spanish.rom|16|496573a1|a9af9c4d38882e2bd85086fc0c2d8d9afe90afad|787277dba973e69d02cc953820dc63b8|Microdigital TK90X rare later model in Spanish}}<br />
{{ROM images table row|tk95-portuguese.rom|16|17368e07|94edc401d43b0e9a9cdc1d35de4b6462dc414ab3|b7893ad25728fbf6410f08eddd4a1cad|Microdigital TK95 in Portuguese}}<br />
{{ROM images table row|tk95-spanish.rom|16|602ba2c9|54f3445374d1758a3133232672e8783cb4fc7a32|181f6feb808a67c60970d3238e2d7590|Microdigital TK95 in Spanish}}<br />
|}<br />
<br />
== Modified ROMs and ROM reimplementations ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|48-groot.rom|16|abf18c45|51165cde68e218512d3145467074bc7e786bf307|8bd7424aa3b9a8ce3657f7c18464c541|48K ROM modified by Henk de Groot}}<br />
{{ROM images table row|48-imc.rom|16|d1be99ee|dee814271c4d51de257d88128acdb324fb1d1d0d|bd6825889014b39efd30ff54faba8891|48K ROM modified by Ian Collier}}<br />
{{ROM images table row|48-jgh-0.76.rom|16|d9f30829|55a3bdfebb51605c970ac4395142cacc719c4256|61a4c9556bb88f1ffc723591ba10f1fe|48K ROM modified by J.G.Harston v0.76}}<br />
{{ROM images table row|48-jgh-0.74.rom|16|7224138e|d7f02ed66455f1c08ac0c864c7038a92a88ba94a|1e458b528505df3e1ea71c6933a8de0d|48K ROM modified by J.G.Harston v0.74}}<br />
{{ROM images table row|48-jgh-0.72.rom|16|f6713813|3c9b18b7cac095500ea3aed9d860e08f9933b2a7|5ccab1f9b41c4d56c102e3bb6acf7498|48K ROM modified by J.G.Harston v0.72}}<br />
{{ROM images table row|gw03-1.32.rom|16|5585d7c2|a701c3d4b698f7d2be537dc6f79e06e4dbc95929|f1c0f1524500f8400eb87d4f93e4f9a7|Gosh Wonderful Version 1.32}}<br />
{{ROM images table row|se-buffy-0.rom|16|0aef3cba|875279a9e4afb285a600894f9c84919837a7ca52|92077ff43c9f1c9090b87d11a9ad19e9|SE BASIC IV 'Buffy' v4.1.0 ROM 0}}<br />
{{ROM images table row|se-buffy-1.rom|16|a79c8623|d7092d6d55ee8280057399362b5798d1f65d8eeb|1382674d0020f35e8e4e1e981bcec951|SE BASIC IV 'Buffy' v4.1.0 ROM 1}}<br />
{{ROM images table row|opense-3.1.2.rom|16|55b16077|24a339c5c163a687a8fed50f93714c6450e2562d|fce177ac28d2b36ec4b6295ff6159d6c|OpenSE 3.1.2 ROM for 48K Spectrum}}<br />
{{ROM images table row|opense-3.1.2-zxc3.rom|16|6b16987b|de59e4877463ddbcfa8203f43acb8c928ab9b998|38052fafba1e1929b7bc702f20f35c2c|OpenSE 3.1.2 ROM for use as ZXC3 cartridge}}<br />
{{ROM images table row|skeleton.rom|16|2e4cb27e|e90469d5c30d385e22bb6ed64fdac688e234a175|620c9587ee0f69e83a225599df073281|Spectrum emulation ROM for SAM Coupé}}<br />
|}<br />
<br />
== SAM Coupé ==<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|sam-coupe-0.1.rom|32|c04acfdf|8976ed005c14905eec1215f0a5c28aa686a7dda2|6430f740e3f5450c5d99d907bbff1949|SAM Coupé ROM 0.1}}<br />
{{ROM images table row|sam-coupe-0.4.rom|32|f439e84e|8bc457a5c764b0bb0aa7008c57f28c30248fc6a4|a0b805ea4eee73b6932ba709b6d77e46|SAM Coupé ROM 0.4}}<br />
{{ROM images table row|sam-coupe-1.0.rom|32|3659d31f|d3de7bb74e04d5b4dc7477f70de54d540b1bcc07|b519c321b3b6be53e2ff161cc5b00cea|SAM Coupé ROM 1.0}}<br />
{{ROM images table row|sam-coupe-1.2.rom|32|7fe37dd8|9339a0c1f72e8512c6f32dec15ab7d6c3bb04151|5cd80d43b7ce5e93c9778afe58e033d4|SAM Coupé ROM 1.2}}<br />
{{ROM images table row|sam-coupe-1.3.rom|32|2093768c|af8d348fd080b18a4cbe9ed69d254be7be330146|fc2fc98d6790a69f0109f6b1996fccac|SAM Coupé ROM 1.3}}<br />
{{ROM images table row|sam-coupe-1.4.rom|32|08799596|b4e596051f2748dee9481ea4af7d15ccddc1e1b5|e3057d90eba00a80aa6dc05d10f56f22|SAM Coupé ROM 1.4}}<br />
{{ROM images table row|sam-coupe-1.8.rom|32|f626063f|485e7d9e9a4f8a70c0f93cd6e69ff12269438829|fdcc0fb0ac65473468900d93cb8367f0|SAM Coupé ROM 1.8}}<br />
{{ROM images table row|sam-coupe-1.81.rom|32|d25e1de1|cb0fa79e4d5f7df0b57ede08ea7ecc9ae152f534|60e92a0a57abc72e7f4b8750698f897f|SAM Coupé ROM 1.81}}<br />
{{ROM images table row|sam-coupe-2.0.rom|32|eaf32054|41736323f0236649f2d5fe111f900def8db93a13|457c79507a2a795704234b02ec9e3bcd|SAM Coupé ROM 2.0}}<br />
{{ROM images table row|sam-coupe-2.1.rom|32|f6804b46|11dcac5fdea782cdac03b4d0d7ac25d88547eefe|642dc1ad5bb2767871232f6274aed7e8|SAM Coupé ROM 2.1}}<br />
{{ROM images table row|sam-coupe-2.4.rom|32|bb23fee4|10cd911ba237dd2cf0c2637be1ad6745b7cc89b9|d452359a7cb03b514e15f53e6eafade3|SAM Coupé ROM 2.4}}<br />
{{ROM images table row|sam-coupe-2.5.rom|32|ddadd358|a25ed85a0f1134ac3a481a3225f24a8bd3a790cf|3d571be8926481eeb00dfe8baf0ba8de|SAM Coupé ROM 2.5}}<br />
{{ROM images table row|sam-coupe-3.0.rom|32|e535c25d|d390f0be420dfb12b1e54a4f528b5055d7d97e2a|1bc4fa10a9bb05a036e854fa60d151d9|[[SAM Coupé]] ROM 3.0 ("plc" in boot message)}}<br />
{{ROM images table row|sam-coupe-3.0b.rom|32|39ff160a|58186fd34a8b9c1929913e2b1d7dc4efa507c160|9f40c46cce4008e0548db44f39527914|SAM Coupé ROM 3.0 ("PLC" in boot message)}}<br />
{{ROM images table row|sam-coupe-3.1.rom|32|0b7e3585|c86601633fb61a8c517f7657aad9af4e6870f2ee|ad08ed47b07b0d7047fd3d0b5e7d90b3|SAM Coupé ROM 3.1}}<br />
|}<br />
<br />
== Spectrum peripherals ==<br />
<br />
=== Beta disk interface ===<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|beta48-orig-cas.rom| 8|95e6f4cf|ee163d0ffc111ffe1b3935c8e188b1bd39b842eb|8ffb1b21269c27cbfadb7bc1c8d90e37|}}<br />
{{ROM images table row|beta48-orig-cas-mirrored.rom|16|f2d377e5|0a42b900c8eccb403275c10fcb22dde5af3893ca|055a0038cdc1f30c9476aff25bd1f76b|}}<br />
{{ROM images table row|trdos-3.0-v1.rom| 4|41c0ba0a|0de79c33e378c601e238ee37c219f8aa8442787a|b6d8db853c24621cbd5fef3c892c976c|}}<br />
{{ROM images table row|trdos-3.0-v2.rom| 4|9e5e6f98|28e782db90d726d3e86d122f1dcfa6875d6b9560|5c097b0fb75bb7147104d6e77db0300a|}}<br />
{{ROM images table row|trdos-3.0-v3-profisoft.rom| 4|34b863f8|fee248e8f6a83519f9b0ec590ea17d49b2578f07|dd70541ed6a6e8176e8dace64f9344ad|}}<br />
{{ROM images table row|trdos-3.0-v3-profisoft-mirrored|16|87946b47|56b8959de51919e55f1f691def6d7c6dc402bcd0|b08fa49b5de8448e94936a9d061dc0f5|4&nbsp;KiB ROM mirrored four times}}<br />
{{ROM images table row|trdos-4.11.rom| 8|fae28478|22096209c2c01298ced6d91f37a36e415d917211|4a3e2b04982ac6c594adb6793be4d6e7|}}<br />
{{ROM images table row|trdos-4.11-mirrored.rom|16|cf768866|cd046dd7e71d8605a9323e9889d222817d77400f|4123fd0b5c218ef704770596dc6533e1|8&nbsp;KiB ROM mirrored twice}}<br />
{{ROM images table row|trdos-4.12-v1.rom| 8|2cb63b20|c8baaef66ab7fbf457ba76b783c02434cc5e2130|6459c606ff23a610e504d0387383148a|}}<br />
{{ROM images table row|trdos-4.12-v1-mirrored.rom|16|4b8a2748|532321470b24f648d11ac0729319a97f5083a367|aa9f9acf05382aff569dfdadde4ef8f2|8&nbsp;KiB ROM mirrored twice}}<br />
{{ROM images table row|trdos-4.12-v2.rom| 8|988be598|9286fa43490baca9e61367ba569d29a91fc3eeb9|48b5da4079ff8394852429e53cfc607f|}}<br />
{{ROM images table row|trdos-4.12-v2-mirrored.rom|16|8ab9b9f7|9daae1fb2e143a6fe5ec664103ec5d7646349d7e|14399030d8228ca1b16872ed426a5835|8&nbsp;KiB ROM mirrored twice}}<br />
{{ROM images table row|trdos-4.12-vision-1.0.rom|16|20f49ff5|d391324cb39e9fc6b93b867a71caec019c353518|7031f2610845d39c54c97097afa8fa03|Individual Software Vision 1.0 (1987)}}<br />
{{ROM images table row|trdos-4.40-vision-1.4.rom|16|9903f577|579627a2865caf3079cbae360bdaf0309d4a2911|4da473775c4badcc83ab5d86dc8231de|Individual Software Vision 1.4 (1987)}}<br />
{{ROM images table row|trdos-4.80-vision-1.8.rom|16|3ee7a488|57167b82a6a3ffa8b25e97fa8cc208da361f1cc7|3f8a2a239a10b6694ec79148a292cfb4|Individual Software Vision 1.8 (1987)}}<br />
{{ROM images table row|trdos-4.81-vision-1.9.rom|16|1a793d53|cdbd0ac2262ede3852998174f88ae333419a570f|62cbbdca554c8c23676618d4c83ef40e|Individual Software Vision 1.9 (1987)}}<br />
{{ROM images table row|trdos-5.01.rom|16|3e3cdd4c|8303ba0cc79daa6c04cd1e6ce27e8b6886a3f0de|c511eaa8fcc968cc13baf7ad80f3aea3|}}<br />
{{ROM images table row|trdos-5.03.rom|16|121889b0|c9d69cf3a0219f6e37e7eb5046961fa8fa8eb2c6|a92db09c9aa3cfda478a9bf1eec7ff90|}}<br />
{{ROM images table row|trdos-5.03-alternative.rom|16|10751aba|21695e3f2a8f796386ce66eea8a246b0ac44810c|0da70a5d2a0e733398e005b96b7e4ba6|Alternative dump with last byte $FF}}<br />
{{ROM images table row|trdos-5.03-bugfixed.rom|16|1dc61452|6fe976864d525930b0a166c8b80e4edf71349ca7|a701f54355b53fa93fb8599933d518b7|Fixed HL'}}<br />
{{ROM images table row|trdos-5.03-unknown-version.rom|16|c43d717f|0a74bd34538a03d0e1d214b425d95c14ad10c8c4|0c42e3b9ab8dd91ea096f1d0c07c55e5|Stepping rate 6 ms}}<br />
{{ROM images table row|trdos-5.04t.rom|16|e212d1e0|745e9caf576e64a5386ad845256d28593d34cc40|b4c9634312b796063015450daef13dfa|}}<br />
{{ROM images table row|trdos-5.04t-bugfixed.rom|16|edcc4c02|e5abc1662243e2b6262237b87874ad036b7ac1b7|d6f43c70c003f07d0a694f81ff55db95|Fixed HL'}}<br />
{{ROM images table row|trdos-5.05-czech.rom|16|03b76c8f|ef2a07767d3b229aa4573dcfee905156a83bc32d|a3242d31a0624a64a56f3a6cb5484e7c|}}<br />
{{ROM images table row|trdos-5.05-czech-bugfixed.rom|16|742b6b55|b923938104b7ed6679685926c8f25e70d602a1d8|cc46c7bacbbaf528a864113c76d9b9c9|Fixed HL'}}<br />
{{ROM images table row|trdos-6.04.rom|16|d8882a8c|282eb7bc819aad2a12fd954e76f7838a4e1a7929|53e2f417c6996df9af170e147df8e369|}}<br />
{{ROM images table row|trdos-6.10p-zxm-phoenix.rom|16|59b8bc0d|1aaee97c310c33a1082b38904e90c09c4d06e097|ca8a2725b5bb160583de1086867e1dbb|}}<br />
{{ROM images table row|trdos-6.10p-zxm-phoenix-bugfixed.rom|16|85a4f77a|97a973538a74a8ffb056e21597151d46155ebe74|61ad00a92f00761933630d96440c3db0|Fixed HL'}}<br />
{{ROM images table row|trdos-6.11e-pentagon1024sl.rom|16|7872c293|ca7d1a72dc8809d5f6ed5180207f31f55eb784a7|57a89977195782106e01aab2683b9e6c|}}<br />
{{ROM images table row|trdos-6.11e-pentagon1024sl-bugfixed.rom|16|808a4c39|3242adee54cd4c37b8adb76c8bb3ea39fd0612fa|ac04983f104d869f1713b2da1a3ff51e|Fixed HL'}}<br />
{{ROM images table row|trdos-d566613v-zxprofi1024.rom|16|8528c789|1332a01137bd537fee696ba7adddc0a15b3237c4|c340b0f33b55ad499cb3569c7c5e7026|}}<br />
{{ROM images table row|trdos-d566613v-zxprofi1024-bugfixed.rom|16|7dd04923|84dfceb830d42f9b312b212fe65b1d53ca88dea7|d0e419e69048fda3dcbb73f740090986|Fixed HL'}}<br />
{{ROM images table row|trdos-d5666hte-zxprofi1024.rom|16|03841161|4e523768231130947a81247e116fc049bd6da963|8452a03e58d647e5c9ad110ca5ae5148|}}<br />
{{ROM images table row|trdos-d5666hte-zxprofi1024-bugfixed.rom|16|fb7c9fcb|7e6ae1c09374fe8825ddb8b36eeec6d4186e2ed0|37761a286284a8637e8de78c9a25a7c5|Fixed HL'}}<br />
|}<br />
<br />
=== Other disk interfaces ===<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|didaktik-40-mdos1-91.rom|16|e6b70939|308c4b5daf6bb1f05c68a447129d723da423326e|f06dc6fc3726d00e3141124515d8fc4d|[[Didaktik 80|Didaktik 40/80]] MDOS 1 (1991) (for WD2797 controller)*}}<br />
{{ROM images table row|didaktik-40-mdos1-92.rom|16|92c45741|b8473235feecff4eccbace56a90cf1d8c79506eb|da4ce33c834cbdcd2681a5dd19666418|Didaktik 40/80 MDOS 1 (1992) (for WD2797 controller)*}}<br />
{{ROM images table row|didaktik-40-mdos2.rom|16|9e79d022|e8d3355051fb287dd0dda34ba8824442130c8254|809f0e2d99049ecc2d5ff8387f583530|Didaktik 40/80 MDOS 2 (for GM82C765B/i8272 controller)*}}<br />
{{ROM images table row|disciple-2b.rom| 8|9d971781|a03e67e4ee275a85153843f42269fa980875d551|5bd962fc7fd80f1fb108e3001b1420b3|[[Miles Gordon Technology|MGT]] [[DISCiPLE]] ROM v2b}}<br />
{{ROM images table row|disciple-3.rom| 8|82047489|9a75ed4b293f968985be4c9aa893cd88276d1ced|78e61a2a02121873c1756b21fd1398b1|MGT DISCiPLE ROM v3}}<br />
{{ROM images table row|kdos-2.rom| 8|244816a7|b08e0e30f1db4f57d38b112be0115256528c6621|4873c91c2e568a7551d31a1d84689e0c|Kempston Disc Interface KDOS v2}}<br />
{{ROM images table row|kdos-2.1.rom| 8|3a0705eb|adebc46c1b6718eaed7e2844506011787117cb05|e133dfaafcc12a0119a2e691d50d3f02|Kempston Disc Interface KDOS v2.1}}<br />
{{ROM images table row|kdos-2.1-italian.rom| 8|f8ccdf8a|4a75fb4951d74e254c230d56b5566c924b3c38f6|db164bec4e2ec9197959e9155c3476c3|Kempston Disc Interface KDOS v2.1 (Italian)}}<br />
{{ROM images table row|opus-1.2.rom| 8|619973f9|31999a68901392bba907cf5a15e264b6759f1a29|da9e1c52d003b74115b0afa56780afe6|Opus Discovery ROM v1.2 (a.k.a. v2.1)}}<br />
{{ROM images table row|opus-2.2.rom| 8|50f0eae0|0eee1c503f71709fce8b7560dadc2d07d15edb80|1eab43c99c738172820927e01797715b|[[Opus Discovery]] ROM v2.2}}<br />
{{ROM images table row|opus-2.22.rom| 8|08ce9949|71f1c8a8b923f7751d1ff48d30b8e18a15b92591|3beeddbf0aa716b7aba7deec2bfb3028|Opus Discovery ROM v2.22}}<br />
{{ROM images table row|opus-2.28-excom.rom| 8|29257418|098a812c4707251f647553a2abc1436afa38f43c|cee0d4e0c6edfb6ab801af167988046b|EXCOM replacement ROM for Opus Discovery}}<br />
{{ROM images table row|opus-2.31-quickdos.rom| 8|d042b32a|2975f7eb61d44e898cdd6e3196893e95637f17ff|81fc5997a35bc0f138d6fcb73df0f14a|QuickDOS replacement ROM for Opus Discovery}}<br />
{{ROM images table row|plusd-1.0.rom| 8|e29c0d41|fd7e4557d0080a3532200ce72211eb1b185d7d0a|d0cbf6c7bac01a2d353240361131d086|[[Miles Gordon Technology|MGT]]'s [[+D]] disk interface ROM v1.0 (rare earlier model)}}<br />
{{ROM images table row|plusd-1.A.rom| 8|569f7e55|6b841dc5797ef7eb219ad455cd1e434ca3b9d30d|42e5de16fb5e50082bb954ec7ce45851|MGT's +D disk interface ROM v1.A}}<br />
{{ROM images table row|sp-dos.rom| 2|87b954a3|bb0706cf1538da8acd12b8c9cd2cd75ca689ec44|d39efca3d55e8f3bb597fb65d6656bc2|Watford SP-DOS}}<br />
{{ROM images table row|unidos-plusd.rom| 8|60920496|399c8c7c8335bc59849a2182c32347603fd0288a|608896fd1dd1c38d979a0c36e2058e51|UniDOS replacement ROM for +D}}<br />
{{ROM images table row|unidos-disciple.rom| 8|1fe7f4fa|6277abe6358c99ab894795536a1eb9393f25b9b1|202245822151cc45ead834f445aa7e52|UniDOS replacement ROM for DISCiPLE}}<br />
|}<br />
<br />
<br />
&nbsp;* Not a proper ROM dump, upper 2 KiB have been set to $FF as are overlapped by RAM page.<br />
<br />
=== Other interfaces ===<br />
<br />
{| class="wikitable"<br />
!Suggested filename<br />
!Size (KiB)<br />
!colspan="2"|Checksums<br />
!Description<br />
{{ROM images table row|copiasoft.rom|16|75f0fca5|c85a2bc8da8da40484d262d675ef912e2426ee35|b014c5c1c8f7cfc6d54e415fbd843ca5|Copiasoft (for emulation)}}<br />
{{ROM images table row|copiasoft-munged.rom|16|3d31f5be|e02ad6bb6a226f8fafb892f570677474999d674e|b279386bedfe32475efdbc7a12657193|Copiasoft (for burning)}}<br />
{{ROM images table row|copiasoft-plus3.rom|32|71bbc7dc|29d160c4782e5097b72d2348a9bee8719bf07847|53cd3d9c5e9c10a24ab5b4fe6d6ab6c0|Copiasoft +3}}<br />
{{ROM images table row|if1-1.rom| 8|e72a12ae|4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e|5c11c61a2dd2ca4bf39328d9ff42d289|[[ZX Interface 1]] shadow ROM v1}}<br />
{{ROM images table row|if1-2.rom| 8|bb66dd1e|5cfb6bca4177c45fefd571734576b55e3a127c08|31b704ae925305e74f50699271fddd9a|ZX Interface 1 shadow ROM v2}}<br />
{{ROM images table row|kempston-centronics-e.rom| 2|a58b1e97|b26e9f720a215019b8710a4a094d6fde6ecae5fd|1163f2a91285ad03fc8bbca9c67d2f59|[[Kempston]] Centronics E}}<br />
{{ROM images table row|messenger.rom| 8|e8917b99|5e1fc462cd30a97196bbc7d93e23d3d28430c6df|f572727c1ce16de88bbbfdecee2f0004|SAMCo's [[Messenger]] interface ROM}}<br />
{{ROM images table row|usource.rom| 8|8e9b67d0|fae53678a85ba503b77ed2d877de2635b284eef1|ebe1490920cbb62bde7282ae24928d95|Currah μSource (or MicroSource) ROM}}<br />
{{ROM images table row|uspeech.rom| 2|ce7cf52e|90dbba5afbf07949df9cbdcb0a8ec0b106340422|052f6af718337e35e76693723e1d73e3|Currah μSpeech (or MicroSpeech) ROM}}<br />
{{ROM images table row|microdriver-1.rom| 4|bba8fe2f|da44dfae06566b13424841ecaee3fe2248a0a68d|356b31ac397287dc313746d2ad0b946f|[[Mirage Microdriver]] v1 ROM}}<br />
{{ROM images table row|microdriver-2.rom| 8|df108bf3|5a55d198627679582b8cdee62c02ad404c0a1a0b|7dfd372c3b09048d83f43631d94c7e5b|Mirage Microdriver v2 ROM (for emulation)}}<br />
{{ROM images table row|microdriver-2-munged.rom| 8|c4939276|1174b86345f22770d3842ad00172aa8d658a39ce|85cd00f39b9c5cfbe87aa78e268cd73a|Mirage Microdriver v2 ROM (for burning)}}<br />
{{ROM images table row|microdriver-3.rom| 8|fe7721d0|ec97b08c786a7f7b59884b3d696398ae83e9f957|bdddd83f0f571daf0ffa69c1085df1bc|Mirage Microdriver v3 ROM (for emulation)}}<br />
{{ROM images table row|microdriver-3-munged.rom| 8|5de964ce|88599602f662032ea5dfaf082320f17d3c4cebd2|f4b06e2080514025d439800c1a96fe60|Mirage Microdriver v3 ROM (for burning)}}<br />
{{ROM images table row|speccyboot-1.4.rom| 8|37c591b2|16af6f052b38a027dd49ba6e96e3a59d16b62672|c54aa8f374b0971f51546c29d5d1eba1|SpeccyBoot ROM v1.4}}<br />
{{ROM images table row|ttx2000s-1.2.rom| 8|5adc4131|c63d5b6a490a813a6d2890fefe9ce29e66d5c221|f417a9ce8bdc54871ed91d3be10bcd4f|Volex TTX2000 S Teletext Adapter ROM 1.2}}<br />
{{ROM images table row|4data-1.2.rom| 8|6f447a16|07c287d991284e3e61e1ee9183314e4e27cc2a9d|dd45d484c2b416ecdf426d69875d3917|4-Data branded TTX2000 S Teletext Adapter ROM 1.2}}<br />
|}<br />
<br />
== Checksum information ==<br />
<br />
FCS32 and SHA1 are given here as these are what MESS uses. FCS32 in this instance refers to the 32-bit CRC standardised as ISO 3309, ISO/IEC 13239:2002 and ITU-T V.42, most notably used as the Ethernet Frame Check Sequence (FCS), which has a polynomial representation of 0x04C11DB7 in normal form. It is also used for zip and gzip files, and within UDI disk images.<br />
<br />
On Unix-like systems, Jacksum will produce an FCS32 sum when using:<br />
<br />
jacksum -x -a fcs32 FILES<br />
<br />
and rhash will do so when using:<br />
<br />
rhash --lowercase -C FILES<br />
<br />
To produce a line similar to that needed for this article, with minimal editing, one can use:<br />
<br />
jacksum -a crc32+sha1+md5 -F "<nowiki>{{ROM images table row|#FILENAME|#FILESIZE|#CHECKSUM{0}|#CHECKSUM{1}|#CHECKSUM{2}|DESCRIPTION}}</nowiki>" FILES<br />
<br />
or:<br />
<br />
rhash -p "<nowiki>{{ROM images table row|%f|%s|%c|%h|%m|DESCRIPTION}}</nowiki>\n" FILES<br />
<br />
Note that checksums can be freely shared on the Internet without concern over copyright, as these simply provide a mechanism for determining validity of ROM dumps that you already have.<br />
<br />
== External links ==<br />
<br />
* [https://x128.speccy.cz/multiface/multiface.htm Multiface ROM Collection Project]<br />
* [http://www.shadowmagic.org.uk/spectrum/roms.html Philip Kendall — Spectrum ROMs collection]<br />
<br />
[[Category:ROMs]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=File:Spectrum_plus3_external_floppy_drive_cable.png&diff=2049
File:Spectrum plus3 external floppy drive cable.png
2020-05-10T14:07:29Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>An example of a cable suitable for connecting a 3½″ PC floppy disk drive to the external drive connector of a ZX Spectrum +3.<br />
Full description and construction guide available at https://zxnet.co.uk/spectrum/plus3_external_floppy_cable/</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Talk:Open82&diff=2048
Talk:Open82
2020-05-10T14:03:50Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div><s>I've copied the <ref></ref> tags from the tech wiki page even though they don't do anything at the moment.<br />
<br />
They require an extension to be installed [https://www.mediawiki.org/wiki/Ref] which I think is worth doing. I don't think I can do this until I get ftp access to the wiki folder<br />
<br />
Guesser</s><br />
<br />
<br />
the cite extension is turning out to be a major pita. perhaps it's best to rewrite all the notes using Ref/note syntax<br />
<br />
[[User:Guesser|Guesser]] 19:12, 14 October 2010 (BST)</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=DivIDE&diff=2047
DivIDE
2020-05-10T14:03:28Z
<p>Zub: Let's (really) use HTTPS</p>
<hr />
<div>The '''DivIDE''' is an interface for connecting IDE mass storage devices to the ZX Spectrum. It has gained wide popularity amongst Spectrum users in the UK and Western/Central Europe, as a way to transfer and run emulator files seamlessly on the real hardware. [[:wikipedia:CompactFlash|CompactFlash]] cards are commonly used as the storage medium, as these can be used in "True IDE mode", and IDE-CF adapters are readily available. (The newer DivIDE variants have a CompactFlash connector on board.) IDE to [[:wikipedia:SD card|SD card]] adapters also exist, however SD cards have no native ATA mode therefore the adapter board is more complex.<br />
<br />
http://divide.cz/ is the official website of the DivIDE interface. The hardware design has been released as open source, allowing various third parties to produce their own batches of interfaces, as well as a number of updated models.<br />
<br />
== Models ==<br />
<br />
* The basic DivIDE model is the '''DivIDE 57c''', designed by Pavel "Zilog" Cimbal. This is equipped with a single IDE connector (allowing two devices - master and slave - to be connected), an 8K EEPROM and 32K RAM.<br />
* The '''DivIDE Plus''', developed by Jarek Adamski and Jurek Dudek, increases both the ROM and RAM to 512K, and adds an onboard CompactFlash connector and a pass-through edge connector.<br />
* The '''DivIDE 2k11''', produced by Lotharek, provides the same 8K ROM / 32K RAM configuration as the original model, but is re-implemented in CPLD and vertically mounted for a much smaller footprint. It has a CompactFlash slot on board, and no IDE connector.<br />
* The '''DivMMC''', announced by Mario Prato of Apulia Group Retrocomputing in May 2013, provides two Secure Digital card slots. It differs from earlier DivIDE models in that since SD cards are not IDE devices firmware must use the SD protocol to access data - nevertheless, it is strongly inspired by the DivIDE hardware design, and runs a version of ESXDOS providing the same functionality (except where the application software relies on direct IDE access, such as audio/video players). Schematics are available on the [http://aticatac.altervista.org/portale/?q=node/12 DivMMC website].<br />
* The '''DivMMC EnJoy!''' is an enhancement of the DivMMC by Ben Versteeg, adding a Kempston joystick interface.<br />
<br />
== Firmware ==<br />
<br />
At a hardware level, the DivIDE provides a 16 bit [[:wikipedia:Parallel_ATA|parallel ATA]] interface. Higher level capabilities (such as access to PC filesystems and loading emulator files) are handled in firmware written to the onboard Flash ROM - the DivIDE provides hooks into various points in the Spectrum ROM, such as the tape load/save routines, meaning that disk access can be closely integrated into Spectrum BASIC. There are a variety of firmware images available, offering different features:<br />
<br />
* [https://esxdos.org/ ESXDOS], by Phoenix, is an operating system providing read/write access to FAT16 and FAT32 filesystems, and the ability to load emulator snapshot / tape files, via extended BASIC syntax and a menu-driven file launcher. It also emulates the TR-DOS disk system (used by the majority of Russian software).<br />
* FATware, by Baze, works with FAT16-formatted disks and provides a friendly menu-driven interface for launching emulator snapshot and tape files, including support for long filenames. However, disk access is read-only, and there's no provision for accessing the filesystem directly from user code.<br />
* [https://www.worldofspectrum.org/residos/ ResiDOS], by Garry Lancaster, runs on the DivIDE Plus and extends BASIC with commands for disk access, along with various additional tools and packages including a task manager, simple windowing facilities and emulators for the ZX80 and ZX81. It primarily works with [[IDEDOS]] filesystems, but FAT support is available in an add-on package.<br />
<br />
Other firmwares exist - see [http://www.divide.cz/index.php?x=systems the firmware listing on divide.cz] - but these have either been largely superseded by the above projects, or have more specialist purposes such as emulating older disk systems.<br />
<br />
== Availability ==<br />
<br />
* The [http://www.divide.cz/index.php?x=eshopn divide.cz shop] (based in the Czech Republic) has reliably sold the original DivIDE for the last few years, along with accessories, spare parts and other goodies.<br />
* The DivIDE 2k11 is sold by [https://lotharek.pl/ Lotharek] (Poland).<br />
* The DivMMC EnJoy! is [http://hobby.benophetinternet.nl/hobby.benophetinternet.nl/?page_id=9 on sale from Ben Versteeg].<br />
* Sintech ([https://sintech-shop.co.uk/ UK], [https://www.sintech-shop.de/ Germany], [https://www.sintech-shop.cz/ Czech Republic]) regularly have the original DivIDE in stock.<br />
* [https://www.rwapsoftware.co.uk/ RWAP Software] (UK) have on various occasions offered both the DivIDE Plus and original DivIDE through their trading site [https://www.sellmyretro.com/ SellMyRetro]. As of July 2013 [https://www.sellmyretro.com/offer/details/Sinclair-ZX-Spectrum-DivIDE-Plus-Interface-2715 a new batch of DivIDE Plus interfaces] is on sale.<br />
* Other distributors pop up on eBay from time to time with small production runs of the original DivIDE.<br />
<br />
== 48/128 compatibility ==<br />
<br />
Due to the complexities of getting the ROM hooks to work correctly in 128K mode, most firmwares skip the startup menu on 128K machines and boot into 'USR 0 mode', in which the 48K BASIC editor is active but the full 128K RAM is still accessible through memory paging. This is fine for the vast majority of 128K software, as only a small number of titles rely on the 128K ROM. However, it causes problems with some pre-1986 software - notably, several Ultimate games - as these erroneously trigger the 128K paging mechanism and page themselves out, causing a crash. To fix this, you can force 'true' 48K mode by entering OUT 32765,48 before loading.<br />
<br />
DivIDE interfaces can be used in +3 BASIC with the [[+3e]] ROMs as a dumb 16-bit IDE interface by setting jumpers to disable the ROM/RAM paging functionality.<br />
<br />
[[Category:Peripherals]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Frequently_asked_questions&diff=2046
Frequently asked questions
2020-05-10T14:01:42Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>== Where can I get Spectrum software? ==<br />
<br />
[https://www.worldofspectrum.org/ World of Spectrum] is the largest archive of Spectrum software (and other material including magazines, books, emulators and utilities, as well as being home to the [https://www.worldofspectrum.org/forums/ WoS forums], the most active discussion forum for the Spectrum).<br />
<br />
== Why doesn't World Of Spectrum have (incredibly famous Spectrum game) available for download? ==<br />
<br />
Software from the Spectrum's commercial era is still under copyright, often owned by companies who are still trading. World Of Spectrum has a policy of respecting the wishes of copyright holders, and actively seeking permission for their software to be redistributed, and unfortunately the rights holders for a number of prominent software houses (including Ultimate and Codemasters) have declined permission. <br />
<br />
== What's the best emulator? ==<br />
<br />
It depends what criteria you're judging them on. In practice, there's not much to choose between them unless you're concerned with hardware add-ons, development tools or obscure hardware quirks - and for the purpose of playing games, any of the choices on the [[Emulators]] page will serve you well.<br />
<br />
== How do I use an emulator? ==<br />
<br />
Colin Woodcock's book [https://sites.google.com/site/zxfmagazine/zxpc The ZX Spectrum On Your PC] is an excellent introduction to the subject.<br />
<br />
== How do I get program files from the PC back on to a real Spectrum? ==<br />
<br />
World of Spectrum's [https://www.worldofspectrum.org/soundload.html Program Transfer] page covers a number of options for transferring files back on to tape.<br />
<br />
In addition, there are a number of recently-developed hardware add-ons which allow you to use emulator files directly on the original hardware. One popular setup is the [[DivIDE]] IDE interface, in conjunction with a CompactFlash-to-IDE converter board; files from the PC can be copied to a CompactFlash card and loaded on the Spectrum. The [[Spectranet]] ethernet interface is another option; this allows emulator files to be loaded from a PC file server, on your local network or over the internet.<br />
<br />
== Have you seen [https://www2.b3ta.com/heyhey16k/ Hey Hey 16K]? ==<br />
<br />
Yes. Good, isn't it?</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=CP/M&diff=2045
CP/M
2020-05-10T13:59:10Z
<p>Zub: Internal use of CP/M at Sinclair Research</p>
<hr />
<div>CP/M is an operating system developed by Digital Research, Inc., originally released in 1974.<br />
<br />
The [[ZX Spectrum +3]] included CP/M support in ROM. The version included is CP/M Plus, which provides compatibility for programs written for the older CP/M 2.2, matching that provided by the [[:wikipedia:Amstrad CPC|Amstrad CPC]].<br />
<br />
CP/M 2.2 compatibility was available for the [[SAM Coupé]] using [[Pro-Dos]]. This did not license the original CP/M code, but was a reimplementation of the interfaces provided by CP/M.<br />
<br />
CP/M was used by [[Sinclair Research]] for the development of the [[ZX Spectrum 128]], in the form of a Z80 expansion card [https://www.zdnet.com/article/the-zx-spectrum-birthday-memories/] capable of supporting two instances of CP/M, attached to the corporate VAX-11/780. If two instances were in use, a CP/M system could be emulated using the VAX's own CPU, but used a great deal of processing power, which was discouraged, as by the mid-1980s, the same VAX was used heavily within [[Sinclair Research]] as their corporate computing environment, including email. The Microsoft M80 macro-assembler and L80 linker were used to assemble and link the ZX Spectrum 128's ROM image.<br />
<br />
== External link ==<br />
* [[:wikipedia:CP/M|CP/M article on Wikipedia]]<br />
<br />
[[category:software]]<br />
[[category:Native Software]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_BASIC_history&diff=2044
Sinclair BASIC history
2020-05-10T13:40:32Z
<p>Zub: Linkify CP/M</p>
<hr />
<div>[[Sinclair BASIC]] is a popular version of the BASIC (Beginner's All purpose Symbolic Instruction Code) programming language. Originally written for the [[ZX80]], it is now available for a wide range of computers in native versions or via emulation. This is the history of its evolution.<br />
<br />
In July 1975 Micro-Soft, as it was then called, shipped BASIC (Beginner's All purpose Symbolic Instruction Code) version 2.0 for the MITS Altair 8800 hobbyist computer. This was the first commercial version of the Beginner's All-purpose Symbolic Instruction Code programming language, originally developed by J.G. Kemeny and T.E. Kurtz in 1964 at Dartmouth College in the United States.<br />
<br />
By then Kemeny and Kurtz had addressed the main criticisms of BASIC; that it lacked structure and encouraged bad programming habits, but the 4K and 8K versions for the Altair, written by Paul Allen and Bill Gates, were based on the original Dartmouth BASIC.<br />
<br />
Microsoft BASIC became so popular that it made Gates and Allen their first fortune and was subsequently supplied with the majority of 8-bit computers. So not surprisingly, when the ANSI Standard for Minimal BASIC (X3.60-1978) was launched, it was based mainly on the Microsoft version.<br />
<br />
In May 1979, [[Sir Clive Sinclair|Clive Sinclair]]'s engineers began work on the machine that would become the ZX80. Sinclair was inspired to create the machine after seeing how much his son enjoyed using a TRS-80 but guessing that many people would be put off buying one because of the high price—just under £500.<br />
<br />
Unlike Sinclair's previous foray in to the computer hobbyist market, the MK14, this machine would ship with BASIC, based on the ANSI standard. But the aim was to keep costs down and that precluded paying a licence fee to Microsoft. To this end, Sinclair had already met with [[John Grant]] of Nine Tiles in April to discuss the software requirements of the ZX80.<br />
<br />
Given the tiny R&D budget, [[Nine Tiles Ltd|Nine Tiles]] stood to make hardly any money out of the deal, but the feeling was that the project was exciting and worthwhile, and one the company would benefit from being associated with.<br />
<br />
To achieve the launch price of £79.95 in kit-form, RAM was limited to 1K and the integer BASIC had to be crammed into a 4K ROM. Grant wrote the bulk of the ROM between June and July. But the resulting program was 5K in length so Grant spent that August trimming the code.<br />
<br />
Grant laid the path for things to come, introducing many unique features of Sinclair BASIC, such as the way it refuses to allow most syntax errors to be entered into the program, instead pointing out where the error is in the line before it is entered, making it much easier to learn and use than any other version of BASIC.<br />
<br />
The kit was launched at a computer fair in the first week of February 1980, and while it was not a massive success by comparison with the [[ZX Spectrum]], it turned Sinclair's fortunes around, eventually earning him a knighthood, and it sold well enough to persuade him to make a new computer—the [[ZX81]].<br />
<br />
Work on the hardware had begun in September 1979, even before the launch of the ZX80, but it was the development of the uncommitted logic array, or ULA, which allowed the machine to go into production. The ULA, produced by [[Ferranti]] for Sinclair, reduced the chip count and brought the retail cost of the machine, in kit-form, down to £49.95.<br />
<br />
Again, Nine Tiles was called on to provide the New BASIC, but this time there was 8K to play with. [[Steve Vickers]], who had joined Nine Tiles in January 1980, added the floating-point arithmetic, including trigonometric and other functions.<br />
<br />
"As far as Clive was concerned, it wasn't a question of what the machine ought to be able to do, but more what could be crammed into the machine given the component budget he'd set his mind on," said Vickers in an interview on July 23, 1985. "The only firm brief for the '81 was that the '80's math package must be improved."<br />
<br />
The ROM was almost complete by the end of autumn 1980, but support still had to be added for the ZX Printer. Somewhere between this time and the launch, a bug crept in which caused the square root of 0.25 to be 1.3591409. Nine Tiles quickly fixed the bug, but Sinclair was somewhat tardy in making this version available to people who had already bought the machine.<br />
<br />
Despite this problem, the ZX81 was well received and became a massive success, spawning a series of clones, both illegal and licensed by Timex, which was manufacturing the UK models for Sinclair at its Dundee plant. Inspired by the public reaction to the ZX81, and annoyed at not winning the contract to design a computer for the British Broadcasting Corporation, Sinclair decided the market needed a budget colour computer.<br />
<br />
The ZX80 and ZX81 hardware had been the primarily the work of one man; [[Jim Westwood]], but he had been moved to the flat-screen television department, so the hardware design job on the machine which became the ZX Spectrum, was given to [[Richard Altwasser]], while at Nine Tiles, Vickers was again asked to provide the BASIC.<br />
<br />
What started out as an expansion of the ZX81 BASIC soon turned into a large 16K program. Sinclair wanted as few changes to the ZX81 code as possible but at Nine Tiles the feeling was that software designed for a machine with 1K was inappropriate for a machine with 16K and that problems would occur later on. They were right.<br />
<br />
"Certainly with the Spectrum we wanted to rewrite the code, but there wasn't the time and there definitely weren't the resources," said Grant in an interview on September 8, 1985. "At every point [in the development of the ZX range] Clive wanted the maximum new facilities for the minimum money."<br />
<br />
After the best part of a year's work the BASIC was almost finished. While it was greatly enhanced, it was also depressingly slow, but more problems were to follow. The main problem was providing support for the planned peripherals because no working prototypes were available to Vickers until near the end of 1981. But then, in February 1982 Nine Tiles began to have financial disagreements with Sinclair over royalties which it became apparent would not be forthcoming.<br />
<br />
To make matters worse, Vickers and Altwasser both handed in their resignations in order to form their own company, Cantab, which went on to produce the Jupiter Ace, essentially a ZX80 with the Forth language built-in in place of BASIC. The result of the delays these problems caused was that when Sinclair launched the machine, it did so with an incomplete ROM. Nine Tiles continued working on the ROM for three months after the launch in April 1982, but by then too many units had been sold and the program was never finished.<br />
<br />
The original plan was to issue only a limited number of Spectrums with the incomplete ROM and provide an upgrade, much in the way the bug in the ZX81 ROM had been handled, except that by the time Sinclair got its act together, around 75,000 units had been sold and the plan became unworkable. This is the reason why the Microdrive commands don't work in the standard ROM, and hence led to the development by Ian Logan of the shadow ROM in the Interface 1 in order to handle peripherals which should have been supported directly by BASIC.<br />
<br />
Those who are interested in what the finished ROM might have looked like should visit Geoff Wearmouth's website at http://www.wearmouth.demon.co.uk/, where you can download the latest version of his Sea Change ROM, complete with source code. Wearmouth's version of Sinclair BASIC cunningly includes RS232 and network support in the main ROM, although sadly it is incompatible with the majority of commercial Spectrum software.<br />
<br />
Various "enhancements" were made to the BASIC over the years, including the extra syntax of the shadow ROM introduced with the Sinclair Interface I, and in the United States in 1983 when an attempt was made to overhaul the BASIC by Timex when it launched its [[Timex 2000 series|TS2068]]. But again, the version of the ROM launched with the machine was incomplete, and the TS2068 was unable to run the majority of Spectrum software because of hard-coded calls to locations in the ROM which were different in the Spectrum.<br />
<br />
In 1985, in a joint venture with its Spanish distributor [[Investrónica]], Sinclair launched the [[ZX Spectrum 128]], codenamed Derby, with a new editor bolted on to the original BASIC. This was slightly more compatible than the Timex effort but the editor was bug ridden, and some software refused to work, even in 48 mode, because the empty space at the end of the original ROM, used as a table by some programs, was now overwritten with extra code.<br />
<br />
It did introduce some useful new commands and a built-in text editor, although inexplicably these were replaced with a menu system with less functionality in the English version of the machine launched the following year. However, criticism of the 128 Editor must be put in context. The programmers were relying on the Logan & O'Hara disassembly of the original ROM published by Melbourne House, since if Sinclair ever had a copy of the original source by now it had been lost, and were working on a DEC VAX-11/780 machine running [[CP/M]] on an expansion card[https://www.zdnet.com/article/the-zx-spectrum-birthday-memories/].<br />
<br />
Fortunately, tracing the development of the 128 Editor is made easier by the fact that the initials of programmers are stored at the beginning of the Spanish ROM and (MB, KM, and AT) at the end of the English ROM (Martin Brennan, Steve Berry, Andrew Cummins, Rupert Goodwins and Kevin Males).<br />
<br />
According to Rupert Goodwins, editor of the +2 manual and the person responsible for the Spectrum logo on the menu system, the Sinclair programmers didn't realise that the unused bytes in the original ROM were being used as a table by games programmers. "The TV test screen and other ancillary code was in there for production testing," he said. "As Spectrums came off the production line, they got checked and set up for keyboard, tape, ports, colour, and sound." He recalls there being an Interface 2-style cartridge system at one point but that most of the test code ended up in the ROM. "We had the space and it's obviously cheaper and more efficient that way."<br />
<br />
There were also some strange features planned for the 128 which were removed before production as they couldn't be made to work properly. "There were certainly plans to do more with the keypad—what a bizarre idea that was," he said. "It was originally supposed to have been a mouse as well—can you imagine!"<br />
<br />
Kevin Males worked on both versions of the 128 Editor ROM. "I wrote the music string interpreter for the 128, plus various other bits and pieces that never made it into the ROM," he said. "I also did a lot of work on Microdrives, but its a long time since I wrote any Z80 code though!" He may also be the author of the text editor in the original Spanish Editor. "I recall working on various text editors for the 128 that didn't make it into the ROM," he said.<br />
<br />
In addition, he worked on automated test and diagnostic software for both Spectrum & QL Microdrives. He was also involved in the notorious Loki project. "Towards the end I started looking at software to control a proposed digital synth for the new games machine but the company was sold before that could be realised."<br />
<br />
Martin Brennan, who worked on no-end of projects at Sinclair, wrote the editor with contributions from Steve Berry, and Andrew Cummins probably wrote the tricky number handling code.<br />
<br />
Amazingly, Sinclair never owned the rights to the ROM. Amstrad had to acquire them separately from Nine Tiles in 1986 when it bought out Sinclair. When Spectrum clones began appearing back in late 1984, Sinclair Research boss Nigel Searle found he was powerless to do anything about it because the only really unique part of the Spectrum was the ROM and in the disagreements following the Spectrum's launch, Sinclair had failed to acquire the rights, for which it had originally offered Grant £5,000. By now the Spectrum had sold more than 2.5 million units.<br />
<br />
In fact Amstrad only obtained the rights to the Spectrum and the QL, which they sold on. Nine Tiles Networks retains the rights to the ZX80 and ZX81 ROMs, and Sinclair retains the rights to the Interface 1 ROM. In fact, the developers of the SAM Coupé, a powerful Z80 based machine with a Sinclair compatible BASIC, approached Nine Tiles with a view to licensing the floating-point routines from the ZX81 ROM. However, at the time the asking price was too high.<br />
<br />
Towards the end of 1986, when Amstrad wanted to create a Spectrum with a built in disk drive, it simply took the DOS from its PCW machine and patched the 128 editor to provide simple disk access. In fairness, the DOS, written by Cliff Lawson, was a very good one, although its full power remained untapped by +3 Basic. Unfortunately none of the bugs were fixed in the first version of the +3 and new ones were introduced, but perhaps this is understandable as there was little documentation at the Sinclair Computers division and development had moved from a VAX running CP/M to a room full of PCWs running CP/M which was less than ideal.<br />
<br />
Amstrad stopped selling the last Spectrum model, the +2B, in the early 1990s. For a time it looked as if the SAM Coupé might offer an upgrade path to Sinclair BASIC users, but after two false starts the machine disappeared into obscurity.<br />
<br />
However, with the advent of emulation (made possible because Amstrad has kindly given permission for the distribution of its copyrighted material for use with emulators although it retains that copyright) there has been a renaissance in Sinclair BASIC programming.<br />
<br />
This has been aided greatly by Paul Dunn's development of a Sinclair BASIC integrated development environment: BASin. As well as providing a superb editor, it includes the entire contents of the original Spectrum BASIC manual, the Spectrum + manual and the relevant parts of the Spectrum 128 manual as online help. Although BASin is developed only for the Microsoft Windows platform, it is open source so in theory it could be ported to other machines. However, it is compatible with Wine, the Windows application layer for Unix-like operating systems, and so in practice it can be used with most machines.<br />
<br />
For more information about Sinclair and the actual hardware the five-part article 'Sinclair and the "Sunrise" Technology' by Ian Adamson and Richard Kennedy, available on Planet Sinclair at makes excellent reading.<br />
<br />
This article is a further revision of an article first published on the World of Spectrum website that subsequently appeared in AlchNews & Z88 User issue 38. It is contributed to this wiki with the full permission of the original author.<br />
<br />
== Sinclair BASIC Interpreters ==<br />
<br />
* Integer BASIC by John Grant — 4K integer version for ZX80<br />
* Floating point added by Steve Vickers — 8K version for ZX81<br />
* Colour and more peripherals added by Steve Vickers and John Grant — unfinished 16K version for ZX Spectrum<br />
* Sea Change ROM by Steve Vickers and Ian Logan — finished version for ZX Spectrum, modified by Geoff Wearmouth<br />
* ROMU6 by Cesar and Juan Hernandez — MSX version<br />
* Spectrum 48 by Whitby Computers — Commodore 64 version<br />
* Sinbas by Pavel Napravnik — MS-DOS version<br />
* Basic by Philip Kendall — Unix version<br />
* BASin by Paul Dunn — Windows version<br />
* SpecBAS by Paul Dunn — Windows, Linux, Pandora and Raspberry Pi versions<br />
<br />
{{CC-BY-SA-techwiki|Sinclair BASIC History|Sinclair_BASIC_History}}<br />
<br />
[[Category:Sinclair BASIC|history]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_BASIC_history&diff=2043
Sinclair BASIC history
2020-05-10T13:40:09Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>[[Sinclair BASIC]] is a popular version of the BASIC (Beginner's All purpose Symbolic Instruction Code) programming language. Originally written for the [[ZX80]], it is now available for a wide range of computers in native versions or via emulation. This is the history of its evolution.<br />
<br />
In July 1975 Micro-Soft, as it was then called, shipped BASIC (Beginner's All purpose Symbolic Instruction Code) version 2.0 for the MITS Altair 8800 hobbyist computer. This was the first commercial version of the Beginner's All-purpose Symbolic Instruction Code programming language, originally developed by J.G. Kemeny and T.E. Kurtz in 1964 at Dartmouth College in the United States.<br />
<br />
By then Kemeny and Kurtz had addressed the main criticisms of BASIC; that it lacked structure and encouraged bad programming habits, but the 4K and 8K versions for the Altair, written by Paul Allen and Bill Gates, were based on the original Dartmouth BASIC.<br />
<br />
Microsoft BASIC became so popular that it made Gates and Allen their first fortune and was subsequently supplied with the majority of 8-bit computers. So not surprisingly, when the ANSI Standard for Minimal BASIC (X3.60-1978) was launched, it was based mainly on the Microsoft version.<br />
<br />
In May 1979, [[Sir Clive Sinclair|Clive Sinclair]]'s engineers began work on the machine that would become the ZX80. Sinclair was inspired to create the machine after seeing how much his son enjoyed using a TRS-80 but guessing that many people would be put off buying one because of the high price—just under £500.<br />
<br />
Unlike Sinclair's previous foray in to the computer hobbyist market, the MK14, this machine would ship with BASIC, based on the ANSI standard. But the aim was to keep costs down and that precluded paying a licence fee to Microsoft. To this end, Sinclair had already met with [[John Grant]] of Nine Tiles in April to discuss the software requirements of the ZX80.<br />
<br />
Given the tiny R&D budget, [[Nine Tiles Ltd|Nine Tiles]] stood to make hardly any money out of the deal, but the feeling was that the project was exciting and worthwhile, and one the company would benefit from being associated with.<br />
<br />
To achieve the launch price of £79.95 in kit-form, RAM was limited to 1K and the integer BASIC had to be crammed into a 4K ROM. Grant wrote the bulk of the ROM between June and July. But the resulting program was 5K in length so Grant spent that August trimming the code.<br />
<br />
Grant laid the path for things to come, introducing many unique features of Sinclair BASIC, such as the way it refuses to allow most syntax errors to be entered into the program, instead pointing out where the error is in the line before it is entered, making it much easier to learn and use than any other version of BASIC.<br />
<br />
The kit was launched at a computer fair in the first week of February 1980, and while it was not a massive success by comparison with the [[ZX Spectrum]], it turned Sinclair's fortunes around, eventually earning him a knighthood, and it sold well enough to persuade him to make a new computer—the [[ZX81]].<br />
<br />
Work on the hardware had begun in September 1979, even before the launch of the ZX80, but it was the development of the uncommitted logic array, or ULA, which allowed the machine to go into production. The ULA, produced by [[Ferranti]] for Sinclair, reduced the chip count and brought the retail cost of the machine, in kit-form, down to £49.95.<br />
<br />
Again, Nine Tiles was called on to provide the New BASIC, but this time there was 8K to play with. [[Steve Vickers]], who had joined Nine Tiles in January 1980, added the floating-point arithmetic, including trigonometric and other functions.<br />
<br />
"As far as Clive was concerned, it wasn't a question of what the machine ought to be able to do, but more what could be crammed into the machine given the component budget he'd set his mind on," said Vickers in an interview on July 23, 1985. "The only firm brief for the '81 was that the '80's math package must be improved."<br />
<br />
The ROM was almost complete by the end of autumn 1980, but support still had to be added for the ZX Printer. Somewhere between this time and the launch, a bug crept in which caused the square root of 0.25 to be 1.3591409. Nine Tiles quickly fixed the bug, but Sinclair was somewhat tardy in making this version available to people who had already bought the machine.<br />
<br />
Despite this problem, the ZX81 was well received and became a massive success, spawning a series of clones, both illegal and licensed by Timex, which was manufacturing the UK models for Sinclair at its Dundee plant. Inspired by the public reaction to the ZX81, and annoyed at not winning the contract to design a computer for the British Broadcasting Corporation, Sinclair decided the market needed a budget colour computer.<br />
<br />
The ZX80 and ZX81 hardware had been the primarily the work of one man; [[Jim Westwood]], but he had been moved to the flat-screen television department, so the hardware design job on the machine which became the ZX Spectrum, was given to [[Richard Altwasser]], while at Nine Tiles, Vickers was again asked to provide the BASIC.<br />
<br />
What started out as an expansion of the ZX81 BASIC soon turned into a large 16K program. Sinclair wanted as few changes to the ZX81 code as possible but at Nine Tiles the feeling was that software designed for a machine with 1K was inappropriate for a machine with 16K and that problems would occur later on. They were right.<br />
<br />
"Certainly with the Spectrum we wanted to rewrite the code, but there wasn't the time and there definitely weren't the resources," said Grant in an interview on September 8, 1985. "At every point [in the development of the ZX range] Clive wanted the maximum new facilities for the minimum money."<br />
<br />
After the best part of a year's work the BASIC was almost finished. While it was greatly enhanced, it was also depressingly slow, but more problems were to follow. The main problem was providing support for the planned peripherals because no working prototypes were available to Vickers until near the end of 1981. But then, in February 1982 Nine Tiles began to have financial disagreements with Sinclair over royalties which it became apparent would not be forthcoming.<br />
<br />
To make matters worse, Vickers and Altwasser both handed in their resignations in order to form their own company, Cantab, which went on to produce the Jupiter Ace, essentially a ZX80 with the Forth language built-in in place of BASIC. The result of the delays these problems caused was that when Sinclair launched the machine, it did so with an incomplete ROM. Nine Tiles continued working on the ROM for three months after the launch in April 1982, but by then too many units had been sold and the program was never finished.<br />
<br />
The original plan was to issue only a limited number of Spectrums with the incomplete ROM and provide an upgrade, much in the way the bug in the ZX81 ROM had been handled, except that by the time Sinclair got its act together, around 75,000 units had been sold and the plan became unworkable. This is the reason why the Microdrive commands don't work in the standard ROM, and hence led to the development by Ian Logan of the shadow ROM in the Interface 1 in order to handle peripherals which should have been supported directly by BASIC.<br />
<br />
Those who are interested in what the finished ROM might have looked like should visit Geoff Wearmouth's website at http://www.wearmouth.demon.co.uk/, where you can download the latest version of his Sea Change ROM, complete with source code. Wearmouth's version of Sinclair BASIC cunningly includes RS232 and network support in the main ROM, although sadly it is incompatible with the majority of commercial Spectrum software.<br />
<br />
Various "enhancements" were made to the BASIC over the years, including the extra syntax of the shadow ROM introduced with the Sinclair Interface I, and in the United States in 1983 when an attempt was made to overhaul the BASIC by Timex when it launched its [[Timex 2000 series|TS2068]]. But again, the version of the ROM launched with the machine was incomplete, and the TS2068 was unable to run the majority of Spectrum software because of hard-coded calls to locations in the ROM which were different in the Spectrum.<br />
<br />
In 1985, in a joint venture with its Spanish distributor [[Investrónica]], Sinclair launched the [[ZX Spectrum 128]], codenamed Derby, with a new editor bolted on to the original BASIC. This was slightly more compatible than the Timex effort but the editor was bug ridden, and some software refused to work, even in 48 mode, because the empty space at the end of the original ROM, used as a table by some programs, was now overwritten with extra code.<br />
<br />
It did introduce some useful new commands and a built-in text editor, although inexplicably these were replaced with a menu system with less functionality in the English version of the machine launched the following year. However, criticism of the 128 Editor must be put in context. The programmers were relying on the Logan & O'Hara disassembly of the original ROM published by Melbourne House, since if Sinclair ever had a copy of the original source by now it had been lost, and were working on a DEC VAX-11/780 machine running CP/M on an expansion card[https://www.zdnet.com/article/the-zx-spectrum-birthday-memories/].<br />
<br />
Fortunately, tracing the development of the 128 Editor is made easier by the fact that the initials of programmers are stored at the beginning of the Spanish ROM and (MB, KM, and AT) at the end of the English ROM (Martin Brennan, Steve Berry, Andrew Cummins, Rupert Goodwins and Kevin Males).<br />
<br />
According to Rupert Goodwins, editor of the +2 manual and the person responsible for the Spectrum logo on the menu system, the Sinclair programmers didn't realise that the unused bytes in the original ROM were being used as a table by games programmers. "The TV test screen and other ancillary code was in there for production testing," he said. "As Spectrums came off the production line, they got checked and set up for keyboard, tape, ports, colour, and sound." He recalls there being an Interface 2-style cartridge system at one point but that most of the test code ended up in the ROM. "We had the space and it's obviously cheaper and more efficient that way."<br />
<br />
There were also some strange features planned for the 128 which were removed before production as they couldn't be made to work properly. "There were certainly plans to do more with the keypad—what a bizarre idea that was," he said. "It was originally supposed to have been a mouse as well—can you imagine!"<br />
<br />
Kevin Males worked on both versions of the 128 Editor ROM. "I wrote the music string interpreter for the 128, plus various other bits and pieces that never made it into the ROM," he said. "I also did a lot of work on Microdrives, but its a long time since I wrote any Z80 code though!" He may also be the author of the text editor in the original Spanish Editor. "I recall working on various text editors for the 128 that didn't make it into the ROM," he said.<br />
<br />
In addition, he worked on automated test and diagnostic software for both Spectrum & QL Microdrives. He was also involved in the notorious Loki project. "Towards the end I started looking at software to control a proposed digital synth for the new games machine but the company was sold before that could be realised."<br />
<br />
Martin Brennan, who worked on no-end of projects at Sinclair, wrote the editor with contributions from Steve Berry, and Andrew Cummins probably wrote the tricky number handling code.<br />
<br />
Amazingly, Sinclair never owned the rights to the ROM. Amstrad had to acquire them separately from Nine Tiles in 1986 when it bought out Sinclair. When Spectrum clones began appearing back in late 1984, Sinclair Research boss Nigel Searle found he was powerless to do anything about it because the only really unique part of the Spectrum was the ROM and in the disagreements following the Spectrum's launch, Sinclair had failed to acquire the rights, for which it had originally offered Grant £5,000. By now the Spectrum had sold more than 2.5 million units.<br />
<br />
In fact Amstrad only obtained the rights to the Spectrum and the QL, which they sold on. Nine Tiles Networks retains the rights to the ZX80 and ZX81 ROMs, and Sinclair retains the rights to the Interface 1 ROM. In fact, the developers of the SAM Coupé, a powerful Z80 based machine with a Sinclair compatible BASIC, approached Nine Tiles with a view to licensing the floating-point routines from the ZX81 ROM. However, at the time the asking price was too high.<br />
<br />
Towards the end of 1986, when Amstrad wanted to create a Spectrum with a built in disk drive, it simply took the DOS from its PCW machine and patched the 128 editor to provide simple disk access. In fairness, the DOS, written by Cliff Lawson, was a very good one, although its full power remained untapped by +3 Basic. Unfortunately none of the bugs were fixed in the first version of the +3 and new ones were introduced, but perhaps this is understandable as there was little documentation at the Sinclair Computers division and development had moved from a VAX running CP/M to a room full of PCWs running CP/M which was less than ideal.<br />
<br />
Amstrad stopped selling the last Spectrum model, the +2B, in the early 1990s. For a time it looked as if the SAM Coupé might offer an upgrade path to Sinclair BASIC users, but after two false starts the machine disappeared into obscurity.<br />
<br />
However, with the advent of emulation (made possible because Amstrad has kindly given permission for the distribution of its copyrighted material for use with emulators although it retains that copyright) there has been a renaissance in Sinclair BASIC programming.<br />
<br />
This has been aided greatly by Paul Dunn's development of a Sinclair BASIC integrated development environment: BASin. As well as providing a superb editor, it includes the entire contents of the original Spectrum BASIC manual, the Spectrum + manual and the relevant parts of the Spectrum 128 manual as online help. Although BASin is developed only for the Microsoft Windows platform, it is open source so in theory it could be ported to other machines. However, it is compatible with Wine, the Windows application layer for Unix-like operating systems, and so in practice it can be used with most machines.<br />
<br />
For more information about Sinclair and the actual hardware the five-part article 'Sinclair and the "Sunrise" Technology' by Ian Adamson and Richard Kennedy, available on Planet Sinclair at makes excellent reading.<br />
<br />
This article is a further revision of an article first published on the World of Spectrum website that subsequently appeared in AlchNews & Z88 User issue 38. It is contributed to this wiki with the full permission of the original author.<br />
<br />
== Sinclair BASIC Interpreters ==<br />
<br />
* Integer BASIC by John Grant — 4K integer version for ZX80<br />
* Floating point added by Steve Vickers — 8K version for ZX81<br />
* Colour and more peripherals added by Steve Vickers and John Grant — unfinished 16K version for ZX Spectrum<br />
* Sea Change ROM by Steve Vickers and Ian Logan — finished version for ZX Spectrum, modified by Geoff Wearmouth<br />
* ROMU6 by Cesar and Juan Hernandez — MSX version<br />
* Spectrum 48 by Whitby Computers — Commodore 64 version<br />
* Sinbas by Pavel Napravnik — MS-DOS version<br />
* Basic by Philip Kendall — Unix version<br />
* BASin by Paul Dunn — Windows version<br />
* SpecBAS by Paul Dunn — Windows, Linux, Pandora and Raspberry Pi versions<br />
<br />
{{CC-BY-SA-techwiki|Sinclair BASIC History|Sinclair_BASIC_History}}<br />
<br />
[[Category:Sinclair BASIC|history]]<br />
[[Category:Spectrum]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Installing_SpecBAS_for_Mac&diff=2042
Installing SpecBAS for Mac
2020-05-10T13:30:51Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>[[category:Specbas]]<br />
<br />
There has not yet been a port to Mac (as far as we are aware). The source for SpecBAS should be 'relatively' simple to adapt and to compile. The bass audio library is well tested for Mac OSX, and available at https://www.un4seen.com/<br />
<br />
If anyone can offer an example of, or information about a Mac version of SpecBAS, it would be good to see it posted up here.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Installing_SpecBAS_for_Raspberry_PI&diff=2040
Installing SpecBAS for Raspberry PI
2020-05-10T13:28:26Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>[[category:Specbas]]<br />
<br />
A quick guide to getting the current version of SpecBAS up and running on a Raspberry Pi<br />
<br />
==Downloading SpecBAS for Raspberry Pi==<br />
<br />
A binary debian package containing the current version of SpecBAS for Raspberry Pi can be found at http://freestuff.grok.co.uk/specbas-pi.deb<br />
<br />
==Running SpecBAS for Raspberry Pi==<br />
<br />
You must be running a linux distro with hard floating point support, such as the Raspbian Wheezy distribution that Raspberry recommends.<br />
<br />
Type "wget http://freestuff.grok.co.uk/specbas-pi.deb" to fetch the debian package to your home directory.<br />
<br />
Then type "sudo dpkg -i specbas-pi.deb" to install it.<br />
<br />
This will create a link to SpecBAS in the desktop menu (it's placed within the Programming menu) like this: [[Media:SpecBAS-Pi-Menu.png]]<br />
<br />
Upon first execution, SpecBAS will create its working directory; /home/username/specbas (if this folder doesn't already exist). A number of useful files and folders will also be set up within this directory (containing fonts, demo programs, and a copy of the SpecBAS Reference Manual). This folder is effectively the root folder for SpecBAS/SpecOS, where SpecBAS will load files from, and save files to. SpecBAS is unaware of any files located outside of this folder.<br />
<br />
==Compiling your own version==<br />
<br />
The SpecBAS source files are available [https://github.com/ZXDunny/SpecBAS on github]. The bass audio library is available from https://www.un4seen.com/<br />
<br />
==Removing SpecBAS from your Raspberry Pi==<br />
<br />
In the unlikely event that you wish to remove SpecBAS from your Raspberry Pi, the command "sudo dpkg -r specbas" will take care of that for you.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Timeline_of_events&diff=2039
Timeline of events
2020-05-10T13:25:06Z
<p>Zub: /* 1985 */ Fix typo</p>
<hr />
<div>=== 1980 ===<br />
<br />
* 29 January: The [[ZX80]] is released by Sinclair Computers Ltd at an initial price of £79.95 in kit form, and £99.95 for a pre-assembled machine, notably becoming one a very few machines advertised for under £100. The machine includes 1 KB of RAM and a 4&nbsp;KB ROM containing an Integer-only BASIC (later upgradable to an 8&nbsp;KB floating-point BASIC ROM after release of the ZX81).<br />
<br />
=== 1981 ===<br />
<br />
* March: Sinclair Computers Ltd is renamed to [[Sinclair Research Ltd]].<br />
* 5 March: The [[ZX81]] is released at an initial price of £49.95 in kit form, and £69.95 for a pre-assembled machine. The machine includes an 8&nbsp;KB ROM, improved from that of the ZX80 with support for floating-point calculations, and is capable of displaying screen content whilst performing computation, unlike the ZX80 before it.<br />
* November: The [[ZX Printer]] is launched at a price of £49.95. The printer is compatible with the ZX81, and when the ZX Spectrum is later developed, it is designed to maintain compatibility with the ZX Printer.<br />
<br />
=== 1982 ===<br />
<br />
* February: Financial disagreements arise between [[Nine Tiles]] and Sinclair Research Ltd.<br />
* 23 April: The [[ZX Spectrum 16K/48K|original models]] of the ZX Spectrum are released at the initial price of £125 for the 16&nbsp;KB model and £175 for the 48&nbsp;KB model. The machine is compatible with the ZX Printer, and an "RS-232/Network interface board" is promised, which later becomes the [[ZX Interface 1]].<br />
* April: The magazine [[Sinclair User]] is launched by ECC Publications Ltd.<br />
<br />
=== 1983 ===<br />
* July: Sinclair Research Ltd announces that it will begin shipping the [[ZX Microdrive]] together with the ZX Interface 1, with the first 1000 units offered specifically to those customers who had ordered the ZX Spectrum upon launch.<br />
* September: The ZX Microdrive goes on sale, together with the ZX Interface 1.<br />
<br />
=== 1984 ===<br />
<br />
* 12 January: The [[Sinclair QL]] ("Quantum Leap") is introduced, at £399, and is intended to compete in the business market. Based on a Motorola 68008 CPU with an 8-bit data bus, it comes with 128&nbsp;KB of RAM and supports the ZX Microdrive (rather than a floppy disk drive). With delivery promised within 28 days, the machine is plagued by production problems, delaying deliveries until April and requiring an external expansion card (the "kludge"/"dongle") holding 16&nbsp;KB ROM to be used with early machines, needed as the QL's operating system would not fit into the 32&nbsp;KB of ROM provided internally.<br />
* January: The magazine ''[[Your Spectrum]]'' is launched by Sportscene Specialist Press (later renamed to Dennis Publishing in April 1987).<br />
* February: The magazine ''[[Crash (magazine)|Crash]]'' is launched by Newsfield Publications Ltd.<br />
<br />
=== 1985 ===<br />
<br />
* September: The [[ZX Spectrum 128]] goes on sale in Spain.<br />
<br />
=== 1986 ===<br />
<br />
* January: The ZX Spectrum 128 goes on sale in the UK at a price of £179.95. As well as including 128&nbsp;KB of RAM, it provides a more stable video output (avoiding dot crawl), a [[AY-3-8912]] sound synthesis chip, a Spectrum+ style plastic keyboard, and a tokenising editor intended to be used in preference to the original ZX Spectrum's context-based keyword entry system.<br />
* January: After 21 issues, ''Your Spectrum'' is relaunched as ''[[Your Sinclair]]''.<br />
* 7 April: All Spectrum-related assets and the "Sinclair" brand name are acquired by [[Amstrad]] plc.<br />
<br />
=== 1987 ===<br />
<br />
* 16 May: The [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +3]] is released by Amstrad. It is a major redesign of the original ZX Spectrum 128 and ZX Spectrum +2 models, including an integrated 3″ single sided floppy disc drive and with additional memory paging capabilities to support [[CP/M]] and the [[+3DOS]] disc operating system. It is housed in a slightly modified version of the [[ZX Spectrum +2|+2]] case moulding cast in black plastic instead of grey. The "Black +2" appears soon after with an integrated tape drive in place of the 3″ floppy disc drive.<br />
<br />
=== 1988 ===<br />
* 5 September: [[Miles Gordon Technology]], plc. is incorporated.<br />
<br />
=== 1989 ===<br />
<br />
* December: The [[SAM Coupé]] is released by Miles Gordon Technology. The machine arrives too late for the Christmas 1989 shopping season, and is plagued by bugs in the ROM at the time of launch, requiring an updated ROM to be distributed to approximately 8,000 customers.<br />
<br />
=== 1990 ===<br />
<br />
* April: ''Your Sinclair'' is published under ownership of Future plc for the first time.<br />
* 11 June: Miles Gordon Technology goes into receivership.<br />
* 4 July: [[SAM Computers Ltd]] is incorporated, taking over the assets of Miles Gordon Technology. The new company is formed with the aims of providing an upgrade service to existing users (making available the bug-fixed ROM, and updates to the Spectrum emulator and SAMDOS), creating and publishing new software (under the company's software label, Revelation), and honouring the warranty of existing owners, whilst continuing to distribute the remaining stock of the machine.<br />
<br />
=== 1992 ===<br />
<br />
* May: ''Crash'' becomes ostensibly incorporated into ''Sinclair User'' as of the 123rd issue. In practice, very little changes in the publication.<br />
* 15 July: [[SAM Computers Ltd]] (SAMCo) goes into receivership.<br />
<br />
=== 1993 ===<br />
<br />
* April: The 134th and final issue of ''Sinclair User'' is published.<br />
* September: The 94th and final issue of ''Your Sinclair'' is published (not counting the 21 issues of ''Your Spectrum''). The closure effectively marks the end of what was left of the commercial life of the Spectrum.<br />
<br />
=== 2010 ===<br />
<br />
* Nine Tiles grant permission for the content of the ZX80 and ZX81 ROM to be distributed under the GNU General Public License, version 2 or later.<br />
<br />
== See also ==<br />
<br />
* [[Sinclair BASIC history]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Installing_SpecBAS_for_Windows&diff=2038
Installing SpecBAS for Windows
2020-05-10T13:24:18Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>[[category:Specbas]]<br />
<br />
A quick guide to getting the current version of SpecBAS up and running on Windows systems<br />
<br />
==Downloading SpecBAS for Windows==<br />
<br />
The current version of SpecBAS for Windows can be found at https://sites.google.com/site/pauldunn/SpecOS.zip<br />
<br />
The SpecOS.zip file contains the SpecBAS.exe file, bass.dll and the relevant source files.<br />
<br />
==Running SpecBAS for Windows==<br />
<br />
The current version of the SpecBAS.exe should run from any location you wish to keep it. It will require that the bass.dll file, included in the SpecOS folder, is installed or within the same directory.<br />
<br />
Upon fist execution, SpecBAS will create its working directory; \Documents and Settings\User\specbas . This folder is effectively the root folder for SpecBAS/SpecOS, where SpecBAS will load files from, and save files to. SpecBAS will be unaware of any files located outside of this folder.<br />
<br />
==Compiling your own version==<br />
All the source is available in the Windows .zip release for anyone wishing to compile SpecBAS using Delphi. The SpecBAS source files are also available [https://github.com/ZXDunny/SpecBAS from github], negating the need to download the binary when acquiring the latest source. The bass audio library is also available from https://www.un4seen.com/</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Installing_SpecBAS_for_Linux&diff=2037
Installing SpecBAS for Linux
2020-05-10T13:22:47Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>[[category:Specbas]]<br />
<br />
A quick guide to getting the current version of SpecBAS up and running on Linux systems<br />
<br />
==Downloading SpecBAS for Linux==<br />
<br />
The current version of SpecBAS for Linux can be found at http://reallyquick.co.uk/specbas/<br />
<br />
The SpecBAS_linux.tar.gz file contains the SpecBAS binary file, libbass.so and the relevant source files.<br />
<br />
==Running SpecBAS for Linux==<br />
<br />
To run the current version of SpecBAS, you will need to have the bass audio library installed. The easiest way to achieve this is to copy the libbass.so file, included in the SpecBAS_linux folder, to your /lib directory. The SpecBAS binary should then run from any location you wish to keep it.<br />
<br />
Upon first execution, SpecBAS will create its working directory; /home/user/specbas . This folder is effectively the root folder for SpecBAS/SpecOS, where SpecBAS will load files from, and save files to. SpecBAS will be unaware of any files located outside of this folder.<br />
<br />
==Compiling your own version==<br />
All the source is included in the Linux tarball for anyone wishing to compile SpecBAS for Linux using Lazarus. The SpecBAS source files are also available [https://github.com/ZXDunny/SpecBAS from github], negating the need to download the binary when acquiring the latest source. The bass audio library is also available from https://www.un4seen.com/</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=OpenSE&diff=2036
OpenSE
2020-05-10T13:19:49Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>An open source (GPLv2) replacement [[:category:ROMs|operating system ROM]] for the [[Timex 2000 series]] and [[ZX Spectrum|Sinclair ZX Spectrum]].<br />
<br />
== History ==<br />
SE Basic began development on July 5, 2000, when the first version of the Geneva Mono font was created. Since then development has ceased only to be restarted after a series of gaps of between one to four years. The project has gone from being a patch file through four different base assembly files, with development moving to different assemblers at different stages in development (ZASM, Pasmo, and GNU binutils), and from being a derivative of the original ROM to a complete open source replacement. Version 1 was released as a private beta in Januray 2006. Version 2, which added [[ULAplus]] support, was released as a public beta in February 2010. Version 3 was released as a public beta in May 2011.<br />
<br />
== External links ==<br />
<br />
* [https://sourceforge.net/projects/sebasic/ OpenSE BASIC]<br />
<br />
== Software Compatibility ==<br />
<br />
[[List of software titles and their compatibility with OpenSE]]<br />
<br />
[[Category:Sinclair BASIC]]<br />
[[Category:Software]]<br />
[[Category:ROMs]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Loading_routine_%22cores%22&diff=2035
Loading routine "cores"
2020-05-10T13:18:00Z
<p>Zub: Use Interwiki link</p>
<hr />
<div>This page documents the "core" of the loading routine used in the various turboloaders: the part of the loader which actually finds an edge from the tape.<br />
<br />
== ROM loader ==<br />
<br />
The basis for every loading routine out there, this is the one found in the Spectrum ROM (at 05ED). The <code>LD-SAMPLE</code> name is taken from Logan and O'Hara's ''The Complete Spectrum ROM Disassembly''.<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
RET NC<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This routine is used unchanged (just copied elsewhere in memory) by a large number of turboloaders, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=1196 Cybernoid] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=1235 Dan Dare].<br />
<br />
== Turboloaders ==<br />
<br />
The names given to each of these loading routines are not meant to imply that loaders was the first to use the specific loading loop; it is the most common usage of the loading loop, or just the first place that it was seen by the authors of this page.<br />
<br />
=== Speedlock ===<br />
<br />
The [[:wikipedia:Speedlock|Speedlock loader]], used in huge numbers of games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=1217 Daley Thompson's Decathlon] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=2259 Head over Heels].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This is essentially identical to the ROM loader, but just without the <code>RET NC</code> which aborts if space is pressed during the ROM loading routine.<br />
<br />
=== Alkatraz ===<br />
<br />
The Alkatraz loader, used in games like [https://spectrumcomputing.co.uk/index.php?cat=96&id=41 720&deg;] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=996 Cobra].<br />
<br />
LD-SAMPLE INC B<br />
JR NZ,LD-SAMPLE2<br />
JP <somewhere else><br />
LD-SAMPLE2 IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This again isn't that different from the ROM loader; the minor changes are:<br />
<br />
* Inverting the "no edge found" condition<br />
* Using a <code>JP</code> if an edge is not found rather than a <code>RET</code><br />
* Not setting the high byte of the <code>IN</code> - this isn't critical as it affects only which keyboard half-rows are scanned<br />
* Replacing the RET NC with a RET Z. I ''think'' this makes it essentially a no-op unless lots of keys are pressed at once.<br />
<br />
==== "Variant" Alkatraz ====<br />
<br />
A very close variant of the Alkatraz loader, seen only in three late era Spectrum games: [https://spectrumcomputing.co.uk/index.php?cat=96&id=1993 Gauntlet III], [https://spectrumcomputing.co.uk/index.php?cat=96&id=3567 Out Run Europa] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4421 Shadow Dancer].<br />
<br />
LD-SAMPLE INC B<br />
JR NZ,LD-SAMPLE2<br />
RET<br />
LD-SAMPLE2 IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This actually makes the Alkatraz routine closer to the original ROM code as it now uses a <code>RET</code> to exit in the "no edge found" case.<br />
<br />
=== Bleepload ===<br />
<br />
The [http://birdsanctuary.co.uk/bleepload/ Bleepload] routine, used in lots of Firebird games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=722 Bubble Bobble] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4867 Starglider 2].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
NOP<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This is just the ROM routine, but with the "space pressed" check explicitly replaced with a <code>NOP</code>.<br />
<br />
=== Microsphere ===<br />
<br />
Used in a few Microsphere games, for instance [https://spectrumcomputing.co.uk/index.php?cat=96&id=1055 Contact Sam Cruise] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4549 Skool Daze].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
AND A<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Another very close variant on the ROM loader, this time replacing the <code>RET NC</code> with the <code>NOP</code>-equivalent <code>AND A</code>.<br />
<br />
=== Paul Owens ===<br />
<br />
Used in some Ocean games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=903 Chase H.Q.].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Again just a one-byte change from the ROM loader, replacing the <code>RET NC</code> with Alkatraz's <code>RET Z</code>.<br />
<br />
=== Dinaload ===<br />
<br />
Used by Dinamic, for example in [https://spectrumcomputing.co.uk/index.php?cat=96&id=295 Astro Marine Corps] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=1863 Freddy Hardest en Manhattan Sur].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,FF<br />
IN A,(FE)<br />
RRA<br />
RET NC<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Yet another one-byte change from the ROM loader, this time ensuring that no keyboard half-rows are read, meaning the <code>RET NC</code> will never trigger.<br />
<br />
=== Search Loader ===<br />
<br />
Used in [https://spectrumcomputing.co.uk/index.php?cat=96&id=584 Blood Brothers] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=978 City Slicker].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,00<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
RET C<br />
NOP<br />
JR Z,LD-SAMPLE<br />
<br />
The first loader which is actually non-trivially different from the ROM loader. The changes here:<br />
<br />
* Setting the high byte of the <code>IN</code> to be zero - this causes every keyboard half-row to be read. This is unimportant as all five low bits are masked out later.<br />
* Dropping the <code>RRA</code> of the ROM loader - as we're not checking for any keys being pressed, no need to shift the byte around. This means the EAR bit stays in bit 6 rather than being shifted to bit 5 so the <code>AND</code> changes as well.<br />
* The <code>RET C</code> is a no-op as <code>AND</code> explicitly clears the carry flag.<br />
<br />
This code has fairly obviously been constructed to have exactly the same runtime as the ROM code, which explains the always failing <code>RET C</code> and <code>NOP</code> (which replaces the <code>RRA</code> of the ROM routine). All the variants which replace the <code>RET NC</code> with a <code>NOP</code> or similar actually have a different runtime as a failing conditional <code>RET</code> is the ''only'' Z80 instruction which takes 5 t-states.<br />
<br />
==== "Variant" Search Loader ====<br />
<br />
Used by some late era Gremlin games; so far seen only in [https://spectrumcomputing.co.uk/index.php?cat=96&id=2937 Lotus Esprit Turbo Challenge] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4660 Space Crusade].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
JR Z,LD-SAMPLE<br />
<br />
While this maintains the distinctive <code>AND 40</code> of the Search Loader, I suspect it's actually an independent derivation.<br />
<br />
=== Digital Integration ===<br />
<br />
Unsurprisingly enough, used by Digital Integration in some of their games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=305 ATF] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=5317 Tomahawk].<br />
<br />
LD-SAMPLE DEC B<br />
RET Z<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
JP Z,LD-SAMPLE<br />
<br />
This loader has two points of note: it inverts the counter (which just requires the flip of a condition outside this loop when working out whether it's a long or short pulse), and it's probably the minimal loop which is possible while still being anything even vaguely similar to the ROM loader.<br />
<br />
== Emulation ==<br />
<br />
[https://fuse-emulator.sourceforge.net/ Fuse] pattern matches for the above cores to implement its "accelerate loaders" feature.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Loading_routine_%22cores%22&diff=2034
Loading routine "cores"
2020-05-10T13:17:25Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>This page documents the "core" of the loading routine used in the various turboloaders: the part of the loader which actually finds an edge from the tape.<br />
<br />
== ROM loader ==<br />
<br />
The basis for every loading routine out there, this is the one found in the Spectrum ROM (at 05ED). The <code>LD-SAMPLE</code> name is taken from Logan and O'Hara's ''The Complete Spectrum ROM Disassembly''.<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
RET NC<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This routine is used unchanged (just copied elsewhere in memory) by a large number of turboloaders, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=1196 Cybernoid] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=1235 Dan Dare].<br />
<br />
== Turboloaders ==<br />
<br />
The names given to each of these loading routines are not meant to imply that loaders was the first to use the specific loading loop; it is the most common usage of the loading loop, or just the first place that it was seen by the authors of this page.<br />
<br />
=== Speedlock ===<br />
<br />
The [https://en.wikipedia.org/wiki/Speedlock Speedlock loader], used in huge numbers of games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=1217 Daley Thompson's Decathlon] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=2259 Head over Heels].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This is essentially identical to the ROM loader, but just without the <code>RET NC</code> which aborts if space is pressed during the ROM loading routine.<br />
<br />
=== Alkatraz ===<br />
<br />
The Alkatraz loader, used in games like [https://spectrumcomputing.co.uk/index.php?cat=96&id=41 720&deg;] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=996 Cobra].<br />
<br />
LD-SAMPLE INC B<br />
JR NZ,LD-SAMPLE2<br />
JP <somewhere else><br />
LD-SAMPLE2 IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This again isn't that different from the ROM loader; the minor changes are:<br />
<br />
* Inverting the "no edge found" condition<br />
* Using a <code>JP</code> if an edge is not found rather than a <code>RET</code><br />
* Not setting the high byte of the <code>IN</code> - this isn't critical as it affects only which keyboard half-rows are scanned<br />
* Replacing the RET NC with a RET Z. I ''think'' this makes it essentially a no-op unless lots of keys are pressed at once.<br />
<br />
==== "Variant" Alkatraz ====<br />
<br />
A very close variant of the Alkatraz loader, seen only in three late era Spectrum games: [https://spectrumcomputing.co.uk/index.php?cat=96&id=1993 Gauntlet III], [https://spectrumcomputing.co.uk/index.php?cat=96&id=3567 Out Run Europa] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4421 Shadow Dancer].<br />
<br />
LD-SAMPLE INC B<br />
JR NZ,LD-SAMPLE2<br />
RET<br />
LD-SAMPLE2 IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This actually makes the Alkatraz routine closer to the original ROM code as it now uses a <code>RET</code> to exit in the "no edge found" case.<br />
<br />
=== Bleepload ===<br />
<br />
The [http://birdsanctuary.co.uk/bleepload/ Bleepload] routine, used in lots of Firebird games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=722 Bubble Bobble] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4867 Starglider 2].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
NOP<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
This is just the ROM routine, but with the "space pressed" check explicitly replaced with a <code>NOP</code>.<br />
<br />
=== Microsphere ===<br />
<br />
Used in a few Microsphere games, for instance [https://spectrumcomputing.co.uk/index.php?cat=96&id=1055 Contact Sam Cruise] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4549 Skool Daze].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
AND A<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Another very close variant on the ROM loader, this time replacing the <code>RET NC</code> with the <code>NOP</code>-equivalent <code>AND A</code>.<br />
<br />
=== Paul Owens ===<br />
<br />
Used in some Ocean games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=903 Chase H.Q.].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
RRA<br />
RET Z<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Again just a one-byte change from the ROM loader, replacing the <code>RET NC</code> with Alkatraz's <code>RET Z</code>.<br />
<br />
=== Dinaload ===<br />
<br />
Used by Dinamic, for example in [https://spectrumcomputing.co.uk/index.php?cat=96&id=295 Astro Marine Corps] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=1863 Freddy Hardest en Manhattan Sur].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,FF<br />
IN A,(FE)<br />
RRA<br />
RET NC<br />
XOR C<br />
AND 20<br />
JR Z,LD-SAMPLE<br />
<br />
Yet another one-byte change from the ROM loader, this time ensuring that no keyboard half-rows are read, meaning the <code>RET NC</code> will never trigger.<br />
<br />
=== Search Loader ===<br />
<br />
Used in [https://spectrumcomputing.co.uk/index.php?cat=96&id=584 Blood Brothers] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=978 City Slicker].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,00<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
RET C<br />
NOP<br />
JR Z,LD-SAMPLE<br />
<br />
The first loader which is actually non-trivially different from the ROM loader. The changes here:<br />
<br />
* Setting the high byte of the <code>IN</code> to be zero - this causes every keyboard half-row to be read. This is unimportant as all five low bits are masked out later.<br />
* Dropping the <code>RRA</code> of the ROM loader - as we're not checking for any keys being pressed, no need to shift the byte around. This means the EAR bit stays in bit 6 rather than being shifted to bit 5 so the <code>AND</code> changes as well.<br />
* The <code>RET C</code> is a no-op as <code>AND</code> explicitly clears the carry flag.<br />
<br />
This code has fairly obviously been constructed to have exactly the same runtime as the ROM code, which explains the always failing <code>RET C</code> and <code>NOP</code> (which replaces the <code>RRA</code> of the ROM routine). All the variants which replace the <code>RET NC</code> with a <code>NOP</code> or similar actually have a different runtime as a failing conditional <code>RET</code> is the ''only'' Z80 instruction which takes 5 t-states.<br />
<br />
==== "Variant" Search Loader ====<br />
<br />
Used by some late era Gremlin games; so far seen only in [https://spectrumcomputing.co.uk/index.php?cat=96&id=2937 Lotus Esprit Turbo Challenge] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=4660 Space Crusade].<br />
<br />
LD-SAMPLE INC B<br />
RET Z<br />
LD A,7F<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
JR Z,LD-SAMPLE<br />
<br />
While this maintains the distinctive <code>AND 40</code> of the Search Loader, I suspect it's actually an independent derivation.<br />
<br />
=== Digital Integration ===<br />
<br />
Unsurprisingly enough, used by Digital Integration in some of their games, for example [https://spectrumcomputing.co.uk/index.php?cat=96&id=305 ATF] and [https://spectrumcomputing.co.uk/index.php?cat=96&id=5317 Tomahawk].<br />
<br />
LD-SAMPLE DEC B<br />
RET Z<br />
IN A,(FE)<br />
XOR C<br />
AND 40<br />
JP Z,LD-SAMPLE<br />
<br />
This loader has two points of note: it inverts the counter (which just requires the flip of a condition outside this loop when working out whether it's a long or short pulse), and it's probably the minimal loop which is possible while still being anything even vaguely similar to the ROM loader.<br />
<br />
== Emulation ==<br />
<br />
[https://fuse-emulator.sourceforge.net/ Fuse] pattern matches for the above cores to implement its "accelerate loaders" feature.</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Meta:Interwiki_Map&diff=2033
Meta:Interwiki Map
2020-05-10T13:09:16Z
<p>Zub: Add examples</p>
<hr />
<div>==Current interwiki map==<br />
<br />
The following Interwiki link prefixes are available, in addition to the standard Interwiki links, such as Wikipedia:ru for Russian Wikipedia.<br />
<br />
{| class="plainlinks wikitable sortable"<br />
! Prefix !! Target URL !! Example<br />
|-<br />
| CPCWiki || https://www.cpcwiki.eu/index.php/$1 || [[:CPCWiki:CPC]]<br />
|-<br />
| SpeccyWiki || https://speccy.info/$1 || [[:SpeccyWiki:ZX Spectrum]]<br />
|-<br />
| Scratchpad || https://scratchpad.fandom.com/wiki/$1 || [[:Scratchpad:Template:SinclairFAQ]]<br />
|}</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=ULAplus&diff=2032
ULAplus
2020-05-10T13:01:14Z
<p>Zub: Simplify use of CC-BY-SA-techwiki</p>
<hr />
<div>[[Category:Hardware]]<br />
[[Category:Spectrum]]<br />
[[Category:Video]]<br />
The ULAplus specification describes an enhanced ULA for the ZX Spectrum. It can be implemented as a plug-in replacement for the ULA, in emulators, or in modern hardware such as the ZX Spectrum Vega. It is designed for maximum compatibility with existing software. This information supersedes all existing versions of the specification, including those with later version numbers.<br />
<br />
The final official version of the specification is version 1.1. <br />
<br />
==Revision History==<br />
<br />
'''Version 1.1'''<br />
<br />
Revised for the release of ZXDS 1.3 incorporating changes from the OpenCores ULAplus implementation. This version rationalizes the specification. Software written for the standard mode of the new specification will run unmodified on earlier implementations.<br />
<br />
* Includes the Timex video modes (optional)<br />
* Changes the preferred way of multiplexing the 2-bit blue value to obtain a 3-bit blue value.<br />
* Adds 256 grayscale support (optional)<br />
* Deprecates HSL and CMYK support<br />
<br />
'''Version 1.0'''<br />
<br />
First published version of the specification.<br />
<br />
==I/O ports==<br />
ULAplus is controlled by two ports.<br />
<br />
[[ZXI_standard|0xBF3B]] is the register port (write only)<br />
<br />
The byte output will be interpreted as follows:<br />
<br />
<pre>Bits 0-5: Select the register sub-group<br />
Bits 6-7: Select the register group. Two groups are currently available:<br />
<br />
00 - palette group<br />
<br />
When this group is selected, the sub-group determines the<br />
entry in the palette table (0-63).<br />
<br />
01 - mode group<br />
<br />
The sub-group is (optionally) used to mirror the video functionality of Timex port #FF as follows:<br />
<br />
Bits 0-2: Screen mode. 000=screen 0, 001=screen 1, 010=hi-colour, 110=hi-res (bank 5)<br />
100=screen 0, 101=screen 1, 011=hi-colour, 111=hi-res (bank 7)<br />
Bits 3-5: Sets the screen colour in hi-res mode.<br />
000 - Black on White 100 - Green on Magenta<br />
001 - Blue on Yellow 101 - Cyan on Red<br />
010 - Red on Cyan 110 - Yellow on Blue<br />
011 - Magenta on Green 111 - White on Black</pre><br />
<br />
[[ZXI_standard|0xFF3B]] is the data port (read/write)<br />
<br />
When the palette group is selected, the byte written will describe the color.<br />
<br />
When the mode group is selected, the byte output will be interpreted as follows:<br />
<br />
<pre>Bit 0: ULAplus palette on (1) / off (0)<br />
1: (optional) grayscale: on (1) / off (0) (same as turing the color off on the television)</pre><br />
<br />
Implementations that support the Timex video modes use the #FF register as the primary means to set the video mode, as per the Timex machines. It is left to the individual implementations to determine if reading the port returns the previous write or the floating bus.<br />
<br />
===GRB palette entries===<br />
[[File:ULAplus_rgb.png|frame|G3R3B2 encoding]]<br />
For a device using the GRB colour space the palette entry is interpreted as follows<br />
<pre>Bits 0-1: Blue intensity.<br />
Bits 2-4: Red intensity.<br />
Bits 5-7: Green intensity.</pre><br />
<br />
This colour space uses a sub-set of 9-bit GRB. The missing lowest blue bit is set to OR of the other two blue bits (Bb becomes 000 for 00, and Bb1 for anything else). This gives access to a fixed half the potential 512 colour palette. The reduces the jump in intensity in the lower range in the earlier version of the specification. It also means the standard palette can now be represented by the ULAplus palette.<br />
<br />
===Grayscale palette entries===<br />
In grayscale mode, each palette entry describes an intensity from zero to 255. This can be achieved by simply removing the colour from the output signal.<br />
<br />
===Limitations===<br />
<br />
Although in theory 64 colours can be displayed at once, in practice this is usually not possible except when displaying colour bars, because the four CLUTs are mutually exclusive; it is not possible to mix colours from two CLUTs in the same cell. However, with software palette cycling it is possible to display all 256 colours on screen at once.<br />
<br />
== Emulation ==<br />
The 64 colour mode lookup table is organized as 4 palettes of 16 colours.<br />
<br />
Bits 7 and 6 of each Spectrum attribute byte (normally used for FLASH and BRIGHT) will be used as an index value (0-3) to select one of the four colour palettes.<br />
<br />
Each colour palette has 16 entries (8 for INK, 8 for PAPER). Bits 0 to 2 (INK) and 3 to 5 (PAPER)&nbsp;of the attribute byte will be used as indexes to retrieve colour data from the selected palette.<br />
<br />
With the standard Spectrum display, the BORDER colour is the same as the PAPER colour in the first CLUT. For example BORDER 0 would set the border to the same colour as PAPER 0 (with the BRIGHT and FLASH bits not set). <br />
<br />
The complete index can be calculated as<br />
ink_colour = (FLASH * 2 + BRIGHT) * 16 + INK<br />
paper_colour = (FLASH * 2 + BRIGHT) * 16 + PAPER + 8<br />
When scaling 3-bits of colour data to more bits for emulators that operate in high colour mode, simply concatenate the bits repeatedly and then truncate to as many bits as needed. For example, for 8-bits the following conversion should be used:<br />
76543210<br />
hmlhmlhm<br />
where h is the high bit, m is the middle bit, and l is the low bit of the original 3-bit value.<br />
<br />
=== Extension to the ZX-State (SZX) format ===<br />
<br />
This is now documented on the [[ZX-State format#ZXSTPALETTE|ZX-State format]] page itself.<br />
<br />
=== Extension to the SCR format ===<br />
A 6912 byte .SCR file contains a standard Spectrum screen.<br />
<br />
A 6976 byte .SCR file contains a standard Spectrum screen followed by 64 colour registers.<br />
<br />
A 12288 byte .SCR file contains a Timex hi-colour screen.<br />
<br />
A 12352 byte .SCR file contains a Timex hi-colour screen followed by 64 colour registers.<br />
<br />
A 12289 byte .SCR file contains a Timex hi-res screen.<br />
<br />
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.<br />
<br />
=== Palette file format ===<br />
<br />
The palette format doubles as the BASIC patch loader. This enables you to edit patches produced by other people.<br />
<br />
<pre><br />
; 64 colour palette file format (internal) - version 1.0<br />
; copyright (c) 2009 Andrew Owen<br />
;<br />
; The palette file is stored as a BASIC program with embedded machine code<br />
<br />
header:<br />
<br />
db 0x00 ; program file<br />
db 0x14, 0x01, "64colour" ; file name<br />
dw 0x0097 ; data length<br />
dw 0x0000 ; autostart line<br />
dw 0x0097 ; program length<br />
<br />
basic:<br />
<br />
; 0 RANDOMIZE USR ((PEEK VAL "2<br />
; 3635"+VAL "256"*PEEK VAL "23636"<br />
; )+VAL "48"): LOAD "": REM<br />
<br />
db 0x00, 0x00, 0x93, 0x00, 0xf9, 0xc0, 0x28, 0x28<br />
db 0xbe, 0xb0, 0x22, 0x32, 0x33, 0x36, 0x33, 0x35<br />
db 0x22, 0x2b, 0xb0, 0x22, 0x32, 0x35, 0x36, 0x22<br />
db 0x2a, 0xbe, 0xb0, 0x22, 0x32, 0x33, 0x36, 0x33<br />
db 0x36, 0x22, 0x29, 0x2b, 0xb0, 0x22, 0x34, 0x38<br />
db 0x22, 0x29, 0x3a, 0xef, 0x22, 0x22, 0x3a, 0xea<br />
<br />
start:<br />
<br />
di ; disable interrupts<br />
ld hl, 38 ; HL = length of code<br />
add hl, bc ; BC = entry point (start) from BASIC<br />
ld bc, 0xbf3b ; register select<br />
ld a, 64 ; mode group<br />
out (c), a ;<br />
ld a, 1 ;<br />
ld b, 0xff ; choose register port<br />
out (c), a ; turn palette mode on<br />
xor a ; first register<br />
<br />
setreg:<br />
<br />
ld b, 0xbf ; choose register port<br />
out (c), a ; select register<br />
ex af, af' ; save current register select<br />
ld a, (hl) ; get data<br />
ld b, 0xff ; choose data port<br />
out (c), a ; set it<br />
ex af, af' ; restore current register<br />
inc hl ; advance pointer<br />
inc a ; increase register<br />
cp 64 ; are we nearly there yet?<br />
jr nz, setreg ; repeat until all 64 have been done<br />
ei ; enable interrupts<br />
ret ; return<br />
<br />
; this is where the actual data is stored. The following is an example palette.<br />
<br />
registers:<br />
<br />
db 0x00, 0x02, 0x18, 0x1b, 0xc0, 0xc3, 0xd8, 0xdb ; INK<br />
db 0x00, 0x02, 0x18, 0x1b, 0xc0, 0xc3, 0xd8, 0xdb ; PAPER<br />
db 0x00, 0x03, 0x1c, 0x1f, 0xe0, 0xe3, 0xfc, 0xff ; +BRIGHT<br />
db 0x00, 0x03, 0x1c, 0x1f, 0xe0, 0xe3, 0xfc, 0xff ;<br />
db 0xdb, 0xd8, 0xc3, 0xc0, 0x1b, 0x18, 0x02, 0x00 ; +FLASH<br />
db 0xdb, 0xd8, 0xc3, 0xc0, 0x1b, 0x18, 0x02, 0x00 ;<br />
db 0xff, 0xfc, 0xe3, 0xe0, 0x1f, 0x1c, 0x03, 0x00 ; +BRIGHT/<br />
db 0xff, 0xfc, 0xe3, 0xe0, 0x1f, 0x1c, 0x03, 0x00 ; +FLASH<br />
<br />
terminating_byte:<br />
<br />
db 0x0d <br />
</pre><br />
<br />
==Software==<br />
<br />
A rapidly growing collection of software is available including a palette editor, palette files to re-colour existing games, a 6-bit RGB colour extension to CP/M plus, a slideshow of converted Commodore 64 hi-res pictures, and brand new games, all of which can be found at [https://sites.google.com/site/ulaplus/home].<br />
<br />
The palette editor enables you to create a palette for use with existing software without needing to rewrite the software. You can save the palette and load it before loading the original software as normal. In this way all existing software can be re-coloured without any programming knowledge required.<br />
<br />
An introduction to using the ULAplus palette from BASIC is also available [https://sites.google.com/site/ulaplus/documentation/guide-to-using-ulaplus/UsingtheULAplus64colourmodefromSinclairBasic.pdf]<br />
<br />
{{CC-BY-SA-techwiki|ZX Spectrum 64 Colour Mode}}</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Template:CC-BY-SA-techwiki&diff=2031
Template:CC-BY-SA-techwiki
2020-05-10T13:00:32Z
<p>Zub: Use link text as article name by default</p>
<hr />
<div>== Article license information ==<br />
<br />
This article uses material from the "[[:Scratchpad:{{{2|{{{1}}}}}}|{{{1}}}]]" article on the [[:Scratchpad:ZX Spectrum technical information|ZX Spectrum technical information wiki]] at [https://www.fandom.com/ Fandom] (formerly Wikia) and is released under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike License].<br />
<br />
<noinclude><br />
Parameters:<br />
# Article name<br />
# URL-encoded article path<br />
<br />
Eg: <nowiki>{{CC-BY-SA-techwiki|Contended memory|Contended_memory}}</nowiki><br />
</noinclude><br />
<!-- We should be using {{{2|{{#replace:{{{1}}}||_}}}}} {{{1}}} --></div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Template:CC-BY-SA-techwiki&diff=2030
Template:CC-BY-SA-techwiki
2020-05-10T12:58:13Z
<p>Zub: /* Article license information */ Oops</p>
<hr />
<div>== Article license information ==<br />
<br />
This article uses material from the "[[:Scratchpad:{{{2}}}|{{{1}}}]]" article on the [[:Scratchpad:ZX Spectrum technical information|ZX Spectrum technical information wiki]] at [https://www.fandom.com/ Fandom] (formerly Wikia) and is released under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike License].<br />
<br />
<noinclude><br />
Parameters:<br />
# Article name<br />
# URL-encoded article path<br />
<br />
Eg: <nowiki>{{CC-BY-SA-techwiki|Contended memory|Contended_memory}}</nowiki><br />
</noinclude><br />
<!-- We should be using {{{2|{{#replace:{{{1}}}||_}}}}} {{{1}}} --></div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Template:CC-BY-SA-techwiki&diff=2029
Template:CC-BY-SA-techwiki
2020-05-10T12:57:59Z
<p>Zub: Use Interwiki links</p>
<hr />
<div>== Article license information ==<br />
<br />
This article uses material from the "[[:Scratchpad:{{{2}}}|{{{1}}}]" article on the [[:Scratchpad:ZX Spectrum technical information|ZX Spectrum technical information wiki]] at [https://www.fandom.com/ Fandom] (formerly Wikia) and is released under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike License].<br />
<br />
<noinclude><br />
Parameters:<br />
# Article name<br />
# URL-encoded article path<br />
<br />
Eg: <nowiki>{{CC-BY-SA-techwiki|Contended memory|Contended_memory}}</nowiki><br />
</noinclude><br />
<!-- We should be using {{{2|{{#replace:{{{1}}}||_}}}}} {{{1}}} --></div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=Sinclair_Wiki:Copyrights&diff=2028
Sinclair Wiki:Copyrights
2020-05-10T12:54:08Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>Everything placed on this wiki should be considered to be licensed under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Sharealike License], version 3.0 (CC BY-SA 3.0).<br />
<br />
Please only post material that you have written yourself or that you have permission from the author to license under CC-BY-SA.<br />
<br />
When copying from the tech info wiki use the template [[:Template:CC-BY-SA-techwiki]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=File:Speccy2010_r2_top.jpg&diff=2027
File:Speccy2010 r2 top.jpg
2020-05-10T12:49:55Z
<p>Zub: Let's use HTTPS!</p>
<hr />
<div>The Speccy2010 circuit board. Image source - https://code.google.com/p/speccy2010/</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=User:Guesser&diff=2026
User:Guesser
2020-05-10T12:34:44Z
<p>Zub: Use HTTPS</p>
<hr />
<div>I post on the World of Spectrum forums, comp.sys.sinclair, and am on irc most of the time in the coldfront.net #speccy, #spin and #zx channels.<br />
<br />
I have a [https://zxnet.co.uk/ website] that includes some Sinclair stuff, including my [https://zxnet.co.uk/spectrum/flash/ plug in flash ROM board] and the [https://zxnet.co.uk/spectrum/schematics redrawn schematics] for the [[ZX Spectrum +2A/2B, +3/3B|Spectrum +2A/+3, +2B, and +3B]]</div>
Zub
https://sinclair.wiki.zxnet.co.uk/w/index.php?title=CP/M&diff=2025
CP/M
2020-05-10T12:25:30Z
<p>Zub: Add some initial info</p>
<hr />
<div>CP/M is an operating system developed by Digital Research, Inc., originally released in 1974.<br />
<br />
The [[ZX Spectrum +3]] included CP/M support in ROM. The version included is CP/M Plus, which provides compatibility for programs written for the older CP/M 2.2, matching that provided by the [[:wikipedia:Amstrad CPC|Amstrad CPC]].<br />
<br />
CP/M 2.2 compatibility was available for the [[SAM Coupé]] using [[Pro-Dos]]. This did not license the original CP/M code, but was a reimplementation of the interfaces provided by CP/M.<br />
<br />
== External link ==<br />
* [[:wikipedia:CP/M|CP/M article on Wikipedia]]<br />
<br />
[[category:software]]<br />
[[category:Native Software]]</div>
Zub