Large Language Model Can Help You Develop For The Amiga

Developing for the Amiga used to involve reading dense programming manuals and trial and error. In contrast, developing these days can be as simple as barking orders at ChatGPT to spit you out some Python code. However, that technique doesn’t work so well for Amiga languages, as ChatGPT hasn’t read much about the now-ancient platform. However, as covered by AmigaNews, there is now a ChatGPT model trained specifically on Amiga development. Enter Amiga Guru.

The work of [Cameron Armstrong], Amiga Guru was built after his early experiments with ChatGPT spat out non-functional gibberish when Amiga-compatible code was requested. The model has been trained on a corpus of official Amiga programming manuals, third-party books, and even the documentation for AmigaOS 3.2 and 4.1.

Using the model yourself requires a subscription to ChatGPT Plus, which prevents this writer from testing it directly. However, it makes sense that having been directly trained on Amiga manuals, it would be more capable at answering Amiga programming queries than conventional ChatGPT 4.

It’s easy to see the value of such a system. Learning to program for older platforms can be hard, with less resources available for new learners. Having an AI to help could be useful for some eager to develop for the 68K-based machine.

If you’d like to try Amiga Guru, you can access it via this link. Be sure to let us know how you go, and whether you think it has any value for speeding up your own Amiga development. Otherwise, if you’ve been doing anything else nifty with the platform that Commodore bought and paid for, don’t hesitate to let us know!

[Thanks to Stephen Waters for the tip!]

render of the Amiga juggler demo

The Juggler: In Rust

Back on the theme of learning to program by taking on a meaningful project — we have another raytracing demo — this time using Rust on the Raspberry Pi. [Unfastener] saw our previous article about writing a simple raytracer in spectrum BASIC and got inspired to try something similar. The plan was to recreate the famous juggler 3D demo, from the early days of 3D rendering on the Amiga.

The juggler story starts with an Amiga programmer called [Eric Graham] who created ssg, the first ray tracer application on a personal computer. A demo was shown to Commodore, who didn’t believe it was done on their platform, but a quick follow-up with the actual software used soon quelled their doubts. Once convinced, they purchased the rights to the demo for a couple of thousand dollars (in 1986 money, mind you) to use in promotional materials. [Eric] developed ssg into the popular Sculpt 3D, which became available also on Mac and Windows platforms, and kick-started a whole industry of personal 3D modelling and ray tracing.

Anyway, back to the point. [Unfastener] needed to get up the considerable Rust learning curve, and the best way to do that is to let someone else take care of some of the awkward details of dealing with GUI, and just concentrate on the application. To that end, they use the softbuffer and winit Rust crates that deal with the (important, yet frankly uninteresting) details of building frame buffers and pushing the pixels out to the window manager in a cross-platform way. Vecmath takes care of — you guessed it — the vector math. There’s no point reinventing that wheel either. Whilst [Unfastener] mentions the original Amiga demo took about an hour per frame to render, this implementation runs in real-time. To that end, the code performs a timed pre-render to determine the most acceptable resolution to get an acceptable frame rate, achieving a respectable 30 or so frames per second on a Pi 5, with the older Pis needing to drop the resolution a little. This goes to show how efficient Rust code can be and, how capable the new Pi is. How far we have come.

We saw another interesting rust-based raytracer a while back, which is kinda fun. We’ve also covered rust in other applications a few times, like inside the Linux kernel. Finally here’s our guide to getting started with rust, in case you need any more motivation to have a crack at this upcoming language.

It Wasn’t DOOM That Killed The Amiga

If you were the type of person who might have read Hackaday had we been around in the late 1980s or early 1990s, it’s a reasonable guess that you would have had a 16-bit home computer on your desk, and furthermore that it might have been a Commodore Amiga. These machines gave the best bang for the buck in those days with their impressive multimedia capabilities, and they gained a fervent following which persists to this day. [Carl Svensson] was one of them, and he’s penned a retrospective on the demise of the platform with the benefit of much hindsight.

The heyday of the Amiga from its 1985 launch until the days of the A1200 in the early-to-mid 1990s saw Moore’s Law show perhaps its fastest effects for the consumer. In that decade the PC world jumped from the 8088 to the Pentium, and from a PC speaker and CGA if you were lucky, to a Sound Blaster 16 and accelerated SVGA. By comparison the Amiga didn’t change much except in model numbers and a few extra graphics modes, and when a faster processor came it was far to little too late.

Defender of the Crown, released in 1986

There’s a well-worn path with some justification of blaming Commodore-s notoriously awful management for the debacle, but the piece goes beyond that into the mid ’90s. His conclusion is that what really killed the Amiga was that the CPU price reductions which defined the x86 world at that time never came to 68k or PowerPC lines, and that along with the architecture zealotry of the fan base meant that there would never be the much-longed-for revival.

He also takes a look at the other home computer platforms of the era, including the “all its killer architecture managed to kill was, sadly, Atari itself” Atari Falcon, and the Acorn Archimedes, which also lives on for enthusiasts and is perhaps the most accessible survivor. From here having also the benefit of hindsight we can’t disagree with him on his assessment, so perhaps it’s best to look at the Amiga not as the platform we should rightfully still be using, but the great stepping stone which provided us a useful computer back in t he day without breaking the bank.

