AminetAminet
Search:
85381 packages online
About
Recent
Browse
Search
Upload
Setup
Services

misc/emu/Amico8.lha

Mirror:Random
Showing: ppc-powerup icongeneric icon
No screenshot available
Short:PICO-8 fantasy console emulator
Author: j at ki.je
Uploader:Pawel "Juen" Nowak (j ki je)
Type:misc/emu
Version:0.9
Architecture:m68k-amigaos >= 2.0
Date:2026-06-21
Requires:AmigaOS 2.0+/020+, 040/060 recommended
Download:misc/emu/Amico8.lha - View contents
Readme:misc/emu/Amico8.readme
Downloads:1107

Description:

  Amico8 is a PICO-8 fantasy console emulator for Amiga computers with a
  68020 or better processor.  It loads and runs PICO-8 cartridges in
  both text (.p8) and image (.p8.png) format directly from the Amiga
  file system.

  Project status:

  Amico8 is almost finished.  A baseline of roughly 1100 cartridges has
  been tested, and 100% of them launch and start playing - with the
  AOT/JIT native compiler ON just as with it OFF.  Audio support is
  at about 90%: all waveforms, the note effects and the music sequencer
  are in place, with a few timbres still being tuned to match real
  PICO-8 more closely.  Bear in mind that "it launches" is not the same
  as "bug-free" - while you are actually playing, an individual cart can
  still reveal glitches, and a few very memory-heavy carts can run the
  Amiga out of RAM.  These are being fixed as they turn up.

  Features:
  - Runs the vast majority of PICO-8 cartridges (.p8 and .p8.png)
  - Full 128x128 pixel display, 2x scaled to 256x256 via Amiga copper tricks
  - 16-colour PICO-8 palette mapped to Amiga 12-bit hardware palette
  - Joystick (port 2) and keyboard input
  - Mouse support (port 1) for carts that use mouse API
  - Paula audio: all 8 PICO-8 waveforms (triangle, tilted-saw, saw, square,
    pulse, organ, noise, phaser) plus the buzz/noiz timbre variants, the note
    effects (slide, vibrato, drop, fade in/out, arpeggio) and custom instruments
  - Serial PCM streaming - serial(0x808) digitised audio for carts with
    sampled speech or music (Berzerk, Impossible Mission, Amstrad chip tunes)
  - AOT (Ahead-of-Time) native m68k code compiler - ON by default for a
    noticeably faster emulator (switch it off in the launcher, or with the
    NOAOT CLI option, if a particular cart misbehaves under it)
  - Multi-cart support: load() chains between cartridges (e.g. POOM, The Mind)
  - BBS cart browser: browse and download cartridges from the Lexaloffle BBS
    directly from the Amiga (requires AmiSSL + bsdsocket.library)
  - GUI launcher

  Two executables are provided:

    Amico8      - 68020/030 version, no FPU required.
                  Runs on any Amiga with a 68020 or better.

    Amico8_040  - 68040/060 version, optimised instruction scheduling.
                  Recommended for 040/060 systems.

  Recommended processor: 68060.

  Usage:
    Amico8 - start with GUI! (recommended)

    or from CLI:
    Amico8 CART=<cartridge.p8.png>

    Amico8 ?  (show all CLI options)

  Controls:
    Joystick port 2 / cursor keys         - d-pad (btn 0..3)
    Z / Y / C / Alt   (or fire 1)         - O button (btn 4)
    X / Ctrl          (or fire 2)         - X button (btn 5)
    Enter                                 - open / close pause menu
    P                                     - freeze (debug pause)
    F4                                    - jump to the previous cart *
    F5                                    - jump to a random cart *
    F6                                    - jump to the next cart *
    ESC                                   - return to launcher
        * F4/F5/F6 work only when started from the GUI launcher (they
          step through the launcher's games-folder list).  A short
          "now loading <name>" splash shows which cart was picked
          (press ESC during it to drop back to the launcher instead).
          When you return to the launcher, the selection lands on the
          cart you were last playing - including one reached via F4/F5/F6.

  Limitations:
  - Some newer PICO-8 API calls may not be implemented
  - Serial PCM (digitised) audio plays on a single Paula channel, so while a
    cart streams it the PCM comes out of one speaker (mono); the synth timbre
    is close to but not bit-exact with real PICO-8
  - On chipset (planar) Workbench, launching multiple carts back-to-back
    in one Amico8 session may eventually freeze the Amiga (chip-RAM
    fragmentation across iterations).  If this happens, restart Amico8.

---

Tested games:

  Over 1100 tested PICO-8 cartridges now launch and run - 100% of them, with
  the AOT/JIT native compiler ON just as well as with it OFF - and the large
  majority already play correctly.

  Release 0.9 turns the AOT native-code compiler ON by default for a noticeably
  faster emulator (it can be switched off per session if a cart misbehaves under
  it), and brings a major audio overhaul: corrected music playback, real custom
  instruments, accurate note pitches across the whole range, and click-free note
  transitions.  On top of that it adds a broad batch of graphics, API and
  cart-switching robustness fixes - building on the 0.8 compatibility work across
  the z8lua parser, number/string handling, P8SCII text controls, fill-pattern
  glyphs, configurable screen modes, the real date/time stats and the rounded
  graphics primitives.

---

Code used:

  Lua 5.2 - scripting engine base
    Copyright (C) 1994-2015 Lua.org, PUC-Rio
    Authors: R. Ierusalimschy, L. H. de Figueiredo, W. Celes
    License: MIT  (http://www.lua.org/license.html)
    The Lua VM and standard libraries form the core of the interpreter.

  z8lua - PICO-8-compatible Lua fork (from the Zepto-8 project)
    Copyright (C) 2016-2024 Sam Hocevar <sam@hocevar.net>
    License: WTFPL (http://www.wtfpl.net/)
    Source:  https://github.com/samhocevar/zepto8
    z8lua extends Lua 5.2 with PICO-8-specific syntax (short-if, compound
    assignment operators, integer division, fix32 number type, PICO-8 math
    functions).  The file z8lua/lpico8lib.c is taken directly from Zepto-8.

  p8_compress - PICO-8 cartridge decompression
    Copyright (C) 2014-2022 Lexaloffle Games LLP
    License: MIT
    Decompresses PICO-8 Lua source code from both old ":c:" format and
    modern "pxa" compressed format.

  stb_image - PNG image loader
    Author: Sean Barrett
    License: MIT / Public Domain
    Source:  https://github.com/nothings/stb
    Used for loading .p8.png cartridge images.

  FAKE-08 - reference PICO-8 implementation
    Author:  Jonathan (jtothebell)
    License: MIT
    Source:  https://github.com/jtothebell/fake-08
    A HUGE thank-you here.  FAKE-08's source was by far the most
    valuable reference in this whole project - over and over it was
    what let us pin down exactly how PICO-8 really behaves: API
    semantics, the audio synthesis model, iterator and metatable
    edge cases, the fill-pattern glyph values, the _update_buttons
    contract, music-pattern timing, and countless smaller details
    were all settled by reading it.  Many bugs would have taken days
    longer (or stayed unsolved) without it.  Not a single line of
    FAKE-08 is in the Amico8 binary - it was only consulted during
    development - but its clarity made this port possible.  Thank you,
    Jonathan.

---

Thanks:

  Kempy/Veezya, MWB113, Tytus, Paluch - testing
  Quad, OlekW200i, Wozik, Mirq, Borsuk - moral support
  Jonathan (jtothebell) - FAKE-08 reference implementation

---

  Pawel "Juen" Nowak
  Contact: j@ki.je or via imp3!


Contents of misc/emu/Amico8.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga]                 233500  431452  54.1% -lh5- 4bb5 Jun 20 09:39 Amico8_v0.9/Amico8
[Amiga]                   3446    7312  47.1% -lh5- 9c81 Jun 20 10:12 Amico8_v0.9/Amico8.readme
[Amiga]                 233660  442100  52.9% -lh5- 4a1c Jun 20 09:39 Amico8_v0.9/Amico8_040
[Amiga]                   1269    3161  40.1% -lh5- e8b6 Apr 14 19:23 Amico8_v0.9/games/amico8_demo_demo.p8
[Amiga]                   1223    3448  35.5% -lh5- fc2f Apr 14 19:20 Amico8_v0.9/games/amico8_demo_game.p8
[Amiga]                   2292    5924  38.7% -lh5- bf3d Jun 19 19:13 Amico8_v0.9/games/benchmark.p8
[Amiga]                   1667    3821  43.6% -lh5- efd4 Jun 19 20:08 Amico8_v0.9/games/testinput.p8
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         7 files  477057  897218  53.2%            Jun 21 21:30
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>