Urgent.News

What's breaking now, across thousands of outlets.

Tech

Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

In 1993, the author, an engineering student in Baghdad, developed the game Babylonian Twins on an Amiga 500. The Amiga had 512KB of RAM and no hard drive, and it was plugged into a TV. The game was written entirely in 68000 assembly, with every sprite and scanline crafted manually. Murtadha Salman created the art and Mahir AlSalman composed the music.

The duo faced challenges due to international sanctions, which limited their access to resources. They worked with only one copy of the Amiga Hardware Reference Manual and had to swap floppy disks frequently due to memory constraints. The Amiga also operated at a high temperature of 50°C, causing frequent disk drive failures. The author's game, Babylonian Twins, was the first commercial game produced in Iraq, and for many years, it remained a rare find.

After Commodore's collapse and increased sanctions, the game sat on shelves for a long time before being discovered in 2008 by an Amiga forum member. The game was later ported to the iPhone in 2010 by the same team, who rebuilt it using a custom engine written from scratch, resulting in over 34,000 lines of C++ code.

Written by urgent.news from Hacker News's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Also reported by 1 other outlet

Read the original at babyloniantwins.com →

More in Tech

Queue Email Checks in React

Async email validation feels simple right up until real users type faster than your network. Then the oldest request resolves last, your UI flips back to an outdated result, and the signup form starts…

  • Email validation in React becomes confusing with fast user typing.
  • Queue email validation ensures UI remains responsive and accurate.
  • Monotonic request IDs prevent older results from overriding newer ones.

Swagger and OpenAPI: The Docs That Write Themselves

"Swagger" and "OpenAPI" get used interchangeably, and untangling that is actually the first useful thing to do here, one is a specification, the other is a tool that renders it.

  • OpenAPI is a specification for API details, while Swagger is a tool for interactive documentation.
  • SwaggerGen generates OpenAPI docs from code, mirroring controller routes and response schemas.

More from Thursday 3 September →