ZX81 ULA Replacement. Installing the ULA

Similar documents
Colecovision 5v Memory Mod Installation

Quicksilver 606 TR-606 CPU Upgrade

Assembly Instructions CT-E Screen Read Board

Advanced Strobe 1.0 Kit

MACRO MODCHIP FOR XBOX360 CG2 INSTALLATION INSTRUCTIONS

Lab 0: Wire Wrapping Project: Counter Board

Construction Construction Instructions

ARRL ETP Solder Hour Clock Kit Construction Manual

OpenSprinkler v2.2u Build Instructions

LED Knight Rider. Yanbu College of Applied Technology. Project Description

The GENIE Light Kit is ideal for introducing simple lighting projects, such as an electronic die, a wearable badge or a night-time warning system.

Manual Version March 2007

Introduction 1. Liquid crystal display (16 characters by 2 rows) Contrast dial: turn the dial to adjust the contrast of the display (see page 5)

CPU fan has a power connector which needs to be connected to CPU fan power socket on your motherboard as shown on the image above.

Panasonic DMP-BD60/BD80

How to add a chip socket into your chipable ECU

Audio Enhanced Touch Sensors Build Instructions

COS 116 The Computational Universe Laboratory 7: Digital Logic I

Modem Installation and Networking Instructions

Uzebox Kit Assembly Guide

Reflowing Xbox 360 Motherboard

Little Screamerv2.0. Stripped-back, bufferless Tube Screamer

Arduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut

EE 354 August 1, 2017 Assembly of the AT89C51CC03 board

Ca Bling! Pacificon 2011 Norcal Buildathon Project

Phillips Screwdriver. Some C-128's may need a TORX ("star" point) driver (size T10)f available at Sears, and other hardware and automotive stores.

Panasonic DMP-BD35/BD55

Upgrading a 2U CHP to an i7 Quad Core SBC

Part 2: Building the Controller Board

Uzebox Kit Assembly Guide

Roger P. Ries, W9FIU Ries Labs, Inc Raven Road Farina, IL Phone:

Test ROM for Zaccaria 1B1165 CPU Board

