Repository navigation
Releases: Huseynteymurzade28/tuiba
Releases · Huseynteymurzade28/tuiba
Release list
v0.16.0
A debugger in the terminal.
Added
- A debugger panel on
F7: registers, flags, the PPU's position and
the code around the PC of the paused game, beside the game screen,
with stepping by instruction, scanline or frame. (#82) - The debugger's memory view (
Tab): eight bytes a row with their
text, the bytes the last step changed marked;gjumps the code or
memory view to an address or a register's value. (#82) - Breakpoints in the debugger (
b): a game that reaches one stops
before the instruction there and opens the debugger; scanline and
frame steps stop at them too. (#82)
v0.15.2
Fixed
- On Windows a held key stays held until it is let go. Windows consoles
report every key release, but tuiba treated them like terminals that
report none and let a held key drop after half a second, before the
first auto-repeat — a brief stutter when holding a direction. (#24)
Changed
- CI now runs the real terminal interface on Linux, macOS and Windows
(ConPTY), driving the library, a game, the keypad and the way out. (#24)
tuiba 0.15.1
Fixed
- A headless run whose output is cut short (
| head) now stops quietly
instead of reporting a broken pipe as an error and writing it to the
crash log.
tuiba 0.15.0
Tools for looking inside a running game.
Added
--disasm [arm:|thumb:]START..END(orSTART+LENGTH) disassembles
memory after a headless run.tuiba-corehas the disassembler as
cpu::disasm::{arm, thumb}; it decodes through the CPU's own decoder,
so it shows what the emulator runs. (#22)--profile Ncounts where the CPU spends its cycles over the last N
frames of a headless run: how much of the time it ran at all, and the
busiest addresses with their instruction and most common return
address. (#22)--trace-io LISTlogs every write to the chosen I/O registers during
a headless run, with frame, scanline, cycle and the instruction or DMA
channel that made it. LIST takes register names, groups (lcd,
sound,dma,timers,serial,irq,all) and hex offsets.
tuiba-core:Gba::trace_ioandGba::take_io_writes. (#22)
v0.14.0
A faster picture, and an empty link port.
Added
- The link port answers as an empty one instead of plain memory: an
internally clocked transfer finishes with all ones and the serial
interrupt, multiplayer mode reports a lone child, andRCNTpowers
up in general-purpose mode. Games that probe for a link cable on
boot see none. (#25)
Changed
- Faster scanline rendering: text backgrounds are drawn a tile row at a
time and windows are resolved once per line. Headless speed on the
homebrew test set is up 12–28 %, with identical frames. (#7)
v0.13.0
Your own BIOS, if you have one.
Added
- Real BIOS images:
--bios FILE, orgba_bios.binin the config
directory for every game. Games boot through the logo and chime and
every system call runs on the real thing;--skip-introgoes straight
to the game and--no-biosback to the built-in replacement. The
console's and the Nintendo DS's dumps are recognised; other images
run with a note in the status bar. (#14) - CI runs the test ROMs on Cult-of-GBA's replacement BIOS too, with and
without its intro, and expects the same frames as without a BIOS.
Changed
- Save states never contain the BIOS image. Existing states still load.
A state taken while a real BIOS was running needs one to be loaded
back, and says so instead of crashing. tuiba-core:Gba::with_bios(cartridge, image, Boot)replaces
Gba::load_bios, andGba::restorereturns aResult
(GbaError::StateNeedsBios).
v0.12.0
Cheats, and a pad button for rewind.
Added
- Cheats:
<rom>.chtnext to the ROM, in libretro's format (so
RetroArch and libretro-database cheat files work after a rename), and
F6to turn them on and off in a game. Raw, GameShark v1/v2, Action
Replay v3 and CodeBreaker codes, encrypted or not, are told apart by
their shape. ROM-patch and device-button codes are skipped with a
note; re-keyed (DEADFACE) and encrypted CodeBreaker codes are not
supported yet. (#43)
Changed
- Pad defaults:
LT/L2 held rewinds, mirroringRT/R2 fast-forward,
and the save-state panel moved from L2 to the west face button (X
on Xbox), which then saves inside the panel. A second press of it
within 300 ms of opening is ignored, so a double tap cannot
overwrite a slot. (#45)
v0.11.0
Two quality-of-life additions: play zipped ROMs as they are, and see
games in the colours their artists saw.
Added
- ROMs inside
.ziparchives: the library lists them and plays them
without unpacking, andtuiba game.zipworks liketuiba game.gba.
A lone ROM in an archive is named after the archive, so its save,
patch and save states sit next to it asgame.sav,game.bps, …
(#41) - LCD colour correction:
Cin a game, or--color-correction, shows
colours as the GBA's screen did — darker and less saturated — in
every renderer. Screenshots keep the raw colours. (#42)
v0.10.0
Accuracy work: nothing new to press, but games that do raster tricks
look more like they do on hardware.
Added
- Open bus and BIOS read protection. Reads from unmapped addresses
return what the bus last carried, and the BIOS reads back as the
hardware leaves it once a game is running; jsmolka'sbios.gbanow
passes in CI. (#13, #48) - Affine backgrounds keep their own reference points, reloaded at
VBlank and when a game writes them, and stepped line by line, so
perspective effects that stream new values per line or bend the
walk mid-frame draw correctly. (#12, #49) - DMA runs alongside the rest of the machine instead of all at once:
an HBlank or sound DMA during a long copy now happens on every line,
at its own moment. (#11, #50) - Writes to the screen's registers, palette, VRAM or OAM while a line
is being drawn change only the pixels after them. (#11, #51) - The per-line limit on sprite drawing: sprites past the hardware's
cycle budget are cut off, as on the console. (#11, #52)
Changed
- Save states carry the new state in trailing sections; files from
earlier versions still load. - Headless runs are a few percent faster.
v0.9.0
Added
- Windows builds. Each release now carries a zip with
tuiba.exefor
64-bit Windows, with the C runtime built in, so nothing else needs
installing. Run it in Windows Terminal. (#47) - Performance figures.
--statsorF3shows in the status bar the
emulated and the shown frame rate, how long drawing a frame takes
(average and worst over the last second), how much sound is queued
and how often it ran dry: what to include in a report when a game
stutters or crackles. (#47) - A speed limit for fast-forward.
--fast-speed 2to16, ormax
(the default), andF4in a game cycles ×2, ×4 and uncapped. (#44)
Changed
- The README says what building on Windows really needs (the MSVC
toolchain and the Visual Studio Build Tools), and points to the
prebuilt binaries.