You Can Now Order A Brand-New Amiga PCB

The Commodore 64 has been pulled apart, reverse engineered, replicated, and improved upon to no end over the last four decades or so. The Amiga 500 has had less attention, in part due to its greater level of sophistication. However, you can now order a brand-new Amiga-compatible PCB if you’re looking to put together a machine from surplus parts.

The design is known as Denise, and is apparently the work of an anonymous Swedish designer according to the Tindie listing. It’s not a direct replica of any one Amiga machine. Instead, it’s best described as “a compact A500+ compatible motherboard with two Zorro2 slots and a few additional features.”

Denise is just a PCB, though. No emulated chips or other components are included. To use the PCB, you’ll need a full set of Amiga custom chips and a suitable Motorola 68000-series CPU to suit. It can be used with either OCS or ECS chipsets. At this stage, it’s only verified to work with the 2MB version of the Agnus chip, though the creators believe it should work with a 1MB “Diet Agnus.”  Some modern conveniences are on hand, too. A pair of microcontrollers will allow the use of Amiga or PC keyboards, along with Amiga or PS/2 style mice, including support for scroll wheels.

Given the number of damaged, battered, and corroded Amiga PCBs out there, it’s great that there is a source of fresh, new PCBs for restoration purposes. Video after the break.

Continue reading “You Can Now Order A Brand-New Amiga PCB”

An Amiga Mouse, The Modern Way

When we recently featured an Amiga upgrade project, [EmberHeavyIndustries ] was prompted to share one of their own, an adapter to allow a modern USB HID mouse to be used with the Commodore quadrature mouse port.

The first mice simply transferred the rotation of the ball through rollers to switches or optical sensors which passed pulse trains to the host computer. From the relative phase of these pulse trains the computer could work out what direction the mouse was going, as well as how far it had moved through counting the pulses. Since this was the simplest mouse interface, many of the 16-bit era machines used these signals. The PC meanwhile lacked such a port, so companies such as Microsoft had to place a microcontroller in the mouse to do the position sensing, and send the result over a serial interface. This evolved over time into the USB HID mouse interface you are probably using today.

Unfortunately for owners of quadrature mouse driven machines, real quadrature mice are a little thin on the ground these days, thus the adapter is a seriously useful device. At its heart is an STM32 microcontroller, and it’s been through a few updates and now supports mouse wheels. Your Amiga has been waiting for this!

There are quite a few other treats for Amiga enthusiasts in the EmberHeavyIndustries GitHub account, meanwhile here’s the video upgrade which caused us to receive the tip.

Digital Video From The Amiga’s DB23 Socket

Back in the days of 16-bit home computers, the one to have if your interests extended to graphics was the Commodore Amiga. It had high resolutions for the time in an impressive number of colours, and thanks to its unique video circuitry, it could produce genlocked broadcast-quality video. Here in 2023 though, it’s all a little analogue. What’s needed is digital video, and in that, [c0pperdragon] has our backs with the latest in a line of Amiga video hacks. This one takes the 12-bit parallel digital colour that would normally go to the Amiga’s DAC, and brings it out into the world through rarely-used pins on the 23-pin video connector.

This follows on from a previous [c0pperdragon] project in which a Raspberry Pi Zero was used to transform the digital video into HDMI. This isn’t a hack for the faint-hearted though, as it involves extensive modification of your treasured Amiga board.

It is of course perfectly possible to generate HDMI from an Amiga by using an external converter box from the analogue video output, of the type which can be bought for a few dollars from online vendors. What this type of hack gives over the cheap approach is low latency, something highly prized by gamers. We’re not sure we’re ready to start hacking apart our Amigas, but we can see the appeal for some enthusiasts.

The MouSTer Adapter Now Has Amiga Scroll Support

The MouSTer is a device that enables modern USB HID mice to be used on various retro computers. The project has been through its ups and downs over years, but [drygol] is here to say one thing: rumors of the MouSTers demise have been greatly exaggerated. Now, the project is back and better than ever!

The team has been hard at work on quashing bugs and bringing new features to bear. The headline is that the MouSTer project will now offer mouse wheel support for Amiga users. This is quite the coup, as mouse wheels were incredibly obscure until the late 90s. Now, users of Commodore’s finest machines will be able to scroll with abandon with modern HID mice.

While the progress is grand, much is still left to be done. Despite the name, the MouSTer was never intended to solely serve Atari users. Future goals involve adding support for ADB mice for retro Macs, DB9 mouse support for even-older Apple machines, and DB9 mouse support for older PCs. The team is eager for there to be one MouSTer to rule them all, so to speak, and hopes to make the ultimate retro computer mouse adapter to serve as many purposes as possible.

We first looked at the MouSTer back in 2020, and it’s great to see how far it’s come.

Continue reading “The MouSTer Adapter Now Has Amiga Scroll Support”