ZX LCD

After building ZX Spectrum clone in CPLD I ported hardware code to another project and this is a bit simpler, but it uses some mono LCD from old copy machine.

ZX Spectrum with LCD interface in CPLD
Now I used only one CPLD, but I added an additional SRAM chip. Now I don’t need any memory management (MMU)- the video part of the computer is completely “write only”. It is shadowed in the external SRAM chip and if the computer needs to read some data it does not get data from the video part of the computer. This makes design much easier to implement.
CPLD also monitors all IN/OUT operations and generates all specific video signals for LCD (it is four pixels at a time interface).

Running game on monochromatic LCD is quite hard
This is 320×240 pixel monochromatic screen, without any gray levels. So I can not emulate any colors using grayscale. For the border I used vertical stripes, but for the screen part is “only black and any other color is white” mode. So games are unusable. Also, moving parts are blurred.

All files to download:
Intel-Altera Quartus CPLD source code for ZX Spectrum LCD version.

Do not forget that regular Z80 need a 5Vpp clock for proper operation. I used a CMOS buffer for this.

Ant here is pinout for  EDMMPU3BDF LCD:

1. ON/OFF
2. n.c.
3. VS
4. HS
5. pix CLK
6. Vcc, +5V
7. GND
8. Vee, -25V
9. D3, pixel data
10. D2
11. D1
12. D0
13. Vee, same as 8.
14. contrast.

Posted in Anything, FPGA | Tagged , , , | Leave a comment

Cartridge for Commodore 64

Sometimes I want to show how old 8 bit computers work for some n00bs. It is nice to load some games from tape, some from disk. But when I want to show more games, the best thing is cartridges. And not a single universal cartridge, but a pile of them. This looks more “expensive” and cool.
Another reason- cheap PCB and that I wanted to go in this way.

selfmade C64 commodore cartridge
And the main reason for cartridges is speed- just put in and power on. I never liked this game.
Continue reading

Posted in Anything | Tagged , , | Leave a comment

ZX Spectrum inside CPLD

I found an old ZX Spectrum clone made in Soviet Union in the 90’s. It was my computer, I wrote several programs on it and also, I wrote drivers for Epson printer on this hardware. This model has Soviet chip КР580ВВ55А (Intel i8255) and I used this port for the LPT interface and some custom hardware.
I powered it and without results- old crappy Soviet chips are dead. At least 3 chips were bad and the quality of PCB prevented me from full repair.
Soviet ZX Spectrum clone
Continue reading

Posted in Anything, FPGA, MCU | Tagged , , , , | Leave a comment

Fancy soldering

Good fellow donated my collection with a new item- Sharp PC-2500. The only big problem- this old computer had caustic batteries inside and they leaked. Alkaline used in the batteries has a very ugly feature- it can travel under conformal coating along copper traces. All this made this computer DOA.

Sharp PC-2500 repair
In this picture, the computer is a bit working. Still missing some parts of the image, one keyboard key is not responsible and software freezes. It is possible that damage to PCB is not only eroded traces, but there is a side effect of CMOS technology- the resistance of the PCB is lowered and it may cause problems with high resistance CMOS circuitry. Any unclean spot in PCB has quite low resistance for low current signals. I was trying to wash parts of PCB, but it is paper based PCB and discoloration shows that alkaline salts are inside board material.
Continue reading

Posted in Anything, Vandalising | Leave a comment

Testing Commodore 6526/8520 copy in CPLD

There are quite expensive obsolete chip from various Commodore computers and peripherals- CIA/PIA MOS 6526 and a bit changed 8520 used in Amiga computers. This is a “complex” peripheral interface adapter chip for 6502 processor or 68K chipset.
It is quite complex, as it has: 16 individual programmed I/O lines, 2 independent, linkable timers, real time clock timer/counter, shift register for serial interface and some other stuff. As this chip is for “interface”, some of the pins go outside the computer and connect to various other devices or… some strange objects like metal pins or pens. S, short circuit, ESD spikes can kill these chips. When I lived in Soviet Union, I blew an Amiga 8520 chip and I had my Amiga shelved for several years!
Now it is still possible to buy these chips- sometimes NOS (very expensive), sometimes good pullouts, but sometimes fake ones. And you have to spend over 25USD for just one chip. Maybe it is good variant to buy a DEAD computer in the hope that the chip may be fine.

I am cleaning, testing and rearranging my old computer collection and I decided to repair some of them because now I have more money and more knowledge. And I have spare CPLD boards from Russian Igrosoft computers. So, one day I decided to build some test rig and build my own CIA/PIA in CPLD (it is 5V TTL compatible).

Here is the CPLD CIA/PIA workplace:
PIA 6526 CPLD copy
This computer has both 6526 dead. Left CIA is only partially emulated- so I used a smaller CHIP. Meanwhile the right one is more complex. This is not only timers, int, but also keyboard interface.
Continue reading

