Posts with «retrocomputing» label

Tiny Operating System For Tiny Computer

Before the World Wide Web became ubiquitous as the de facto way to access electronic information, there were many other ways of retrieving information online. One of the most successful of these was Minitel, a French videotex service that lasted from 1980 all the way until 2012. But just because the service has been deactivated doesn’t mean its hardware can’t be used for modern builds like this Arduino-based operating system. (Google Translate from French)

Called ZARDOS, the operating system is built to run on an Arduino MEGA although a smaller version is available for the Uno. The Arduino is connected by a serial cable to the Minitel terminal. It can take input from a keyboard and PS/2 mouse and displays video on the terminal screen with the same cable. There is functionality built-in for accessing data on a cartridge system based on SD cards which greatly expands the limited capabilities of the Atmel chip as well, and there is also support for a speaker and a Videotex printer.

Even though the build uses a modern microcontroller, it gives us flashbacks to pre-WWW days with its retro terminal. All of the code is available on the project site for anyone looking to build an Arduino-based operating system, although it will take a little bit of hardware hacking to build a Minitel terminal like this. Either way, it’s a great way to revive some antique French hardware similar to a build we’ve seen which converts one into a Linux terminal.

Thanks to [troisieme_type] for the tip!

An Arduino With A Floppy Drive

For many of us the passing of the floppy disk is unlamented, but there remains a corps of experimenters for whom the classic removable storage format still holds some fascination. The interface for a floppy drive might have required some complexity back in the days of 8-bit microcomputers, but even for today’s less accomplished microcontrollers it’s a surprisingly straightforward hardware prospect. [David Hansel] shows us this in style, with a floppy interface, software library, and even a rudimentary DOS, for the humble Arduino Uno.

The library provides functions to allow low level work with floppy disks, to read them sector by sector. In addition it incorporates the FatFS library for MS-DOS FAT file-level access, and finally the ArduDOS environment which allows browsing of files on a floppy. The pictures show a 3.5″ drive, but it also supports 5.25″ units and both DD and HD drives. We can see that it will be extremely useful to anyone working with retrocomputer software who is trying to retrieve old disks, and we look forward to seeing it incorporated in some retrocomputer projects.

Of course, Arduino owners needn’t have all the fun when it comes to floppy disks, the Raspberry Pi gets a look-in too.

Build an 8-bit CPU to Know “But How Do It Know?”

Sometime around 2009, [J. Clark Scott] published a book aimed to demystify computers for everyone by walking through construction of an 8-bit CPU from scratch. The book had a catchy, but somewhat confusing title But How Do It Know?. The back story on the title goes something like this: Joe is a very nice fellow, but has always been a little slow. He goes into a store where a salesman is standing on a soapbox in front of a group of people. The salesman is pitching the miracle new invention, the Thermos bottle. He is saying, “It keeps hot food hot, and cold food cold….” Joe thinks about this a minute, amazed by this new invention that is able to make a decision about which of two different things it is supposed to do depending on what kind of food you put in it. He can’t contain his curiosity, he is jumping up and down, waving his arm in the air, saying “but, but, but, but…” Finally he blurts out his burning question “But how do it know?” Joe looked at what this Thermos bottle could do, and decided that it must be capable of sensing something about its contents, and then performing a heating or cooling operation accordingly. Joe’s concept of how the bottle worked was far more complicated than the truth. With that introductory opening, [J. Clark Scott] goes on to cover basic number theory, leading on to logic gates, and finally the 8-bit CPU.

[Patrick LeBoutillier] decided to build a hardware version of the CPU/computer as described in [John Clark Scott]’s book. In order to keep size and cost within reasonable bounds, he choose a hybrid construction using a combination of micro-controllers and SN74HC logic IC’s. When used as a companion project alongside reading the book, he hopes people can get their hands dirty and try it out for themselves. He has published a series of 14 videos covering construction of the CPU and the first Introductory video is embedded after the break below. For the micro-controller part of the project, he is using four Arduino Nanos, the code and install instructions for which are available at his Git repo. The Fritzing schematic, also available at the repo, might look a bit daunting at first look, but when you follow along his video series, it becomes easier. You can preview the first three chapters of the book at the “But How Do It Know?” website.

If FPGA’s are more of a thing for you, or you’d like to dip your feet learning FPGA, then [Patrick] has another series of 17 videos (embedded below) where he goes through the same process using a Digilent BASYS3 FPGA development board. These aren’t your only options — if you just want to understand how it works, without having to build the hardware, then check out the online, browser based implementation of the [Clark Scott] CPU.

If it seems the breadboard build of this 8-bit CPU looks complex, then this
Home Made 8-bit CPU Is A Wiry Blinky Build and a veritable rats nest of jumper wires.

