Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Uxnds 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 4: Line 4:
|description=Uxn (retro-style fantasy computer) ported to 3DS.
|description=Uxn (retro-style fantasy computer) ported to 3DS.
|author=asiekierka
|author=asiekierka
|lastupdated=2023/11/20
|lastupdated=2023/12/17
|type=Computer
|type=Computer
|version=0.4.7
|version=0.4.9
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/3dshomebrews/uxnds3ds.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/uxnds3ds.7z
Line 48: Line 48:


==Changelog==
==Changelog==
'''v0.4.9'''
*Actually add support for placing the "uxn" folder alongside the .3dsx/.nds file.
'''v0.4.8'''
* NDS: Update to BlocksDS 0.11.3.
* NDS: Add support for proper NitroFS filesystems; place "boot.rom" in the root of a NitroFS filesystem.
* Add support for placing the "uxn" folder alongside the .3dsx/.nds file.
'''v0.4.7'''
'''v0.4.7'''
* [NDS] Improvements to file I/O.
* [NDS] Improvements to file I/O.

Revision as of 01:37, 17 December 2023

uxnds 3DS
Uxn3ds2.png
General
Authorasiekierka
TypeComputer
Version0.4.9
LicenseMIT License
Last Updated2023/12/17
Links
Download
Website
Source

unxds is a port of the Unx virtual machine to the 3DS. Uxn is a portable 8-bit virtual computer inspired by forth-machines, capable of running simple tools and games programmable in its own assembly language.

This emulator allows you run to your uxn projects on the 3DS, it can also be used for developers who want to learn how to program little 8-bit things.

Installation

There is one binary provided: uxnds.3dsx.

By default, uxnds will run /uxn/boot.rom.

Note: When using a real DS/DSi/3DS console, it is recommended to launch this program via nds-hb-menu - though, as it currently doesn't use argc/argv, it doesn't really change much.

User guide

On start, a keyboard is presented on the bottom screen, and the uxn display is on the top screen.

Resources

Controls

L/R - Swap top and bottom screens

Touchscreen - Mouse input

Screenshots

uxn3ds3.png uxn3ds4.png

Media

Noodle - Magic Brush (Devine Lu Linvega)

Compatibility

Works on DS, DSi and 3DS.

Changelog

v0.4.9

  • Actually add support for placing the "uxn" folder alongside the .3dsx/.nds file.

v0.4.8

  • NDS: Update to BlocksDS 0.11.3.
  • NDS: Add support for proper NitroFS filesystems; place "boot.rom" in the root of a NitroFS filesystem.
  • Add support for placing the "uxn" folder alongside the .3dsx/.nds file.

v0.4.7

  • [NDS] Improvements to file I/O.
  • [NDS] Optimize 1-bit PPU drawing.
  • [NDS] Update to BlocksDS 0.11.0.
  • Implement division by zero and system device changes in the Uxn/Varvara specification.

v0.4.6

  • [NDS] Improvements to file I/O and startup speed.
  • [NDS] Reduce binary size by 2%.
  • [NDS] Update to BlocksDS 0.9.1.
  • The 3DS port is unchanged from 0.4.5.

v0.4.5

  • [NDS] Lower APU sample rate and minor APU optimizations to improve sound playback stability.
  • [NDS] Update to BlocksDS 0.8.1+git.
  • Implement audio detunes.
  • Implement full sprite flipping.

v0.4.4

  • [NDS] Update to BlocksDS 0.8.
  • Implement breaking screen drawing behaviour change.

v0.4.3

  • [3DS] Update to libctru 2.2.2.
  • [3DS] Optimize and fix bugs in the screen device implementation.
  • No changes to the NDS version.

v0.4.2

  • [3DS] Major screen drawing optimizations.
  • [NDS] Fixed drawing vertically-flipped tiles on the bottom edge of the screen.
  • [NDS] Fixed palette changes not being queued until frame change.
  • Added key repeat emulation for physical button presses.
  • Vertical drawing synchronization is no longer applied if a frame took longer than 1 VBlank to process.

v0.4.1a

  • Add support from loading "boot.rom" from a relative path.
  • Fix controller device implementation to more closely match uxn/Varvara.
  • [NDS] Minor audio fixes.

v0.4.0

  • New features:
    • [3DS] Native 3DS port! Unlike the old uxn3ds, this one should have feature parity with the NDS port, in particular including a touch keyboard. As with uxn3ds, a 320x240 resolution screen is provided over 256x192, and the 3D slider can be used to observe the background and foreground layers separately.
    • [NDS] New keyboard implementation - providing all keys exposed by the official Varvara implementation, as well as improving modifier support.
  • Improvements/Bug fixes:
    • Fix "datetime" device implementation.
    • [NDS] Minor optimizations to screen "fill mode".
    • Moved the "reset" button to use a touch button instead.

v0.1.1-3ds (proof of concept)

  • CPU core update (incl. performance improvements).

External links

Advertising: