Cuzebox3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = cuzebox3DS | image = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS.jpeg|250px | type = Console | version = v0.0.1 | licence = Mixed | autho...")
 
No edit summary
Line 10: Line 10:
| source = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS-3DS.rar
| source = https://dlhb.gamebrew.org/3dshomebrew/cuzebox3DS-3DS.rar
}}
}}
<youtube></youtube>


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)
=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)

Revision as of 03:40, 27 April 2020

Template:Infobox 3DS homebrew

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: