Amoebax is a free, cross-platform Puyo-Puyo style puzzle game. Drop pairs of coloured amoebas onto a grid and chain groups of four or more of the same colour to clear them. Chains send garbage amoebas to your opponent's grid.
- Original game: Emma's Software (Jordi Fita)
- ArcaOS/OS2 SDL2 port: Martin Iturbide
- License: GNU General Public License v2 or later
| Component | Notes |
|---|---|
| ArcaOS 5.0+ | (or eComStation 2.x with DIVE support) |
| SDL2.dll | SDL2 for OS/2 |
| SDL2_image.dll | SDL2_image for OS/2 |
| SDL2_mixer.dll | SDL2_mixer for OS/2 |
The SDL2 DLLs must be on the LIBPATH or in the same directory as amoebax.exe.
Extract the archive so the layout is:
amoebax.exe
amoebax.def
data\
fonts\
graphics\
music\
sfx\
Run amoebax.exe from a command prompt or double-click it.
| Key | Action |
|---|---|
| A | Move left |
| D | Move right |
| S | Push down |
| W | Rotate clockwise |
| Left Ctrl | Rotate counter-clockwise |
| Key | Action |
|---|---|
| Left Arrow | Move left |
| Right Arrow | Move right |
| Down Arrow | Push down |
| Up Arrow | Rotate clockwise |
| Right Ctrl | Rotate counter-clockwise |
| Key | Action |
|---|---|
| Alt+Enter | Toggle fullscreen / windowed |
| Escape | Pause |
Requirements: GCC 9.2 / kLIBC (ArcaOS), GNU Make, SDL2 development headers.
compile-amoebax.cmd
The script sets EMXOMFLD_TYPE, EMXOMFLD_LINKER, and EMXOMFLD_PRELINK,
then runs make -f Makefile.os2 inside src\. The build log is written to
src\compile-amoebax.log.
This port migrates the original SDL 1.2 codebase to SDL2 and replaces the
autotools build with a hand-crafted Makefile.os2.
- Fullscreen:
SDL_WINDOW_FULLSCREEN_DESKTOP+ virtual back buffer.SDL_BlitScaledcentres and letterboxes the 800x600 game surface onto the desktop-resolution window, so the content is always correctly positioned. - Alpha blending:
SDL_SetAlphareplaced withSDL_SetSurfaceAlphaMod+SDL_SetSurfaceBlendMode(SDL_BLENDMODE_BLEND). - Surface format:
SDL_DisplayFormatAlphareplaced withSDL_ConvertSurfaceFormat(..., SDL_PIXELFORMAT_ARGB8888, 0). - Window events:
SDL_ACTIVEEVENTreplaced withSDL_WINDOWEVENT_MINIMIZED(pause on minimise only, matching the original SDL1 behaviour). - Unicode input:
SDL_EnableUNICODEreplaced withSDL_StartTextInput/SDL_TEXTINPUTevent. - Right-grid clip rect: Fixed a latent SDL1-era bug where the clip
rectangle width used
getGridPositionY()instead ofgetGridPositionX(), making the human player's falling pieces invisible under SDL2.
