Continuum 93 V 1.0.135
1.0.135 - 01.11.2024
====================
- Added audio capabilities. Implemented a draft aproximation of JSFXR which produces complex sounds based on a multitude of parameters;
- Added new specialized assembly instructions: RGB2HSL, HSL2RGB, RGB2HSB and HSB2RGB which handle conversion between RGB, HSL and HSB color spaces;
- Changed the way divisions by zero work. If a division by zero is performed, the result register obtains the maximum value for that capacity. If a reminder register is available, that is set to zero. Also, the carry flag is set.
Divisions that don't divide by zero clear the carry flag;
Interrupts:
-----------
- Added interrupt 0x04, function 0x33 (Load 8bit PNG) which allows loading palette based PNG files directly to memory and interrupt 0x04, function 0x34 (Load 8 bit PNG with custom transparency) which allows specifying transparency key when loading a PNG;
- Added interrupt 0x04, function 0x35 (Merge 8 bit PNG) and interrupt 0x04, function 0x36 (Merge 8 bit PNG with Custom Transparency) to allow fast and fine manipulation of PNG files;
- Added interrupt 0x04, function 0x40 (Load PNG font) which loads fonts directly from PNG files and optionally kerning pairs from a text file with the same name;
- Added an extra parameter for interrupt 0x01, function 0x0E (DrawTileMapSprite) that allows optionally drawing tiles flipped on X, Y or both;
- Added interrupt 0x01, function 0x24 (Line Path) which allows drawing a path of made up of consecutive lines. Also added demo program for it;
- Added interrupt 0x01, function 0x25 (Draw Bezier Path) which takes points and control points and draws a line with configurable color, thickness and "dotness" from start to end. Useful for game UI maps and such;
- Added interrupt 0x01, function 0x14 (Draw text) which works with png fonts loaded by interrupt 0x04 function 0x40 (Load PNG font). This interrupt aims to eventually obsolete DrawString since it does the same thing with optional improvements such as: monospacing, centering monospace characters, kerning, centering text, wrap, outline and shadows;
- Added interrupt 0x01, function 0x28 (Fill area or polygon);
- Added interrupt 0x01, function 0x40 (Scroll/roll) which allows scrolling or rolling the contents of a rectangle on either video page in either X/Y direction or combination of both directions;
- Added interrupt 0x01, function 0x41 (Copy rectangle) which allows copying the video content from a source rectangle on any video layer to any other video layer (including the source one) with the same or different rectangle (scaling thus is possible);
- Enabled MUL operation to set carry flag if the multiplication overflows the target register and to reset the carry flag if it doesn't overflow;
- Improved #DB directive to support floating point numbers;
- Improved compiler error reporting to actually show the instruction that fails in the log file along with the wrong instruction format;
- Improved compiler interrupt 0x00, function 0xC0 to report the number of errors it found. This number is capped to 255, so if this number if over 250, it's safe to display: "Errors: 250+";
- Updated Continuum operating system to prevent the user from running files that were compiled with errors;
- Added "disableMouse" setting that allow disabling the mouse API for some linux OSs that cannot handle mouse and break the application;
- Fixed a bug that had the assembler previously ignore labels assigned to the MEMC, MEMF, CP, DIV, MUL, FIND, ISQR, POW, SQR, REGS, VCL and VDL instructions;
- Fixed a bug that reported wrong number of colors on PNG merging interrupts;
- Fixed a bug on DrawTileMapSprite and DrawSpriteToVideoPage interrupts that was overwriting actual pixels with transparent ones from source. Now, the interrupts correctly ignore transparency;
- Fixed a bug that did not allow correct multiplication of a value with zero;
- Updated the gamepad demo accounting for the newly "Draw tile map sprite" interrupt upgrade;
- Started adding detailed explanation on the assembly instructions to the user manual. So far covered LD, ADD, DIV, MUL, SL, SR, RL, RR;
Files
Get Continuum 93
Continuum 93
A retro-computer emulator designed specifically for game development... In assembly!!
Status | In development |
Category | Other |
Author | Enthusiast Guy |
Tags | assembly, computer, game-development, games, Retro, retro-emulator, virtual-computer |
More posts
- Continuum 93 V 0.7.116Feb 14, 2024
- Continuum 93 V 0.7.114Feb 12, 2024
- Continuum 93 V 0.6.8Jan 26, 2024
- Continuum 93 V 0.3.7Sep 11, 2023
- Continuum 93 V 0.1.4Mar 16, 2023
Leave a comment
Log in with itch.io to leave a comment.