Difference between revisions of "Mahjongg"

From RevSpace
Jump to navigation Jump to search
m
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
I am an electronic engineer, (of Dutch descend) specialized in designing PCB's for Analog, Digital and to a lesser degree RF systems.
+
I am '''Mahjongg''' (M.C.J. de Jong), an electronic engineer, (of Dutch descend) specialized in designing PCB's for Analog, Digital and to a lesser degree RF systems.
In the past I have designed (among many other things) Computers and computer subsystems, modems and audio recording equipment, satellite subsystems and cryogenic electronics.
 
 
I am fond of retro computing, and own a collection of retro computers, and literature about retro computing.
 
I am fond of retro computing, and own a collection of retro computers, and literature about retro computing.
  
  
my first computer was a nameless home-brew system based on a 6502, but never got finished because I bought a KIM-1 and later a LMW-80.
+
my first computer was a nameless home-brew system based on a 6502, I designed in 1978 but it never got finished because I bought a KIM-1 and later a LMW-80. It never progressedbeyond having some switches with which I could address 1K memory, toggle in data, and read out its contents with a row of LED's, Altair 8800 style.
  
I worked for a small hobby computer company, and among many other things sold Apple ]['s, ABC80's and Olivetti M80 systems, but also many kits. Like the Junior Computer (a KIM-1 clone), the Acorn Atom and also ZX80 kits. Many of them I assembled for customers who wanted them assembled. For owners of ZX80's I would buit in ZX81 ROM's. I also built 48K RAM and our own Floppy disc controller and Centronics printer interface into TRS-80 model I base systems, which was much cheaper than buying an expansion interface. Later I designed and sold my own Z80 computer, the Aster CT80, a much improved Tandy TRS-80 model 1 clone that also ran CP/M perfectly, and could be used as a Videotex terminal.
+
after my study, I started working for a small hobby computer company, that among many other things sold Apple ]['s, ABC80's and Olivetti M80 systems, but also many kits. Like the Junior Computer (a KIM-1 clone), the Acorn Atom and also ZX80 kits. dozens of those kits I assembled for customers who wanted them assembled. And for owners of ZX80's I would also built in ZX81 ROM's, so they gained the better basic of the ZX81 (but not "slow" video mode). I also built 48K RAM and our own Floppy disc controller and Centronics printer interface into TRS-80 model I base systems, which was much cheaper in the Netherlands than buying an official expansion interface.  
 +
 
 +
Later I designed amy own Z80 computer, the Aster CT80, a much improved Tandy TRS-80 model 1 clone that also ran CP/M perfectly, and could be used as a Videotex terminal, about 10.000 of them were sold, mostly to schools. It bore a remarkable visual resemblance to the IBM-PC-XT which came out a few years later.
 +
 
 +
Through the later years, (1984 and later) I designed MSX hardware, many-many modems and audio and FAX recorders, to name just a few things, and also worked as a programmer for the game software house "Aackosoft", and later helped programming the "memo vision" application built into the sony F9P MSX2 computers, the last few years I am learning to layout Integrated Circuits, and am designing and building space related hardware, and other high end electronics for third parties, on-demand Lately I'm programming again in C (for an Arduino MEGA 2560), and in Python 3.5 for a chip tester I designed.
 +
 
 +
here I designed a few simple computers, for people who want to built their own 8-bit simple to understand computers, I designed two versions of a ZX-81 clone that doesn't need a ULA (I designed my own ULA replacement). the first was the ZX-81+34, because it was designed 34 years after 1980, so 2014 was the year is started designing my ZX-81 clone built using SMT (surface mount) components, on the smallest and thus cheapest, PCB possible.
 +
the second (simpler, with Pin Through hole components instead of SMT, which was too hard for most people, and a PCB that is a replacement for a real ZX-81, and can be fitted in a ZX-81 case.
 +
 
 +
You can find all files you will need to built your own ZX-81+34 or ZX81+38 on my GitHub page https://github.com/mahjongg2 where you also can find files for the prototype of RhoCoCo.
 +
 
 +
In the meantime I found out about a remarkable, but barely known computer designed in the former Yugoslavia the Galaxia, a cross between a ZX80 and a TRS-80 with just a dozen TTL chips, I wanted to built my own version but soon found out that was no longer possible, and gave up the idea.
 +
 
 +
So instead I designed my own 8-bit color computer with capabilities comparable to 80's home computers, but with a very minimalistic design based on a Z80 CPU combined with 128K SRAM and for everything else a cheap 8X32A multi cpu in a 40 PIN dip chip parallax propeller that with a few tricks can do everything else that my RhoCoCo needs to make it a functioning computer, again on a minimal 10 x 10 cm dual sided PCB.
 +
I have built one prototype, and tested it, it was able to get it to generate 64 colour VGA screen, but was hindered by the fact that my idea to get mass storage from an SD-Card wasn't possible the way I intended it, so I stopped to make a re-design that solved this problem.
 +
 
 +
I also created a game system in the form of a joypad with a built in Raspberry PI Zero running retropie. I did not release this one because of possible legal action against doing so, but it works, and it works well.
 +
 
 +
 
 +
links to my computer project pages are here:
 +
 
 +
* a story about why I wanted to build a ZX-81 clone (A simple home built computer you can know completely) . https://revspace.nl/index.php?title=Zx81plus34
 +
 
 +
* the complete design stages explained from beginning to working end and several intermediate versions. https://revspace.nl/ZX81PLUS34_ZX81_clone#28_February_2016_It.27s_alive.21
 +
 
 +
* I also designed a ZON compatible sound board (PSG based) for my ZX-81+34, which I wrote about here:https://revspace.nl/Zon_ZX-81_Programmable_Sound_Generator_expansion_for_ZX81PLUS35
 +
* because of complaints agains the use of SMT in a beginners project I started over, and with the experience gained from designing and testing the ZX81+34 I designed my ZX81+38 https://revspace.nl/ZX81plus38_simple_to_build_ZX-81_clone
 +
 
 +
* I wrote about the Galaksija here: https://revspace.nl/Galaksija I translated what little was know from the original Yugoslavian texts, so I could understand better how it worked. I also recovered the Schematics. In february 2022 I decided to build my own version of CMOS Galaksija, preliminary title PanGalaksija  maybe I will rename it to PanGalaxy (a galaksija for the whole world)
 +
 
 +
* in between both versions in 2017 I started on my own colour capable home computer the RhoCoCo, Z80 based system with 128K RAM and 64-color VGA output. https://revspace.nl/Designing_the_RhoCoCo_Retro_Home_COlor_COmputer_hardware
 +
 
 +
* I wrote about the tribulations of ordering PCB's from China here: https://revspace.nl/Ordering_PCBs_for_rhococo but I ended up with 5 nice PCB's of the Rhococo main PCB and the single sided but larger keyboard PCB, it seems it makes hardly any difference anymore price wise between single sided and dual sided, its only the size that determines the price.
 +
 
 +
* I wrote about assembling Rhococo, and its keyboard on another wiki page here: https://revspace.nl/Assembling_RhoCoCo
 +
 
 +
* In april the same year I had built up my first prototype, and had successfully got it to work I wrote about bringing up (first boot) the hardware of the Rhococo here: https://revspace.nl/Bringing_up_Rhococo_(first_boot,_and_firmware_development) and found the first hardware bugs which I wrote about here: https://revspace.nl/Rhococo_prototype_hardware_debugging
 +
 
 +
* I also thought about the possibilities to create an enclosure for RhoCoCo, and decided on using laser cut plywood, read here about that idea https://revspace.nl/Designing_an_enclosure_for_RhoCoCo
 +
 
 +
other stuff:
 +
* I repaired a Space invaders console, space invaders was one of the first game consoles that used a CPU, an intel 8080, the same hardware was first used by a cowboy fighting game, but that wan't very successful, it was Space invaders that first took of (after Atari's pong of course, but pong didn't use a CPU) I wrote about it here: https://revspace.nl/Space_invaders_repair Later I took a course in repairing Arcade systems in the Dutch national videogame computer museum in zoetermeer lead by the famous Randy Fromm https://revspace.nl/Arcade_repair_course
 +
 
 +
* although I gave a way almost all my retro computer stuff to musea, I still own a few systems, amon them are two CBM machines (commodore PET's) I repaired one of them and wrote about it https://revspace.nl/Repair_PET2001_AKA_CMB_3032
 +
 
 +
* I saw a possibility to built a working game system built into my own joypad, with a simple wire connected to a minimal "game system", that really only consisted of power, video and sound connector. It is based on the Raspberry PI zero computer. I found a way to directly connect pushbuttons to it, that with some software were converted to keyboard input that Retropie could use, and also found a way to create sound output (in stereo) using the standard GPIO's (a zero doesn't have audio outputs normall). using these ideas I built up a simple prototype on perfboard that worked perfectly, having good PAL composite output, and stereo sound. I decided to design a (series of) PCB's for it using KiCAD, and wrote about it here: https://revspace.nl/The_worlds_smallest_(S)NES_emulator
 +
 
 +
* I was informed that a German ZX-81 fan had built my ZX81+35 clone, but he has also built my programmable sound chip (PSG) board, and understood I had tried to fix the problem that kept the GPIO's problem of only being able to turn all its 8 GPIO's all eight of them to either inputs or outputs as a unit, not for each GPIO pin, as a limitation that prevented it to generate an SPI signal using the AY-3-8912 GPIO's.This was a problem as turning the GPIO's to inputs the SD-card I/O would be deselected. But he solved that simply by inverting the chip select line. And he added a bidirectional level converter on the data bit. It took him two years (on and off obviously) to write an SPI bit banged driver, and used it to read files from a FAT-16 partition on the SD-Card, then used a menu driven interface so you could start any of 26 games on the card by pressing a single letter from A to Z. The firmware to do al this was stored on an 8K eprom extension (using a 16K flash ROM. I decided to update the ZX-81+35 and the PSG expansion so anyone could have the same functionality. You can read about it here: https://revspace.nl/Zon_ZX-81_Programmable_Sound_Generator_expansion_for_ZX81PLUS35_with_working_SD-Card and here: https://revspace.nl/ZX81PLUS35_ZX81_clone
 +
 
 +
* I'm planning to also create my PSG board for the real ZX81 (and my own clone the ZX81+38)I wrote about it https://revspace.nl/ZONX81plus41_PSG_Board_with_sd-card_interface_for_the_ZX-81
 +
 
 +
* I'm also busy building a very much simplified and tiny version of a TZXDuino. I have got a TZXDuino kit working which is used at the National VideoGame Museum in Zoetermeer, where I am a volunteer. It is used to upload a game each day onto the Sinclair Spectrum 48K (model 3) that is in the home computer part of the museum, next to a C64, a Philips MSX-2 and a Amiga 500, all of which run a game to use, except for the Spectrum. The spectrum has been modified with a low power loss switching 5Volt regulator, so it doesn't get hot anymore, it has its keyboard foil replaced, and uses an 16K EEPROM which holds two copies of the 8K ROM, with a hidden switch to select which half of the ROM was used. In the past one of the copies was replaced with a game that was available in cartridge format, but built into the Spectrum, but there were only 10 different cartridges ever made, and none of the available games had an attract mode, so the game only offered a simple black and white menu. Not suitable for use in our museum. The TZXDuino is now used to load an attractive game (with an attract mode§)into the Spectrum. Most often Manic Miner is used. But getting the TZXDuino every day, and 5 minutes later removing when the game was loaded was is a bit of a chore, so I went to replace it with a buit in version, needing just two hidden buttons, and no screen. so all the operator has to do is to enter LOAD "" on the spectrum, and pushing a two buttons to start the TZXDuino hidden inside the Spectrum, after that he can simply walk away knowing that the upload process will never fail. for design information see: https://revspace.nl/TZXDuino_pico
 +
 
 +
If you want to contact me directly, you can send mail to mahjongg@xs4all.nl

Latest revision as of 16:29, 10 March 2023

I am Mahjongg (M.C.J. de Jong), an electronic engineer, (of Dutch descend) specialized in designing PCB's for Analog, Digital and to a lesser degree RF systems. I am fond of retro computing, and own a collection of retro computers, and literature about retro computing.


my first computer was a nameless home-brew system based on a 6502, I designed in 1978 but it never got finished because I bought a KIM-1 and later a LMW-80. It never progressedbeyond having some switches with which I could address 1K memory, toggle in data, and read out its contents with a row of LED's, Altair 8800 style.

after my study, I started working for a small hobby computer company, that among many other things sold Apple ]['s, ABC80's and Olivetti M80 systems, but also many kits. Like the Junior Computer (a KIM-1 clone), the Acorn Atom and also ZX80 kits. dozens of those kits I assembled for customers who wanted them assembled. And for owners of ZX80's I would also built in ZX81 ROM's, so they gained the better basic of the ZX81 (but not "slow" video mode). I also built 48K RAM and our own Floppy disc controller and Centronics printer interface into TRS-80 model I base systems, which was much cheaper in the Netherlands than buying an official expansion interface.

Later I designed amy own Z80 computer, the Aster CT80, a much improved Tandy TRS-80 model 1 clone that also ran CP/M perfectly, and could be used as a Videotex terminal, about 10.000 of them were sold, mostly to schools. It bore a remarkable visual resemblance to the IBM-PC-XT which came out a few years later.

Through the later years, (1984 and later) I designed MSX hardware, many-many modems and audio and FAX recorders, to name just a few things, and also worked as a programmer for the game software house "Aackosoft", and later helped programming the "memo vision" application built into the sony F9P MSX2 computers, the last few years I am learning to layout Integrated Circuits, and am designing and building space related hardware, and other high end electronics for third parties, on-demand Lately I'm programming again in C (for an Arduino MEGA 2560), and in Python 3.5 for a chip tester I designed.

here I designed a few simple computers, for people who want to built their own 8-bit simple to understand computers, I designed two versions of a ZX-81 clone that doesn't need a ULA (I designed my own ULA replacement). the first was the ZX-81+34, because it was designed 34 years after 1980, so 2014 was the year is started designing my ZX-81 clone built using SMT (surface mount) components, on the smallest and thus cheapest, PCB possible. the second (simpler, with Pin Through hole components instead of SMT, which was too hard for most people, and a PCB that is a replacement for a real ZX-81, and can be fitted in a ZX-81 case.

You can find all files you will need to built your own ZX-81+34 or ZX81+38 on my GitHub page https://github.com/mahjongg2 where you also can find files for the prototype of RhoCoCo.

In the meantime I found out about a remarkable, but barely known computer designed in the former Yugoslavia the Galaxia, a cross between a ZX80 and a TRS-80 with just a dozen TTL chips, I wanted to built my own version but soon found out that was no longer possible, and gave up the idea.

So instead I designed my own 8-bit color computer with capabilities comparable to 80's home computers, but with a very minimalistic design based on a Z80 CPU combined with 128K SRAM and for everything else a cheap 8X32A multi cpu in a 40 PIN dip chip parallax propeller that with a few tricks can do everything else that my RhoCoCo needs to make it a functioning computer, again on a minimal 10 x 10 cm dual sided PCB. I have built one prototype, and tested it, it was able to get it to generate 64 colour VGA screen, but was hindered by the fact that my idea to get mass storage from an SD-Card wasn't possible the way I intended it, so I stopped to make a re-design that solved this problem.

I also created a game system in the form of a joypad with a built in Raspberry PI Zero running retropie. I did not release this one because of possible legal action against doing so, but it works, and it works well.


links to my computer project pages are here:

  • I wrote about the Galaksija here: https://revspace.nl/Galaksija I translated what little was know from the original Yugoslavian texts, so I could understand better how it worked. I also recovered the Schematics. In february 2022 I decided to build my own version of CMOS Galaksija, preliminary title PanGalaksija maybe I will rename it to PanGalaxy (a galaksija for the whole world)
  • I wrote about the tribulations of ordering PCB's from China here: https://revspace.nl/Ordering_PCBs_for_rhococo but I ended up with 5 nice PCB's of the Rhococo main PCB and the single sided but larger keyboard PCB, it seems it makes hardly any difference anymore price wise between single sided and dual sided, its only the size that determines the price.

other stuff:

  • I repaired a Space invaders console, space invaders was one of the first game consoles that used a CPU, an intel 8080, the same hardware was first used by a cowboy fighting game, but that wan't very successful, it was Space invaders that first took of (after Atari's pong of course, but pong didn't use a CPU) I wrote about it here: https://revspace.nl/Space_invaders_repair Later I took a course in repairing Arcade systems in the Dutch national videogame computer museum in zoetermeer lead by the famous Randy Fromm https://revspace.nl/Arcade_repair_course
  • I saw a possibility to built a working game system built into my own joypad, with a simple wire connected to a minimal "game system", that really only consisted of power, video and sound connector. It is based on the Raspberry PI zero computer. I found a way to directly connect pushbuttons to it, that with some software were converted to keyboard input that Retropie could use, and also found a way to create sound output (in stereo) using the standard GPIO's (a zero doesn't have audio outputs normall). using these ideas I built up a simple prototype on perfboard that worked perfectly, having good PAL composite output, and stereo sound. I decided to design a (series of) PCB's for it using KiCAD, and wrote about it here: https://revspace.nl/The_worlds_smallest_(S)NES_emulator
  • I was informed that a German ZX-81 fan had built my ZX81+35 clone, but he has also built my programmable sound chip (PSG) board, and understood I had tried to fix the problem that kept the GPIO's problem of only being able to turn all its 8 GPIO's all eight of them to either inputs or outputs as a unit, not for each GPIO pin, as a limitation that prevented it to generate an SPI signal using the AY-3-8912 GPIO's.This was a problem as turning the GPIO's to inputs the SD-card I/O would be deselected. But he solved that simply by inverting the chip select line. And he added a bidirectional level converter on the data bit. It took him two years (on and off obviously) to write an SPI bit banged driver, and used it to read files from a FAT-16 partition on the SD-Card, then used a menu driven interface so you could start any of 26 games on the card by pressing a single letter from A to Z. The firmware to do al this was stored on an 8K eprom extension (using a 16K flash ROM. I decided to update the ZX-81+35 and the PSG expansion so anyone could have the same functionality. You can read about it here: https://revspace.nl/Zon_ZX-81_Programmable_Sound_Generator_expansion_for_ZX81PLUS35_with_working_SD-Card and here: https://revspace.nl/ZX81PLUS35_ZX81_clone
  • I'm also busy building a very much simplified and tiny version of a TZXDuino. I have got a TZXDuino kit working which is used at the National VideoGame Museum in Zoetermeer, where I am a volunteer. It is used to upload a game each day onto the Sinclair Spectrum 48K (model 3) that is in the home computer part of the museum, next to a C64, a Philips MSX-2 and a Amiga 500, all of which run a game to use, except for the Spectrum. The spectrum has been modified with a low power loss switching 5Volt regulator, so it doesn't get hot anymore, it has its keyboard foil replaced, and uses an 16K EEPROM which holds two copies of the 8K ROM, with a hidden switch to select which half of the ROM was used. In the past one of the copies was replaced with a game that was available in cartridge format, but built into the Spectrum, but there were only 10 different cartridges ever made, and none of the available games had an attract mode, so the game only offered a simple black and white menu. Not suitable for use in our museum. The TZXDuino is now used to load an attractive game (with an attract mode§)into the Spectrum. Most often Manic Miner is used. But getting the TZXDuino every day, and 5 minutes later removing when the game was loaded was is a bit of a chore, so I went to replace it with a buit in version, needing just two hidden buttons, and no screen. so all the operator has to do is to enter LOAD "" on the spectrum, and pushing a two buttons to start the TZXDuino hidden inside the Spectrum, after that he can simply walk away knowing that the upload process will never fail. for design information see: https://revspace.nl/TZXDuino_pico

If you want to contact me directly, you can send mail to mahjongg@xs4all.nl