Bug alert for Aerco CP-ZX ver 2.2 centronics interface. Review of JLO Video Upgrade Project (TMS9918A).
Hardware User Report: JLO Video Upgrade Project
Just what sort of peripheral is this video project? Let me begin with a sweeping analogy: the Video Upgrade Project is just like a video monitor, a disk interface, or a full-size printer. Once you hook up a monitor and get used to it, the old TV set just won’t do anymore. When you get a disk drive, you madly transfer all your software, and then avoid cassettes like the plague. When you get a real printer, the 2040 generally becomes a hi-tech paperweight.
Likewise, after having the Video Project (VP from here on) for a couple months, I loathe going back to the flashing, flickering snail’s pace of ‘normal’ video which I have lived with for so long,
What Is It?
Remember the ill-fated Kolorworks board, and the ColorSin81? Both were color video boards for the ZX81, which never really hatched due to various impracticalities. The JLO VP surpasses both. It is elegantly simple, thus economical. The firmware integration to BASIC reflects the sane qualities, and is virtually transparent to 99% of existing software.
The VP consists of 2 circuit boards which plug into the back of your computer. These boards have a male edge connection only, and are meant to plug into a motherboard.
Video board ‘A’ holds a Texas Instruments TMS9918A Video Display Processor, 16K of dedicated video RAM, and one decoder chip. This video RAM does not occupy any of the Z80’s address space: the Z80 communicates with the VDP and video RAM through I/O ports 3F and 7F.
Video board ‘B’ has sockets for two 2764 (8K) EPROMs and 4 decoder chips. EPROM ‘A’ is mapped to the 0-8K area, and overrides the internal ROM in your computer. It is identical to the ZX BASIC ROM, except for the parts which deal with generating a video display. All the real work is now done by the VDP. The Z80 just sends it the necessary data and is free from the actual task of generating video.
What Does It Do?
Two advantages which are immediately apparent are speed, and continuous display. In SION mode, the computer is non almost as fast as in FAST mode. In fact, it can be difficult to tell which mode you’re in at times. In FAST mode, the display doesn’t go blank. It just remains static until you come to a PAUSE, INPUT, or SLOW command.
There is absolutely no screen ‘jump’, flashing, or flickering, at all, In either SLOW or FAST mode. Entering and editing BASIC programs is a real pleasure, especially in FAST mode.
The old screen reformatting games of the ZX81 are gone! When you Enter a line, it simply (zap) appears in the listing.
LOAD and SAVE are rather interesting. When you enter a LOAD or SAVE command in FAST mode, the command stays on the screen through the tape operation. SAVE and LOAD activity is shown by the border rapidly flashing through a sequence of 16 colors! The effect is similar to that of the 2068 LOAD and SAVE patterns.
How about software compatibility, kit building details, and the bottom line?
Software Compatibility
As mentioned, the JLO VP is compatible with just about all software. The main exceptions are fast machine code arcade gates, like Frogger, Pac Rabbit, etc. They run, but so fast they’re generally impossible to play. By the same token, some games that mind boringly slow before are now a real challenge. Psion Flight Simulator now responds like a jet fighter rather than a Cessna. Mazogs is simply a hoot.
BASIC programs with lots of calculations or plotting really benefit, too. The only software I have found that’s truly incompatible with the VP uses software-only means to simulate hi-res with the standard machine, or tries to peek the character generator of the RMM to get pattern data. This includes games like Forty Niner, Sea Mines, and ZXtricator, and utilities like N. Elmaleh’s SW HI RES and Callisto‘s Graphica. You simply have to unplug the video boards and use standard video for these programs.
Caveats, The Bottom Line, Etc.
The Video Project, at the name implies, is available only in kit form. You may purchase either just the bare circuit boards with instructions, or get an (almost) complete kit of parts. For $48.96 U.S., you can get both boards and all parts except for the actual VDP chip and its crystal. The TMS9918A VDP chip is available from several parts suppliers at widely varying prices.
The kit instructions are complete and reasonably clear, but I really can’t recommend this as a first-time project for the prospective kit builder. You must be able to do very fine soldering on these circuit boards, and some familiarity with good electronic assembly and soldering practices is truly an asset. My only complaint is that, for economy’s sake, the feed through holes on the double-sided circuit boards are not plated through. This leans you must solder in a healthy number of tiny tire feed through conductors before mounting any parts on the circuit boards. Believe me, this is a tedious and time consuming task, after which soldering the actual parts in place is a breeze.
A minor modification must be done inside your computer to permit functioning of the VP. The NMI link between the ULA and the CPU must be cut, and a diode and resistor added. This is very simple to do, and does not affect the normal operation of the computer. This mod is such easier to do on the older Issue 1 ZX81 boards than on the later Issue 3 layout.
Last but not least, you must supply and program your own 2764 EPROM for the modified operating system. Mr. Oliger will supply a tape for his 2764 programmer, which contains the necessary code and will automatically program your new EPROM. Most of the code is gotten from your resident ROM, so if you have, for example, Tom Bent’s 8K ROM UPGRADE, all the improvements in it will also appear in your new video ROM.
John Oliger has kindly put his operating code in the public domain.
Advanced Features
So far, we’ve discussed only how compatible the VP is with existing software. By executing certain RAND USR commands, you can choose between normal ZX characters, or lower case instead of inverse on the screen.
The old system variable MARGIN is now the COLOR system variable: you can poke different values to this address to select INK and PAPER from16 different colors. That’s the limit of the extra commands available from BASIC, but by using machine code to communicate with the VDP, it is capable of 32, 40, or 64 column screens, true hi-res color graphics which are in most respects superior to 2068 graphics capabilities, and real sprites, definable on 32 different planes!
In addition to this, the VP removes virtually all the funny display-dependent limitations of the machine. Minor modifications will permit machine code to run anywhere in 64K, and even Mode 2 interrupts can be used. For machine code programmers, the IX register is now available for use, and the R register is used in the normal Z80 fashion.
No limitations exist on the location of DF1LE in RAM, and ‘illegal’ characters (i.e. tokens) can even be poked into the DFILE without causing a crash. Since the character patterns are stored in video RAM rather than in ROM, it it possible to have programs load in with user-defined character sets, excellent for games and word processors. I’m now running Word Sinc 11.5 with upper and lower case onscreen, as well as special symbols for control characters.
Prospective software support is exciting, too: Silicon Mountain Software now have a tape version of Memotext with a 64 col. onscreen viewing option, as well as a 64-col. hi res color extended BASIC for release in the not too distant future. And Callisto Software till be producing an exotic graphics toolkit for use with BASIC, as well as a hi-res screen, color version of Sinc-Artist.
In Conclusion
The JLO Video Upgrade Project is an extremely well conceived and executed product. For the ZX81/TS1000 hobbyist, this is an excellent opportunity. It gives you speed and video capabilities at least equal to the 2068 (the video is actually MUCH more stable), and improves the performance of most existing software.