Ultima 3 for Game Boy Color

Produced by: Sven Carlberg
Website: Ult3GBC @ GitHub

Ultima 3 for Game Boy Color
Ultima 3 for Game Boy Color

A remake and expansion of Ultima 3 for the Nintendo Game Boy Color.


Source Code
Source Code

Source code for the Nintendo Game Boy Color port of Ultima 3.


Ultima 3 for Analogue Pocket
Ultima 3 for Analogue Pocket

A reworking of Ultima 3 for Game Boy Color targeting the Analogue Pocket handheld gaming system.

Proving once again that Ultima 3 is one of the most cross-platform games out there, this is a novel remake of the game for the Nintendo Game Boy Color. Interestingly, it is not based on the NES port of the game; instead, it fuses elements from the Commodore 64 version (graphics and music) and the MS-DOS version (game code and logic).

And, in addition to the complete quest to destroy Exodus, Sven Carlberg has added a second quest — using a custom map of Sosaria — that immediately follows the normal game.

As of 2023, CaitSith2 has ported — with Sven’s approval — the game to the Analogue Pocket portable gaming handheld.

Note: As the project has now been moved to GitHub, Sven has requested that any bugs or support requests be posted to the project’s Issues page there.

9 Responses

  1. Brian Sauger says:

    How do you DIG for exotics?

    • WtF Dragon says:

      From Sven’s Github: “The one thing that seems to cause confusion is the menu. When you press the “A” button, you will be presented with a menu of options (Attack, Board, etc…). If you press the D-Pad left or right, you will get the 2nd set of options (Transact, Unlock, etc.)”

      https://github.com/RetroSven/ult3gbc

      • Brian Sauger says:

        There’s still no way to type “dig” to get the exotic armor/weapons. There’s also no Golden Pick to steal (NES). This breaks the game.

        • WtF Dragon says:

          First I’ve heard of this, so it comes as a surprise.

          I don’t know if I still have current contact info for Sven, but I’ll try to reach out to him.

          • Brian Sauger says:

            Much appreciated! If it’s a dead-end, so be it, I’m just falling back in love playing this version on my hand-held. Possible explanation for excluding this is this version was loosely base off the NES version utilizing the joystick command menu, but the underlying game code was the PC version which didn’t have the Golden Pick, it had a keyboard ability to type certain single-use commands.

          • WtF Dragon says:

            Hi Brian…I’ve heard back from Sven. Apparently, “Dig” is a subcommand under “Other” in the menu that the A button brings up.

            Any relationship or similarity to the NES version, by the way, is apparently utterly coincidental; this port is based on the C64 and PC versions of the game. The menu system seems similar because there’s no good way to effect character typing on a GameBoy, and menus are…well…what they are.

            Sven also requests that if there’s any further need for assistance, to please hit up the Issues section of the project’s GitHub page: https://github.com/RetroSven/ult3gbc/issues

          • Brian Sauger says:

            WtF Dragon, I have responded with a new issue on github. Thanks for your help!

  2. CaitSith2 says:

    I have ported this project to work on Analogue Pocket natively.
    Source code: https://github.com/CaitSith2/ult3gbc/tree/main
    .pocket file: https://github.com/CaitSith2/ult3gbc/raw/main/ult3.pocket

    At the low level, LCDC_REG has all of its definitions bit flipped, as well as moved to port 4E. STAT_REG remains at port 41, but also has all of its definitions bit flipped. Additionally, the Analog Pocket has its own logo data.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.