How To: Replace the ZX Spectrum 48 ROM with an EPROM By: Marcelo (inspired by an article in spanish Microhobby #79, p22)

Creep Cluster Build Document. V5 - November 2018

H89-Z37 DOUBLE-DENSITY FLOPPY CONTROLLER

Hauptwerk Hardware 2016

Plasma Panel Replacement Guide DU-42PX12X

Written By: Andrea Giannone

QUASAR KIT No DIGITAL DOWN TIMER 99 MIN WITH PIC

Robocolor II System. users guide

Shack Clock kit. U3S Rev 2 PCB 1. Introduction

OpenSprinkler v2.1u Build Instructions

Cherub Chorus. Wobbly fun based on Rick Holt s Little Angel

KK1L 2x6 Antenna Switch Relay Controller / Dual Band Decoder Basic Assembly Version 4.8 (new 24-Aug-2009) Parts List updated 19-AUG-2016

BS2p40tm OEM Module. Surface mount/through hole kit By Robert L. Doerr. Manual Revision.5

Digital Circuits. Page 1 of 5. I. Before coming to lab. II. Learning Objectives. III. Materials


Elecraft K3 KPA3 Power Connector Replacement Revision B, June 30, 2017 Copyright 2017, Elecraft, Inc. All Rights Reserved

INSTALLATION INSTRUCTIONS

Lesson 5: Verifying RAMs with the Fluke 9010A Version 1.03

UF-3701 Power Board Construction Guide

When you are ready to build your computer you will have the following materials to work with.

Advanced Lantern 1.0 Kit. Introduction to the Advanced Lantern 1.0 Kit

HOW TO ADD TWO USB PORTS TO LINKSYS WRT54GS Ver.1 AND WRT54G Ver.2 ROUTERS OPENING THE CASE

An open-source hardware+software project. For design files and additional documentation, please visit:

PowerBook G3 Pismo I/O EMI Shield Replacement

Supplement for module D061 incl. ATMega128 Prozessor

Upsampling Upgrade for the LINK DAC III Rev #7 (3/2006) Users Manual

Mark Schutzer December 9, 2007 (updated fix for older rev B and C ProCabs)

CV Arpeggiator Rev 2 Build Documentation.

MP3 audio amplifier. Build Instructions. Issue 2.0

Make Kits and Casemods

Version: 1.0 Public Effective from: 22 August 2017

THINKPAD X220/X230 FHD MOD

Patch Bay. Model 9746 Assembly and Using Manual PAiA Corporation

Fuzz Rite V2.0. Mosrite FuzzRite / Gus Rite Fuzz

SPLIT ERGONOMIC MECHANICAL BACKLID KEYBOARD

Instruction Manual. Electrical Management System (EMS) EMS-HW30C & EMS-HW50C

TIME WIZARD MULTI CLOCK DIVIDER BUILDING GUIDE

Adapter guide for C167/ST10, emulators

HP G disassembly for cleaning and

WORDSYNC ADDENDUM to the SupraDrive Operator s Manual

DDS Unit Construction Guide of TJ6A pro

HUB-ee BMD-S Arduino Proto Shield V1.1

IC Big Muff 78. Chip-based Big Muff Pi. Smooooooth!

Williams Games to JAMMA Conversion For Defender, Stargate, Robotron, Joust, Sinistar, Bubbles and Splat!

A Backlighted LCD for your K1

Installation instructions DC Protection and Delay unit, Version 1.2 The package should contain: A piece of normal gauge yellow wire for the AC connect

The Basic Counter. Hobby Electronics Soldering Kit. Instruction Guide

Recognizing & Disconnecting Cable

Nvidia Shield Tablet K1 Micro USB Port Replacement

Drexel University Electrical and Computer Engineering Department ECE 200 Intelligent Systems Spring Lab 1. Pencilbox Logic Designer

COMPACT LINEAR POWER CHIP WITH TEMPERATURE CONTROL v. 1.41

Phi-panel backpack assembly and keypad options Dr. John Liu 12/16/2012

AXE Stack 18. BASIC-Programmable Microcontroller Kit. An inexpensive introduction to microcontroller technology for all ability levels

RSL PSM-2 Power Supply Module Project: Modifying a FlatCap2

Chapter Operation Pinout Operation 35

High Power (15W + 15W) Stereo Amplifier

Lab #2: Building the System

Parts List: Part # Tools List: Instructions:

Building the FlipChip Tester

Digital Flame 1.0 Kit

IQ32 Upgrade Kit Assembly Instructions

ASUS Zen Pad 10 Micro USB Port & Camera Replacement

Onwards and Upwards, Your near space guide. Figure 1. CheapBot Line Follower

Mac mini Mid 2011 Heat Sink Replacement

Supplemental guide on Camera Fabrication

Written By: senordingdong

Manual Main PCB Small-MIDI 4

Casio CZ. Non volatile memory modification Installation instructions version copyright 2013 Artefacts

Transcription:

ZX81 ULA Replacement The ZX81 ULA replacement is a plug in pin compatible clone of the original ZX81 ULA with a bit of an extra boost. Installing the ULA The replacement ula includes circuitry to directly drive the composite video input of your monitor or TV, therefore you are required to make a small modification. Method 1. modify the modulator (easily reversible). This method requires disconnecting 1 end of a resistor and disconnecting the input wire to the modulator. (images are from a Issue 1 UK board) Step 1, lift the lid from your modulator and identify the resistor circled in red below, you should unsolder this resistor from the output pin of the modulator, as shown on the right. up out of the way. Step 2. disconnect the modulator input wire. And bend

Step 3. Connect a new wire. Solder a short piece of wire to the modulator output pin, then feed wire throught plastic insulator on side of modulator and finally connect wire to the pad where you disconnected the modulator input in step 1. Method 2. connect a flying lead, instead of modifying the modulator a suitable lead can be connected directly to the ZX81, disconnect the modulator input wire, you should connect the GND (screen/shield) of your lead to a suitable gnd on the ZX81, probably the easiest point is the modulator casing itself. Then you should connect the video (signal) of your lead to the pad where you disconnected the modulator input from. NOTE FOR ISSUE 3 BOARDS... on most if not all issue 3 boards there appears to be an extra resistor in the oscillator circuit, why it is there I am unsure as I have tested original ULA's with and without it and they all seem to operate correctly. HOWEVER the replacment ULA requires this resistor to be removed. See below. Sometimes this resistor is on top of the other resistors and may appear in a different place to that shown below.

Now you have modified your ZX81 for composite video output it's time to install the ULA, it is designed to plug directly into the original ULA socket. You should ensure that you are inserting it in the correct orientation and that the pins are not misaligned, apply slow even pressure until your ULA is seated in the socket, YOU SHOULD NOT PRESS DOWN ON THE CHIP!, the easiest way is to use you thumb and forefinger on the edges at the bottom and the thumb or finger on the other hand flat at the top. Do not alter the link settings at this time, they are set for ZX81 and enhancements disabled, we should first ensure that it operates correctly before considering wiring it up for enhanced operation. At this point you should have a ZX81 that operates just like an original. If you've got this far and it's all working lets wire it up for enhanced operation. In the event that it's not working please recheck that the ULA is seated correctly and that your video output is connected correctly also. For full enhanced operation we need to solder 6 small wires from the ULA to the circuit board of the ZX81, 1 wire is connected the the reset circuit and the other 5 are connected to the address bus. You will need some fine wire, Kynar wire wrapping wire or similar will do. The address bus connections are the same for Issue 1 and 3 boards. So I ll cover that first, because the enhanced

ULA uses a couple of POKES to control the various features we need to connect some additional address lines (A9 A13) these are the small pads on the right hand side of the ULA I suggest that you solder each wire to the ULA first as it;s easier to get them 'straight' if the other end is not connected first. The pads are quite small so a fine tipped soldering iron is best also great care should be taken not to short any of the pins on the chip, I have stuck a small piece of heat resistant Kapton tape over the pins on that side of the chip, it should protect against accidental solder splash but it will melt under sustained application of heat. You will see there are 5 pads and 1 plated through hole, DO NOT connect anything to the plated hole. In the picture below I have number the pads 1 to 5, they should be connected 1 at a time to the TOP of the diodes near the 8way keyboard connector at the bottom right of your ZX81 board, following the images below, connect 5 5, 4-4, 3-3, 2-2, 1-1. the diode labelled 5 below does not have much 'clearance' to the adjacent track so care must be taken. The Reset connection is different on issue 1 boards (left) and issue 3 boards (right) Issue 1 boards connect to top of R15. (located just to the top right of the CPU) Issue 3 boards connect to top of R15 (located to the immediate right of bottom right of CPU)

Once again check you have no shorts and everything is connected correctly, if everything went well your ZX81 should now power up normally. Now its time to enable the Enhanced features :-) shown below are the various link settings. Link settings The ULA is supplied in the ZX81 disabled configuration and can be used as an ordinary ULA once the composite video output modification (above) has been completed. There are also 2 additional outputs ' 3.25Mhz ' is a clock output intended for users with a sound modules and ' Turbo Active ' intended for connection of and LED it is active high and you should always use a current limiting resistor 220 or 270 Ohms should be good for most standard LEDs. Changed you links to ZX81 enhanced yet? No? Well get to it, it's time to start playing with these enhancements. Caution... TURBO should only be enabled if you have upgraded you CPU the standard 4Mhz version is unlikely to run for sustained periods if at all. Controlling the enhancements is as easy as a POKE for ZX81 you have only to remember 2 numbers ' 101 ' and ' 1001'

