A limited-palette 2D drawing program for Uxn
Go to file
Ben Bridle 4f7fcf9807 Wired up mouse interactions with tool selection and tool parameters 2022-10-12 21:55:04 +13:00
.gitignore Rewrite in-progress. Split file into many smaller chunks, and have implemented panning that keeps the canvas on-screen at all times. 2022-07-30 18:19:16 +12:00
README.md Update README.md with more detail 2022-06-09 17:31:12 +12:00
_acorn_font.tal Checkpoint on tool palette design 2022-08-09 15:12:18 +12:00
_common_macros.tal Mouse zone registration and detection works well 2022-10-12 16:01:08 +13:00
_constants.tal Implement brush customisation UI 2022-09-21 12:04:31 +12:00
_device_macros.tal Checkpoint on tool palette design 2022-08-09 15:12:18 +12:00
_draw_line.tal Shrunk pan clamping routines 2022-08-04 21:06:02 +12:00
_draw_rect.tal Shrunk pan clamping routines 2022-08-04 21:06:02 +12:00
_draw_shapes.tal Add outline around active brush colour selector 2022-09-21 12:07:04 +12:00
_draw_text.tal Reworked print macros, added hexidecimal printing, fixed error in UI memory clearing routine 2022-10-07 20:44:10 +13:00
_draw_ui_elements.tal Checkpoint, implemented slider graphics on palette edit screen 2022-09-23 14:17:13 +12:00
_fill_screen.tal Checkpoint, implemented slider graphics on palette edit screen 2022-09-23 14:17:13 +12:00
_instruction_renaming.tal Rewrite in-progress. Split file into many smaller chunks, and have implemented panning that keeps the canvas on-screen at all times. 2022-07-30 18:19:16 +12:00
_integer_to_string.tal Reworked print macros, added hexidecimal printing, fixed error in UI memory clearing routine 2022-10-07 20:44:10 +13:00
_print_macros.tal Reworked print macros, added hexidecimal printing, fixed error in UI memory clearing routine 2022-10-07 20:44:10 +13:00
_print_routines.tal Reworked print macros, added hexidecimal printing, fixed error in UI memory clearing routine 2022-10-07 20:44:10 +13:00
_user_interface_callbacks.tal Wired up mouse interactions with tool selection and tool parameters 2022-10-12 21:55:04 +13:00
_user_interface_framework.tal Wired up mouse interactions with tool selection and tool parameters 2022-10-12 21:55:04 +13:00
tungsten2.tal Wired up mouse interactions with tool selection and tool parameters 2022-10-12 21:55:04 +13:00

README.md

Tungsten

A low-tech drawing program for working with lower resolution, limited-palette images. Tungsten is currently in-development and is being written in UxnTAL for the Uxn virtual computer. The expected release date for a usable version 1.0 is August 2022.

Tungsten is designed for devices with a minimum screen resolution of 256x192. Devices with smaller screens will still be able to run Tungsten, but the edges of the user interface might extend off the screen.

Functionality

Tungsten is currently lacking many vital pieces of functionality, including the ability to load or save images from disk.

Assembling

The program is one monolithic TAL source file, assembled with uxnasm from 100r.

The 100r assembler by default only allows 256 macro definitions in one program, but because Tungsten uses upwards of 400 macro definitions I've had to patch the assembler slightly to accomodate.

To raise the macro definition limit on your machine, go to the assembler source file src/uxnasm.c and change the line Macro macros[0x100] to Macro macros[0x400], and the line if(p.mlen == 0x100) to if(p.mlen == 0x400). Recompile uxnasm and you'll be able to assemble Tungsten without errors.