Saturday, May 5, 2018

Amos Kittens A new Amos interpreter for AmigaOS4.1

Typical way to run Amos under AmigaOS4.1 is by lots and lots onion layers.


Amos kittens removes two layers, hardware emulation and Classic AmigaDOS/Workbench.
And adds a new layer called RetroMode.library, that only simulates graphic but not exactly, first of all It's chunky not planar, it does not support dual playfields. Everything else should for the most part work similar.


You notice that Amos games now have closer access to AmigaOS4.1, this opens up a lot of opportunities, that we did not have when we were boxed into EUAE, USB support, AHI Support, long filename support, large disk support and all new stuff, that AmigaOS4.1 have, that AmigaOS3.x do not have.

The access from Amos game to AmigaOS is limited by only having access to old JMP tables, and only being able to execute 680x0 code, the AmigaOS4.1 hardware ranges from hardware that have Paula/Denice and hardware that don't, so it is extremely dangers to try to access hardware. 
This is way the lines are dotted.


Written small table to compare Amos Pro vs Amos kittens, 


Amos ProAmos KittensXAMOS
ColorsPlanar 1bit to 6bit (64 color) / HAM6 (4096)Chunky 8bit (256 colors/RGB 4096), (future support for 32bit)True Color (32bit)
FontsBitmap fontsBitmaps fonts + Bullet fontsTrue type
Filesystem32 chars filenamesnow 32 chars, (128 chars in the future)N/A
Dual PlayfieldsYesNoN/A
Load iff/Save Iffloads iff files.Use datatypes loads any pictureN/A
JoyPorts2 x Game ports (planned support for cd32 gamepads)Amiga Input (USB gamepads) same commandsN/A
Color FlashyesyesN/A
Color cycleyesyesN/A
Rainbow effectsyesyesN/A
GraphicsOCSRetroMode.libraryRudimentary Amiga-style screen and scrolling engine
Assembler 680x0yes680x0 (using Exec.library/EmulateTags)No (Unlikely based on JAMOS)
Assembler PowerPCno(maybe in the future)No
Bobs/Spritesoftware bobs/hardware spritessoftware spries and bobsYes
Source code format Tokens (execute orginal source code)Tokens (execute orginal source code)ASCII / MequaScript (Not AMOS compatible syntax)
Extensions 68Kyes (680x0 assembler, hunk format)Not initially (Some help appreciated)N/A
Extensions PPCnoIn the future ".library" format (C lanuage)N/A
File size32bit / 2 Gbyte32bit (64bit in the future)N/A
AudioPaula 8bitAHI 16bit sterro (software mixed 4 channels 8bit)N/A
Max screen resolutionHires / interlaced (640x512)Standard P640x512 - Can be hacked up HD resolutions.N/A
FullscreenyesyesN/A
Window modenoyesN/A
iconifynoyes should be possibleN/A
workbench modenomaybe in the futureN/A
CrossDOSyesno, whats the point?N/A
Serial portyesno, use SER: deviceN/A
decimal precisionfloatread floats, math is done in doublesN/A
max string length655354 Giga bytes of charsN/A
ABK supportyesyesYes
3DSoftware 3DNo, Future maybe Warp3D Nova.N/A / (OpenGL)
"To" CommandCommands that use TO, the TO command most be usedNo requirement (you should use "To" to write compatible code)N/A
Text encodingASCIIASCIIUTF8
Cross platformNo (But the source code can be used in Amos Kittens)Yes, Open source code, can be ported to other systems.Yes, already runs on Windows, AmigaOS, Linux (OpenGL/SDL backend)