Reverse Engineering The SEGA Mega Drive

With the widespread adoption of emulators, almost anyone can start playing video games from bygone eras. Some systems are even capable of supporting homebrew games, with several having active communities that are still creating new games even decades later. This ease of programming for non-PC platforms wasn’t always so easy, though. If you wanted to develop games on a now-antique console when it was still relatively new, you had to jump through a lot of hoops. [Tore] shows us how it would have been done with his Sega Mega Drive development kit that he built from scratch.

While [Tore] had an Atari ST, he wanted to do something a little more cutting edge and at the time there was nothing better than the Mega Drive (or the Genesis as it was known in North America). It had a number of features that lent the platform to development, namely the Motorola 68000 chip that was very common for the time and as a result had plenty of documentation available. He still needed to do quite a bit of reverse engineering of the system to get a proper dev board running, though, starting with figuring out how the cartridge system worked. He was able to build a memory bank that functioned as a re-writable game cartridge.

With the hard parts out of the way [Tore] set about building the glue logic, the startup firmware which interfaced with his Atari ST, and then of course wiring it all together. He was eventually able to get far enough along to send programs to the Mega Drive that would allow him to control sprites on a screen with the controller, but unfortunately he was interrupted before he could develop any complete games. The amount of research and work to get this far is incredible, though, and there may be some helpful nuggets for anyone in the homebrew Mega Drive community today. If you don’t want to get this deep into the Mega Drive hardware, though, you can build a cartridge that allows for development on native Sega hardware instead.

Build A Barebones 68000

The 68000 chip was ubiquitous in the computing world well past its heyday in the 1980s. It was used as the basis for many PCs and video game consoles, and even in embedded microcontrollers. Now, one of its niche applications is learning about the internal functions of computers. 68000 builds are fairly common when building homebrew computers from scratch, but projects like these can be complicated and quickly get out of hand. This 68000 project, on the other hand, gets the job done with the absolute minimum of parts and really dives into the assembly language programming on these chips. (Google Translate from Spanish)

[osbox68] built this computer by first simulating its operation. Once he was satisfied with that, the next step was to actually build the device. Along with the MC68008 it only uses two other TTL chips, a respectable 32 kilobytes of ram, and additionally supports a serial port and an expansion bus. A few 74-series chips round out the build including a 74HC574 used for debugging support. With a custom PCB to tie everything together, it’s one of the most minimal 68000 builds we’ve seen that still includes everything needed to be completely functional.

After all, including the TTL and 74XX chips the entire circuit board only uses 10 integrated circuits and a few other passive elements for a completely functional retro computer. [osbox68] also includes complete schematics for building a PCB based on these chips to make construction that much easier. Of course, emulating an old microcontroller instead of using TTL components can save a lot of real estate on a PCB especially if you’re using something like an FPGA.

The Amiga 2000 You Always Wanted

Back in the late 1980s, Commodore pulled the masterstroke of selling several models and generations of Amiga that were all powered by essentially the same speed 68000 and associated chipset. Sure, there were differences in the RAM and other options you could fit and later models had a few extra graphics modes. Still, the entry-level A500 did substantially the same as the high-end A2000. No matter, we the fans all wanted a 2000 anyway, though we typically found ourselves unable to afford one. It’s 2021 now though, so if you never achieved the dream of owning your own A2000, now you can build one of your own! It’s the task [Drygol] has taken on, with an A2000 made entirely from new components, save for a few salvaged Commodore-specific chips and connectors.

At its heart is a beautiful recreation of the original PCB that we’re guessing will be of great interest to owners whose NiCd batteries have leaked and corroded their originals. It’s all through-hole, but the sheer size of a motherboard still makes it a daunting prospect to solder by hand. There are a huge quantity of decoupling and ESD components that all have to be held with tape before the board is flipped over for soldering, and then all the chips are socketed. A Fat Agnes address generator was fitted on a RAM expansion daughterboard, leading to some significant problems as it proved not to be compatible and had to be removed.

The whole is put in a very low-profile PC case with appropriate risers for the Zorro slots, and then in goes a set of upgrades probably not seen in the same place since about 1993. We don’t recognize them all, but we can see accelerators, a floppy emulator, an HDD emulator using a CF card, and is that a network card we spy? This machine is still a work in progress, but we can guarantee it would have been an extreme object of desire thirty years ago. See it in action in the video below the break.

If rebuilding an Amiga interests you, we took a look at the state of the remanufactured parts scene for the platform last year.

Continue reading “The Amiga 2000 You Always Wanted”

This 68k Board Is About As Simple As It Gets

