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

Cuzebox3DS: Difference between revisions

From GameBrew
m (Text replacement - "Infobox 3DS homebrew" to "Infobox-3DS-Homebrews")
No edit summary
Line 3: Line 3:
| image = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS.jpeg|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS.jpeg|250px
| type = Console
| type = Console
| version = v0.0.1
| version=v0.0.1
| lastupdated = 2018/09/17
| licence = Mixed
| licence = Mixed
| author = ry755
| author = ry755
| website = https://github.com/ry755/cuzebox3DS
| website = https://github.com/ry755/cuzebox3DS
| download = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS-3DS.rar
| download = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS-3DS.rar
| source = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS-3DS.rar
| source = https://github.com/ry755/cuzebox3DS
}}
}}



Revision as of 05:16, 8 September 2021

Template:Infobox-3DS-Homebrews

CUzebox emulator

Author: Sandor Zsuga (Jubatian), ported by Ryan Stenz (ry755)
License: GNU GPLv3 (version 3 of the GNU General Public License)

Overview

This is a currently experimental emulator for the Uzebox game console written entirely in C, using SDL 1.2.

For building, use the Make_config.mk file to specify target platform. Currently it should build for Linux, 3DS (CTR, requires devkitPro and the SDL-3DS lib), and Emscripten, and Windows as cross compile target using mingw32-gcc (I can not test native compiles for that platform since I don't have the OS).

The SDL-3DS library can be found here: https://gbatemp.net/threads/release-sdl-3ds-1-2-15-simple-directmedia-layer-for-3ds.459291/

Controls

You can control Player 1's SNES controller as follows:

  • D-Pad: SNES D-Pad
  • A/B/X/Y: SNES A/B/X/Y
  • Start/Select: SNES Start/Select
  • L/R: SNES L/R
  • ZR: Exit cuzebox3DS (returns to Homebrew Launcher)

Emulated components

Currently the following features are implemented:

  • AVR core with cycle perfect emulation.
  • Core AVR peripherals as necessary to run Uzebox games.
  • Sound and video output (frame rate synchronized to host if possible).
  • SNES controllers.
  • EEPROM including saving its contents alongside the emulated game.
  • SPM instruction and related elements necessary for bootloader emulation.
  • SD Card read and write (writing didn't see much testing yet).
  • SPI RAM.

Notes:

The SD card emulation is fairly capable, it has several compile time constants in the cu_spisd.c file which you may adjust. You can set them to emulate a strict SD card breaking several existing games, but which can help you developing more robust SD code.

The SD write feature is sandboxed within the directory of the game. It doesn't emulate subdirectories. You may only override existing file contents, expand files or create new ones, it should be capable to track these operations if you write the FAT first.

A bootloader can be started simply by passing the bootloader's .hex file as parameter to the emulator. The virtual SD card is composed from the files existing in the same directory. Note that the emulator can not remember what the bootloader wrote last time into the flash. (So you can not start the last selected game with the 0.4.5 bootloader as it recognizes the game by a CRC written in EEPROM, not by flash content. The 5.x.yy bootloaders work fine)

Advertising: