ITT 2020

The ITT 2020 was an Apple II computer clone manufactured by ITT under license from Apple Computer (the first licensed clone), specifically for the European market. In the Benelux, it was distributed by Bell Telephone mfg. company. It was distributed in the United Kingdom by Microsense Computer Limited.

ITT 2020 Microcomputer

The major difference, and the reason ITT believed this personal computer would be a success, was that the color video signal conformed to the European PAL standard, rather than the American NTSC standard. This meant color graphics could be viewed using a standard European monitor or TV set, rather than having to import an NTSC monitor from America or Japan as was the case with the Apple II. ITT sold this computer for a few years, starting in 1979. When Apple Computer started shipping the Apple II Europlus, ITT withdrew from the market, although the Europlus did not support color.

ITT also supplied a 140kB single-sided floppy disk drive that was identical to the Apple II disk drive, supporting 13 sectors under DOS 3.2 on a 5 14-inch (133 mm) floppy disk. They never supplied the upgraded 360kB double-sided double density drive supporting 16 sectors under DOS 3.3.

Other changes[1]

  1. A 220 V 50 Hz Power Supply manufactured by ITT themselves
  2. The case was spray-painted a matte silver color, and the keyboard was black.
  3. The ITT 2020 used a higher clock frequency, necessary for the PAL signal. A 17.73 MHz crystal was used (Four times the PAL subcarrier frequency of 4.433 MHz), whereas the Apple II used a 14.318 crystal- four times the NTSC subcarrier frequency of 3.58 MHz. In the ITT 2020, the crystal frequency was divided by 17 to give the microprocessor a clock frequency of 1.042 MHz. In the Apple II, the frequency was divided by 14 to give a microprocessor clock frequency of 1.023 MHz.[2]
  4. The slots in the back of the casing were smaller, making it extremely difficult to install some expansion cards.
  5. On later versions of the ITT2020, the reset switch only worked in combination with the Control key. This was done to avoid the many accidental resets earlier (and Apple II) users complained about.
  6. The 4th annunciator output was not supported. The I/O addresses (0xC05E and 0xC05F) Apple used for this output were used by ITT to bank-switch the extra RAM chip.
  7. The third button on the game connector was not supported, as ITT used the I/O address of this input (0xC063) to read the extra RAM.
  8. The bug in the ONERR GOTO routine in the Apple II that required users to BLOAD a patch, was resolved in the ITT 2020.
  9. Some users reported a bug in the XDRAW routine, causing strange shapes to appear under certain circumstances.
  10. The DOS ITT supplied with the 2020 was Apple DOS 3.2. However a catalog listing showed Basic programs as type 'P' (for PALSoft) rather than type 'A' (for Applesoft)

Consequences

Any Apple II program using graphics had problems on the ITT 2020. Only programs written specifically for the ITT 2020 could make proper use of the Hi-res graphics, with horizontal co-ordinates of up to 359, rather than the 279 maximum of the Apple II

  • If the program used the Applesoft Basic graphic commands in ROM, the image would appear squashed- circles would appear as ellipses and squares as rectangles.
  • If the program accessed the video memory directly (and many did, for faster performance), 40 white or black vertical lines would appear through the image due to the 9th bit not being set.
  • Programs using the HPLOT command with multiple parameters did not work properly.
  • The colors were different to those on the Apple II in both hi-res and lo-res modes. In lo-res mode, some colors were not available.
  • Programs using the missing annunciator output or missing switch input did not work.
  • Because of the difference in clock frequency, programs on the ITT 2020 (without graphics) ran 2% faster (benchmark tests confirmed this).
  • Programs that automatically loaded the patch for the ONERR GOTO bug would crash if an error occurred, as this bug was already fixed.
  • Programs making system calls to subroutines in ROM would sometimes crash because some entry points had changed.
  • BSAVE and BLOAD of graphics images did not work, as the 9th bit was not included in the file.
  • The Hi-res routines in Apple's Programmers Aid did not work.
  • The different timing signals made some peripherals and expansion cards malfunction.

ITT eventually released a technical note with an assembly language program that allowed users to load and save hi-res images.

Graphics

Differences with the Apple II

The most significant difference between the ITT 2020 and the Apple II is the Hi-res graphics resolution. ITT increased the horizontal resolution from the 280 pixels the Apple II used, to 360 pixels. The vertical resolution however, remained the same. This made many Apple II programs incompatible with this computer.

The higher resolution was a necessary consequence of the higher frequency of the PAL color subcarrier. In order to provide enough bits to the video shift register to generate the higher PAL subcarrier frequency, 9 bits per memory location were needed, rather than the 7 bits the Apple II used. To achieve this, an extra 16Kx1 memory chip was added to the motherboard, which added a 9th bit to the Hires memory pages (0x2000 to 0x5FFF). This made it necessary to modify the graphics routines in Apple's Applesoft Basic interpreter in ROM (product 341-0021 to 341-0025). To emphasize this difference, ITT called this "PALSOFT".

To make room for the longer graphics routines (manipulating the 9th bit required extra code), the HPLOT instruction was limited to a single parameter, rather than a string of parameters.

Accessing the 9th Bit

The extra RAM chip was basically a write-only memory: data was written to the chip by software, but read out by the video generation hardware. The data input of the chip was wired to the data input of the 8th bit (the MSB) of the main video memory and was therefore equal to this 8th bit during a write operation. By enabling the extra chip, the same data would be saved in the 9th bit as in the 8th bit.

For example, in order to set the word of memory location 'HiresLoc' to 0b110100101, the following routine is necessary:

          LDA $C05E         ; enable the extra RAM chip
          LDA #$80          ; set MSB to 1
          STA HiresLoc      ; save data to both bit 8 and bit 9
          LDA $C05F         ; disable extra RAM chip
          LDA #11010010     ; load the remainder of the data
          STA HiresLoc      ; save to main memory, but 9th bit remains set.

To change only the 9th bit requires even more programming:

          LDA HiresLoc  ; read bits 1-8
          PHA           ; store on stack
          LDA $C05E     ; enable the extra RAM chip
          LDA #0        ; bit 9 must become 0
          STA HiresLoc  ; but bits 1-8 are also changed
          LDA $C05F     ; so disable extra RAM chip
          PLA           ; retrieve data from stack
          STA HiresLoc  ; and put the old value back in 1-8

It is possible to read the 9th bit when this is necessary, for instance, to save a Hires image to disk.

This is achieved as follows:

         LDA HiresLoc ; read address
         LDA $C063    ; MSB of this address is value of bit 9 of last address read in
         BPL notset   ; branch if bit is zero

Hires conversion board

Hires Conversion board for the ITT 2020

The bitmap graphics compatibility with the Apple II could be improved by installing a third party Hires conversion board.

When enabled this board removes the video artifacts caused by programs ignoring the 9th bit. This significantly improves compatibility with software intended for the original Apple II manipulating graphics memory directly. However even with this board enabled the colors still differ from the original Apple II.

When using PALSOFT BASIC commands for drawing Hi-res graphics, the Hires conversion board should be disabled to see the graphics as intended.

gollark: I had to add a fallback copy of potatOS and associated libraries on my website in case of them doing it on a server I want to use it on.
gollark: Pastebin loves randomly blocking people.
gollark: I actually had to mirror potatOS onto my server because of some technical errors™ on pastebin's end.
gollark: creativity 1010101010
gollark: haha yes

References

  1. Thanks to H.F. van Rietschote, who wrote an article in Databus Magazine on this subject
  2. ITT 2020 Service Training Manual
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.