POKE 101,x is all you need to start, the value of x depends on what feature you want to turn on or off, here an understanding of the binary system helps as the various features are controlled by each 'bit' of the value. Bit 0 (1's) This is the LOCK FEATURES bit, once this bit is set no further changes can be made until a 'Reset' or 'power cycle' you should exercise caution when setting this bit. Bit 1 (2's) setting this bit allows you to trigger Turbo mode when operating your ZX81 in 'FAST' bit 7 also needs to be set. Within you program at some point after switching to 'FAST' you should execute a POKE 1001,x (the value of x is irrelevant, the act of trying to write a byte to location 1001 is sufficient) Bit 2 (4's) setting this bit will cause the ULA to report an inverted version of the UK/US bit that is tested each time the display is updated, the upshot is that a 50Hz (UK) machine will now operate at 60Hz (US) and a 60Hz (US) machine will operate at 50Hz (UK), This bit is probably only useful for programmers wishing to ensure that their brand new red hot game functions correctly at both display frequencies. Bit 3 (8's) This bit controls the ROMPATCH feature, When turbo is active it can be difficult to switch from 'FAST' to 'SLOW' this is because the ZX81's ROM is programmed to test for the presence of an NMI generator, it does this by attempting to turn on the generator and then waits a predetermined amount of time before testing if the NMI generator is active. But because the CPU is running at twice it's normal speed this 'waiting time' is halved and is more often than not, no longer long enough. Rompatch counteracts this by patching byte 531 of the ROM so instead of the cpu seeing its normal value of 17, it is doubled and reports 34, thus restoring the 'normal waiting time'. Bit 4 (16's) This bit controls the inverting of the video, when set it will invert the border and display area from the normal 'black on white' to 'white on black', you should use this in conjunction with Bit 5 for various combinations. Bit 5 (32's) This bit controls the inverting of the border only, when set the border will invert from white to black. This bit should be used in conjunction with Bit 4 for various combinations. Bit 6 (64's) M1NOT mod, When set this bit enables machine code routines to be run in memory spanning the 32-48K region, you should make sure that d-file does not encroach on this memory region as a 'Crash' is probably certain if it does. It is safer to ensure that RAMTOP is set to 32768 or lower before setting this bit. Bit 7 (128's) this bit controls Turbo mode, when set turbo mode is active, this is an automatic Turbo mode so saving and loading will cancel turbo for the duration of the operation. If you wish to use Turbo mode in 'FAST' then you should also set Bit 1.

