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”

Say Hello To This Cortana Hologram

Halo’s Cortana enters the real world with this internet appliance. [Jarem Archer] has built an amazing “holographic” home for Cortana of Halo and Windows fame. The display isn’t really a hologram, it uses the age-old Pepper’s ghost illusion. A monitor reflects onto 3 angled half mirrored panels. This creates a convincing 3D effect. Cortana herself is a 3D model. [Jarem’s] wife provided gave Cortana her moves by walking in front of dual Kinect depth-sensing cameras. This motion capture performance drives the 3D Cortana model on the screen.

The brain behind this hack is the standard Windows 10 Cortana voice assistant. Saying “Hey Cortana” wakes the device up. To make the whole experience more interactive, [Jarem] added a face detection camera to the front of the device. When a face is detected, the Cortana model turns toward the user. Even if several people are watching the device, it would seem as if Cortana was “talking to” one person in the audience.

The cherry on top of this hack is the enclosure. [Jarem] 3D printed a black plastic stage. An Arduino drives RGB LEDs whenever Cortana is activated. The LEDs project a blue glue that works well with the Pepper’s ghost illusion. The result is a project that looks like something Microsoft might have cooked up in one of their research labs.

Continue reading “Say Hello To This Cortana Hologram”

Neural Networks Walk Better Than Humans For Game Animation

Modern day video games have come a long way from Mario the plumber hopping across the screen. Incredibly intricate environments of games today are part of the lure for new gamers and this experience is brought to life by the characters interacting with the scene. However the illusion of the virtual world is disrupted by unnatural movements of the figures in performing actions such as turning around suddenly or climbing a hill.

To remedy the abrupt movements, [Daniel Holden et. al] recently published a paper (PDF) and a video showing a method to greatly improve the real-time character control mechanism. The proposed system uses a neural network that has been trained using a large data set of walking, jumping and other sequences on various terrains. The key is breaking down the process of bipedal movement and its cyclic behaviour into a series of sub-steps or phases. Each phase translates to a natural posture for the character while moving. The system precomputes the next-phases offline to conserve computational resources at runtime. Then considering user control, previous pose of the character(including joint positions) and terrain geometry, the consequent frame of the animation is computed. The computation is done by a regression network that calculates future position of the joints and a blending function is used for Motion Matching as described in a presentation (PDF) and video by [Simon Clavet]. Continue reading “Neural Networks Walk Better Than Humans For Game Animation”

Your Next Desktop… QNX?

QNX has a long checkered history as an embedded operating system. QNX was always famous for being a real time operating system with a microkernel architecture. That is, kernel functions run as a set of coordinated tasks instead of as a single piece of code. A recent release of QNX 7 (see video, below) allows it to run on 64-bit desktop computers and [elahav] decided to tackle turning this embedded RTOS into a desktop operating system.

That might sound far-fetched, but QNX is a POSIX-compliant system and has all the features you’d expect in a system like Linux or BSD. It just isn’t aimed at the desktop market and therefore doesn’t have a lot of tools for running the desktop. QNX isn’t the kind of RTOS you’ll find on an Arduino. It is more common in things like automobile systems (for example, it runs General Motor’s OnStar system).

He started with a mini ITX board and installed QNX. Usually, you develop for an embedded system on a workstation and then just ship the code over to the target system, but [elahav] took the time to get a build system working on the target. There was one problem. The built-in vi editor was primitive by modern standards. He is usually an emacs user, but even vim would be better than the “stock” vi. While an emacs port would be possible, it would also require porting over a lot of libraries, so his first project was to get the vim source code to compile.

Turned out not to be as easy as he had hoped. The build system expected certain GNU tools that didn’t exist yet (although standard versions of the tools, like grep, did exist). So he had to figure out how to cross compile vim. In retrospect, [elahav] decided he should have just ported the GNU tools first. He did have to remove some old code from vim that was aimed at an older version of QNX.

Continue reading “Your Next Desktop… QNX?”

Official Launch Of The Asus Tinker Board

Earlier this year, a new single board computer was announced, and subsequently made its way onto the market. The Tinker Board was a little different from the rest of the crop of Raspberry Pi lookalikes, it didn’t come from a no-name company or a crowdfunding site, instead it came from a trusted name, Asus. As a result, it is a very high quality piece of hardware, upon which we remarked when we reviewed it.