For those of us who remember the Motorola 68000 microprocessor, it’s likely that a sizeable quantity of those memories will come in the form of a cream or grey box with a Commodore, Atari, or Apple logo on it These machines were the affordable creative workstations of their day, and under the hood were a tour de force of custom silicon and clever hardware design. We might, therefore, be excused for an association between 68000 based computers and complexity, but in reality, they are as straightforward to interface as the rest of the crop of late-1970s silicon. We can see it in [Matt Sarnoff]’s 68k-nano, about as simple a 68000-based single-board computer as it’s possible to get.

But for all its simplicity, this board is no slouch. It packs a megabyte of RAM, 64k of ROM, a 16550 UART, and an IDE interface for a CompactFlash card. There is also provision for a real-time clock module, through an interesting bit-banged SPI interface from the 16550’s control lines. There appears also to be a 50-pin expansion header.

Software-wise there is a ROM monitor that provides test and housekeeping functions, and which loads an executable from the card plugged into the IDE interface if there is one. This feature makes the board especially interesting, as it opens up the possibility of running a μClinux or similar kernel for a more fully-featured operating system.

The 68k doesn’t receive the attention here that some of its 8-bit contemporaries do, but it still appears from time to time. We’ve certainly featured at least one other 68000-based SBC in the past.

Thanks [Anton] for the tip.

Run Java On An Amiga

In the modern world, we take certain tools for granted. High-level programming languages such as C or Python haven’t been around that long in the grand scheme of things, and Java has only existed since the ’90s. Getting these tools working on machines that predate them is more of a challenge than anything, and [Michael Kohn] was more than willing to tackle this one. He recently got Java running on a Commodore Amiga.

The Amgia predates Java itself by almost a decade, so this process wasn’t exactly straightforward. The platform has a number of coprocessors that were novel for their time but aren’t as commonplace now, taking care of such tasks such as graphics, sound, and memory handling. Any psoftware running on the Amiga needs to be in a specially formatted program as well, so that needed to be taken care of, even loading Java on the computer in the first place took some special work using a null modem cable rather than the floppy disk an Amiga would have used back in the day.

Loading Java on an antique Amiga is certainly a badge of honor, but [Michael] isn’t a stranger to Java and the Motorola 68000s found in Amigas. There’s a 68000 in the Sega Genesis as well, and we’ve seen how [Michael] was able to run Java on that too.

Continue reading “Run Java On An Amiga”

The Tiniest Working 68K System

68000 microprocessors appeared in the earliest Apple Macintoshes, the Commodore Amiga and Atari ST, and the Sega Genesis/Mega Drive among other familiar systems. If you were alive during the 16-bit era, there is a good chance that you will have owned a Motorola 68000 or one of its derivatives in a computer or game console. By the end of the 1990s it was clear that the 68K line had had its day on the desktop, but a new life for it at the consumer level was found in the PDA market. The first Motorola Dragonball was a 68000 series system-on-chip, and it was a few of these in a BGA package that [Plasmode] had in stock after ordering them in error believing them to be in a different package.

The Dragonball 68328 has an interesting bootstrap mode allowing it to run with no external ROM or RAM, and with only a serial connection to the outside world. Recognising this as having the potential for the smallest possible 68K system, he proceeded to make it happen with some impressive soldering direct to the solder balls of an upturned BGA package.

On a piece of PCB material are simply the 68328, a 32.768kHz crystal and capacitors, a MAX232 circuit for an RS232 serial connection, a reset button, and a power regulator. Using the Motorola DOS debug software which is still available for download after all these years, he was able to connect to his tiny 68K computer and run code. It’s not entirely useful, but of all the possible 68K configurations it has to be the smallest.

This isn’t the first minimal computer using only a processor chip and serial link, in the past we’ve shown you a PDP-11 in the same vein.

The Modern Retrocomputer: An Arduino Driven 6845 CRT Controller

[MmmmFloorPie] revived an old project to create the retro mashup of a 6845 CRT controller and a modern Arduino Uno. When it comes to chips, the Motorola 6845 is the great granddaddy of Cathode Ray Tube (CRT) interfaces. It was used in the IBM Monochrome display adapter, the Hercules graphics controller, CGA, Apple II terminal cards, and a host of other microcomputer and terminal systems.

Way back in 1989, [MmmmFloorPie] was a senior in college. His capstone project was a 68000 based computer which could record and playback audio, as well as display waveforms on a CRT. The CRT in question was ordered from a classified add in Popular Science magazine. It was a bare tube, so the heavy cardboard box it shipped in was repurposed as a case.

Fast forward to today, and  [MmmmFloorPie] wanted to power up his old project. The 68000 board was dead, and he wasn’t up to debugging the hundreds of point to point soldered connections. The CRT interface was a separate board including the 6845 and 32 KByte of RAM. It would only take a bit of hacking to bring that up. But what would replace the microprocessor?

Continue reading “The Modern Retrocomputer: An Arduino Driven 6845 CRT Controller”