TMD-1 Makes Turing Machine Concepts Easy to Understand

For something that has been around since the 1930s and is so foundational to computer science, you’d think that the Turing machine, an abstraction for mechanical computation, would be easily understood. Making the abstract concepts easy to understand is what this Turning machine demonstrator aims to do.

The TMD-1 is a project that’s something of a departure from [Michael Gardi]’s usual fare, which has mostly been carefully crafted recreations of artifacts from the early days of computer history, like the Minivac 601  trainer and the DEC H-500 computer lab. The TMD-1 is, rather, a device that makes the principles of a Turing machine more concrete. To represent the concept of the “tape”, [Mike] used eight servo-controlled flip tiles. The “head” of the machine conceptually moves along the tape, its current position indicated by a lighted arrow while reading the status of the cell above it by polling the position of the servo.

Below the tape and head panel is the finite state machine through which the TMD-1 is programmed. [Mike] limited the machine to three states and four transitions, each of which is programmed by placing 3D-printed tiles on a matrix. Magnets were inserted into cavities during printing; Hall Effect sensors in the PCB below the matrix read the pattern of magnets to determine which tiles are where. The video below shows the TMD-1 counting from 0 to 10, which is enough to demonstrate the basics of Turing machines.

It’s hard not to comment on the irony of a Turing machine being run by an Arduino, but given that [Mike]’s goal was to make abstract concepts easy to understand, it makes perfect sense to leverage the platform rather than try to do this with discrete logic. And you can’t argue with results — TMD-1 made Turing machines clear to us for the first time.

Z80 Computer Is Both Arduino And Shield

There have been plenty of Z80 computer builds here on Hackaday, but what sets them apart is what you do with them. [Andrew] writes in with his Z80 single-board computer made from scratch, using the Arduino standard headers for its I/O. In turn, since he needed an easy way to program the flash memory which holds the software to run on the Z80, he used an Arduino Mega as a debugger, making the SBC an Arduino shield itself.

Using such a common header pinout for the Z80 computer allows it to be used with a variety of readily-available Arduino shields. This compatibility is achieved with an analog-digital converter and a 3.3 V regulator, mimicking the pins found in an Arduino Uno. The code, available on GitHub, includes an extensive explanation and walkthrough over the process in which the Mega takes over the bus from the Z80 to function as a fully-featured debugger. Programs can be loaded through embedding an assembly listing into the Mega’s sketch, or, once the debugger is up you can also upload a compiled hex file through the serial connection.

This isn’t the first time [Andrew] has been featured here, and his past projects are just as interesting. If you need to translate a Soviet-era calculator’s buttons into English, hack a metallurgical microscope or even investigate what’s that Clacking Clanking Scraping Sound, he’s the one you should call.

A Tetris To Be Proud Of, With Only A Nano

Tetris may have first arrived in the West on machines such as the PC and Amiga, but its genesis at the hands of [Alexey Pajitnov] was on an Electronika 60, a Soviet clone of an early-1970s DEC PDP-11. Thus those tumbling blocks are hardly demanding in terms of processor power, and a game can be implemented on the humblest of hardware. Relatively modern silicon such as the Atmega328 in [c0pperdragon]’s Arduino Nano Tetris console should then have no problems, but to make that assumption is to miss the quality of the achievement.

In a typical home or desktop computer of the 1980s the processor would have been assisted by plenty of dedicated hardware, but since the Arduino has none of that the feat of creating the game with a 288p video signal having four gray scales and with four-channel music is an extremely impressive one. Beside the Nano there are only a few passive components, there are no CRT controllers or sound chips to be seen.

The entire device is packaged within a clone of a NES controller, with the passives on a piece of stripboard beside the Nano. There is a rudimentary resistor DAC to produce the grey scales, and the audio is not the direct PWM you might expect but a very simple DAC created by charging and discharging a capacitor at the video line frequency. The results can be seen and heard in the video below the break, and though we’re sure we’ve heard something like that tune before, it looks to be a very playable little game.

Hack a Day 28 Feb 09:00

Vintage Mini Inkjet Prints On-Demand ASCII Art

Readers of a certain age may fondly remember ASCII art emerging from line printers in a long-gone era of computing; for others, it’s just wonderfully retro. Well, when [Emily Velasco] found a vintage Kodak Diconix 150 inkjet at a local thrift store for $4, she knew what she had to do: turn it into a dedicated ASCII-art machine.