Unfortunately, though we were extremely impressed with the board itself, we panned the Asus software and support offering of the time, because it was so patchy as to be non-existent. We had reached out to Asus while writing the review but received no answer, but subsequently they contacted us with a sorry tale of some Tinker Boards finding their way onto the market early, before their official launch and before they had put together their support offering. We updated our review accordingly, after all it is a very good product and we didn’t like to have to pan it in our review.

This week then, news has come through from Asus that they have now launched the board officially. There is a new OS version based on Debian 9, which features hardware acceleration for both the Chromium web browser and the bundled UHD media player. There is also an upcoming Android release though it is still in beta at time of writing and there is little more information.

The Tinker Board is one of the best of the current crop of Raspberry Pi-like single board computers, and it easily trounces the Pi itself on most counts. To see it launched alongside a meaningful software and support offering will give it a chance to prove itself. In our original review we urged tech-savvy readers to buy one anyway, now it has some of the backup it deserves we’d urge you to buy one for your non-technical family members too.

Retrofitting An Amstrad CPC6128 With A Floppy Emulator

In the home computer boom of 1980s Britain, you could describe Amstrad as the third-placed home-grown player after Sinclair and Acorn. If you were a computer enthusiast kid rather than a gamer kid, you wanted Acorn’s BBC Micro, your parents bought you Sinclair’s ZX Spectrum because it was cheaper, and you thought the Amstrads were cool because they came with a better monitor than your family’s cast-off 1970s TV.

Amstrad were not a computer company headed by a technical wizard, instead they were a consumer electronics company whose founder [Alan Sugar] had a keen nose for the preferences of the consumer. Thus the Amstrad machines were different from some of their competitors: they were more polished, more appliances than experimental tools. Mass storage devices such as tape decks and floppy drives were built-in, every Amstrad came with its own dedicated monitor, and keyboards were decent quality as you’d see on a “proper” computer.

The high-end Amstrad model was the CPC6128. It came with a 3″ floppy drive, and of most interest, it could run the CP/M operating system. If your parents bought you an Amstrad CPC as a 1980s teen, it wouldn’t have been this one, so they are considerably less common than their 64k brethren with the cassette deck. One has found its way into [Drygol]’s hands though, and because the vintage 3″ floppies are unobtainable nowadays he’s fitted a floppy emulator board that stores data on an SD card.

In a sense, in that this is simply the fitting of an off-the-shelf board to a computer, it’s Not A Hack. But misses the point. This is an unusual home computer from the 8-bit era and his write-up is as much a teardown as it is  a howto. We don’t often get to see inside a 6128.

Fitting the board required the fabrication of a cable, with some very neat soldering work. The board has an LCD display, which is mounted in the floppy opening with a 3D printed bezel. The result is a very usable retro computer, without too much in the way of wanton remodeling.

This is probably the first real Amstrad 6128 we’ve shown you, but that hasn’t stopped enthusiasts making a clone with original chips, and another on an FPGA.

 

An 8-Bit Transport Triggered Architecture CPU In TTL

When we are introduced to the internals of a microprocessor, it is most likely that we will be shown something like one of the first generation of 8-bit CPUs from the 1970s. There will be the familiar group of registers and counters, an arithmetic and logic unit (ALU), and an instruction decoder with associated control logic. A complex instruction set causes the decoder to marshal registers and ALU to perform all the various functions in the right order. CPUs may have moved on in many ways since the 1970s, but the block diagram of an 8080 or similar still provides a basic grounding for the beginner.

So when we tell you about another home-made CPU using TTL logic chips, you might expect it to follow this well-worn path. Fortunately though the hardware hacking community is always capable of springing surprises upon us, and [Szoftveres] has done just that with his design. It’s a one-instruction-set machine following a transport triggered architecture, and that means it deviates sharply from the conventional architecture described above. Each instruction is a move between the different physical functions of the processor, and computation is achieved by the physical functions working on the data as it is moved into them and presenting the result on their outputs ready to be moved elsewhere. The result is a computer that is in its own way beautifully simple, though at the expense of some inflexibility and lack of some hardware functions we take for granted in more conventional processors.

This machine has been built on a piece of stripboard, and has an accompanying board with display, keypad, and a modem. There is a small board based upon an ATmega8 microcontroller which performs the function of fast program loading, and can be removed once the code is loaded. Software can be written in a C-like language anc compiled using the compiler in his GitHub repository, and he has produced a YouTube video of the machine in operation. This project is well worth reading through in-depth, for its introduction to this slightly unusual architecture.

Continue reading “An 8-Bit Transport Triggered Architecture CPU In TTL”