By poking various values of x you can turn on or off any or all of the features. So for example to invert the entire video and enable Turbo you would do POKE 101,144 You can also PEEK 101 and see what value is already stored. A CAUTIONARY NOTE ON USING TURBO MODE. There are several different ROMs fitted to the ZX81 during testing I have found that ROMs labelled D2364C appear to have too long an access time to operate in TURBO,. The MOTOROLA type ROMs labelled ' ZCM38818P ' work without problem. A replacement ROM with a quicker access time could be used. When Turbo mode is active and your program switches to 'FAST' the CPU always runs at 3.25Mhz, to enable Turbo in FAST, when running in 'FAST' you need to also set bit 1 of the control byte. Then in your program where it switches into 'FAST' you should insert a line that performs POKE 1001,x to trigger Turbo in FAST, the value of x doesn t matter nor is it stored, mealy the act of attempting to write to memory byte 1001 triggers Turbo in FAST. Each time the display becomes active Turbo in FAST will be cancelled and then if the program switches back to 'FAST' again you should re trigger the Turbo mode by executing another POKE 1001,x. USING SOUND MODULES Zon-x and compatible sound modules mostly use the 3.25Mhz clock signal present at the ZX81's edge connector, however when operating in Turbo mode this Signal switched between 3.25Mhz and 6.5Mhz and is not suitable for 'clocking' such sound modules. Therefore a dedicated 3.25Mhz Output is provided, please refer to the link setting above for it's location on the ULA. You can either modify you ZX81 board so that this constant 3.25Mhz signal is present at the edge connector OR if you prefer you could route it directly to your sound modules clock input, since each module differs I shall only show the modification to the ZX81 board. You need to cut 1 track and then connect the plated through hole shown to the 3.25Mhz pin on the ULA with a suitable length of wire. Issue 1 ZX81.

Issue 3 ZX81

ZX80 MODE. You can also downgrade your ZX81 to behave like a ZX80, you will require a ZX80 ROM and suitable adapter to fit in place of the ZX81 ROM. The memory location you need to control the features with a POKE is 77 when in ZX80 mode, So for example POKE 77,128 will enable ZX80 turbo mode. You are also able to PEEK this location but bit 0 will always report as zero, but the settings may still be locked by setting bit 0. Bits 1 and 3 (trigger turbo in fast, Rompatch) have no effect when in ZX80 mode. Turbo in ZX80 mode works differently from in ZX81 mode, most IO activity will temporarily turn off Turbo mode, as will the display loop when the ZX80 is waiting for user input.

Using Other ROMS if you wish to use other ZX81 hardware compatible roms (forth, aszmic, ect.) it is recommended to set the jumper links to ZX81 DISABLED. I have not tested any roms except ZX81 and ZX80 so cannot be 100% sure of correct operation.