Dating to the mid-1980s, the diminutive printer she scored was an early example of consumer inkjet technology; with only 12 “jets,” it sported a resolution roughly equivalent to the dot-matrix impact printers of the day. [Emily] notes that this printer would have cost around $1000 in today’s money — this is from a time before printer companies started selling the printer itself as a loss leader to make revenue on the back end selling consumables. It seems you can’t escape the razor-and-blades model, though: [Emily] had to pay $16 for a new ink cartridge to revive the $4 printer.

With the new ink in place, and some tractor-feed paper acquired, [Emily] started work on the art generator. The concept is something that might have been sold on late-night TV ads: a “cartridge” you plug into your printer to make ASCII masterpieces. Starting with a stripped-down Centronics printer cable that matches the printer’s port, she added an Arduino nano to store and serve up the art. The user interface is foolproof: a single button press causes a random selection from one of ten ASCII images to be printed. The whole thing is ensconced within a slick 3D printed case.

One of the coolest aspects of this project is the lack of power supply. When she first hooked the Arduino to the printer’s parallel port, [Emily] noticed that it powered right up with no external supply, and in true hacker fashion, just ran with it. Upon reflection, it seems that power is being supplied by the printer status lines, Busy and/or Ack, through the input protection diodes of the Atmega328 on the nano.

We really like this project, and are more than a little bummed we tossed those old printers that were kicking around the Hackaday labs for years. If you still have yours, and would like turn out some rad ASCII art, the code for this project is up on GitHub.

We’re no strangers to [Emily]’s work, but if you aren’t familiar with it, check out her inspiring talk from the 2019 Hackaday Superconference. Meanwhile, don’t miss the excellent video about the ASCII art printer cartridge, after the break.

Hack a Day 09 Jan 16:30

Interface Your C64 With Arduinos Through Firmata

Microcontrollers are cool, but sometimes the user interface options they can deliver are disappointing. The platform in question may not have the horsepower required to drive a decent screen, and often a web interface is undesirable for security or complexity reasons. Sometimes you just need a good software interface between chip and computer. Firmata is a protocol that’s designed to do just that, and [nanoflite] has brought it to the Commodore 64.

It’s a fun project, which allows one to use the C64’s charming retro graphics to interface with an Arduino-based project. Connection is achieved at 2400bps over the user port, which is plenty fast for most UI applications. [nanoflite] demonstrates the interface with an Arduino Uno and a Grove shield. The C64 is able to display the state of the LED, relay and servo outputs, as well as read the Arduino’s button and potentiometer inputs.

It’s an excellent way to integrate a Commodore 64 into a microcontroller setup without reinventing the wheel. We think it would make an awesome vintage interface to a home automation system or similar build. If you’re interested, but you don’t have a C64 of your own to play with, never fear – you can just build a new one.

Hack a Day 10 Apr 06:00

Wireless Controllers For Retro Gaming

There’s no limit to the amount of nostalgia that can be minted through various classic platforms such as the NES classic. The old titles are still extremely popular, and putting them in a modern package makes them even more accessible. On the other hand, if you still have the original hardware things can start getting fussy. With modern technology it’s possible to make some changes, though, as [PJ Allen] did by adding wireless capabilities to his Commodore 64.

Back when the system was still considered “modern”, [PJ] tried to build a wireless controller using DTMF over FM radio. He couldn’t get it to work exactly right and ended up shelving the project until the present day. Now, we have a lot more tools at our disposal than analog radio, so he pulled out an Arduino and a few Bluetooth modules. There’s a bit of finesse to getting the old hardware to behave with the modern equipment, though, but once [PJ] worked through the kinks he was able to play his classic games like Defender without the limitations of wired controllers.

The Commodore 64 was incredibly popular in the ’80s and early ’90s, and its legacy is still seen today. People are building brand new machines, building emulators for them, or upgrading their hardware.

Vintage Atari Becomes Modern Keyboard

The modern keyboard enthusiast is blessed with innumerable choices when it comes to typing hardware. There are keyboards designed specifically for gaming, fast typing, ergonomics, and all manner of other criteria. [iot4c] undertook their own build for no other reason than nostalgia – which sounds plenty fun to us.

An Arduino Leonardo is pressed into service for this hack. With its USB HID capabilities, it’s perfectly suited for custom keyboard builds. It’s built into a working Atari 65XE computer, and connected to the keyboard matrix. The Keypad and Keyboard libraries are pressed into service to turn keypresses on the 80s keyboard into easily digseted USB data.

There’s plenty of room inside the computer for the added hardware, with the USB cable neatly sneaked out the rear. [iot4c] notes that everything still works and the added hardware does not cause any problems, as long as it’s not used as a computer and a keyboard at the same time.

It’s possible to do a similar hack on the Commodore 64, too. If you’re doing tricky keyboard builds yourself, you know where to send ’em.