Posted in Anything, FPGA, MCU | Tagged , , , | 10 Comments

My collection of old computer

For a long time, I collected a small collection of computer hardware. Here is the link to my Old Bits Collection.

computer collection

Posted in Personal | Tagged , , , , , | Leave a comment

AVR USB printer device and teletype

I have old teletype printer T-63 (it is made by RTF in Eastern Germany, clone of old Siemens Teletype). And the idea is about connecting it as USB printer to our-days computer. Easiest way is to connect it using RS232 port, configured to 50bod speed and 5 data bits. But I was thinking about real USB printer.
Somehow I didn’t managed to program old AVR Atmega16 series MCU with V-USB library as printer. Windows is detecting as “printer”, but “cannot start”. Next device available was ATMEGA32U4 board from China, for about 2€. It is more modern chip, with build in USB hardware. I selected LUFA library (latest version, downloaded with git).

AVR ATMEGA32U4 as printer device for TTY teleprinter

This is very small board with everything already soldered for testing. For electrical compatibility I used SSR (solid state relay)- I need to link TTL level with 40mA (50…120V) current loop.

testing gear- windows 10, macos x and linux
I wrote all stuff on windows 10 Pro computer. I managed to emulate “text only”, “generic” printer. Windows downloaded drivers and installed them automatically, but I encountered some weird problems: windows can print only few hundreds of symbols. After it printing stalls, and after few minutes print spooler reports error.
I switched computer to old Apple Air with old Mac OS X (10.6?). Mac OS detected printer, but there was no downloadable drivers. After playing with CUPS, I installed RAW printer driver. But there is problem with modern computers- even if I was printing plain text file (‘The Call of Cthulhu’), apple “text editor” was sending PDF formated data to printer.
Next computer was Linux Mint (also very old version). Linux detected and installed text only printer driver. But when printing same text from some type of text viewer the output was nill. Why? When switched to raw printer driver, output was same PDF signature and binary data. Same shit… why modern software make all jobs so complicated?
But there was good news- all that binary data was sent to printer without any problems. So, printing in Windows 10 was the windows drivers problem, not AVR device.

Thanks to all gods (and the older ones), but there is old school command prompt (shell) in linux. And only few lines of commands and that dark text appeared on paper with 50+ years old teletype printer.

teletype printer output from modern computer via AVR ATMEGA MCU USB device

All source code is free and available for download:
USB printer device on AVR ATMEGA32U4 source code LUFA. With ‘The Call of Cthulhu’ testing text included.
To compile, please download latest LUFA library from github.

Lithuanian, extended version. Hardware (Lithuanian).

Posted in MCU | Tagged , , , | 4 Comments

Building 8bit ATARI test ROM in easy way

I was experimenting with damaged Atari 800XL and I need to test it in low level. I wrote several lines in machine code and it was pain in the ass to fill data to ROM chip. After entering HEX data in binary editor with several errors, I decided to write some “visual ROM linker” to merge asembler output with ROM chip buffer.
In attached archive there is third party 6502 asembler, test program source, asembler output, ROM binary file and my visual linker executable for windows .NET system. There is installer too, but software is not signed.

Atari ROM linker
Some of 6502 asembler…

Atari ROM linker
My ROM linker….

Atari ROM linker
Atari emulator running my new ROM.

All software to download:
Atari ROM visual linker

Feel free to use.

Posted in MCU | Tagged , , , | Leave a comment

Partial solar eclipse

This outdated article about some partial solar eclipse- it was in 2008, but to keep both Lithuanian and English blog “synchronized” I leave this article.

Info from wiki:

As seen from the Earth, a solar eclipse is a type of eclipse that occurs when the Moon passes between the Sun and Earth, and the Moon fully or partially blocks (“occults”) the Sun. This can happen only at new moon, when the Sun and the Moon are in conjunction as seen from Earth in an alignment referred to as syzygy. In a total eclipse, the disk of the Sun is fully obscured by the Moon. In partial and annular eclipses, only part of the Sun is obscured.

And here is photo made using some welding mask glass:
saules uztemimas
Photo date: 12:35 local Kaunas time, at 2008.08.01

Posted in Anything | Leave a comment

Klystron

In previous article I mentioned, that I didn’t managed to remove klystrone tube from metal chassis. After some time I managed to remove it…
Here is the author of this blog and “little” vacuum tube:
Big klystron vacuum tube

All tuning magnets and other stuff is removed. It is bare tube. Weight of the tube is 66kg (145.5lbs). Height? I don’t know, but my height is about 194cm (6 feet and 4 inches).
All bright red-pink parts are made from toxic beryllium oxide (BeO) ceramics. BeO is carcinogenic and may cause chronic beryllium disease. Once fired into solid form, it is safe to handle as long as it is not subjected to any machining that generates dust. It is definitely in solid form.

Original article dated 2008.

Posted in Anything | Leave a comment