gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Announcements And Comments > no$gba 2.5b now available

#144641 - wintermute - Mon Nov 05, 2007 7:23 am

This release fixes the issues users were experiencing with devkitARM release 21 compiled NDS code. Here's the release notes from Martin.

No$gba v2.5b

Supports 3D frameskip. Depending on the remaining CPU load, that should make the emulation about 2x faster (C code), or 10x faster (ASM code). Only exception are games that use video capture, which prohibits frameskip, obviously.

The debugger now includes a 3D page in the vram viewer. It's basically consisting of a tree view that shows all geometry commands, so far, quite similar to the old 3D log function. Unlike the log function, it shows only the commands for the most recent frame, so the list won't get endless long. And, selecting a vertex shows it's current color/material/texture parameters, and displays a laser pointer that indicates the screen coordinates of the vertex. The 3D viewer is still under construction, next version should display some addition info, anyways, it already helped to fix a bug that crept into the no$gba code, and it might be potentially very useful for other people, too.

Cu, Martin

http://nocash.emubase.de/gba.htm

----

03 November 2007 - version 2.5b
- nds/3d/debug: vram viewer auto-updates 3d tree view (if any) during emulation
- nds/3d/debug: defaults to disable old/slow 3d debugmsg's (instead vram viewer)
- nds/3d/mtx: removed v2.5 z-rounding trick, allows to change projection per vtx
- nds/3d/mtx: gl_projection set to identity (but max depth +1.0 instead +0.99)
- nds/3d/mtx: all matrix math done by software without using any opengl matrices
- nds/spi: allows to deselect/disable spi bus without clearing the hold-bit
- nds/3d/debug: vram viewer displays texture bitmap for currently selected vtx
- nds/3d/debug: vram viewer draws laser arrow from screen-center to selected vtx
- nds/3d/debug: vram viewer indicates unused lights and color tables by red line
- nds/3d/debug: vram viewer shows color/material/shininess/etc for selected vtx
- nds/wifi/help: added port 24Ch/24Eh/250h, 264h/270h, 2A4h/2C4h, 2C8h/2CCh info
- nds/3d/speedup/frameskip: renders 3d only when needed (capture and video out)
- nds/3d/speedup: position vectors multiply only 3x4 matrix (and add 1x4 * w=1)
- nds/3d/speedup: directional vectors use 3x3 matrix maths (instead slow 4x4)
- nds/key1/help: renamed crypt_up/down (actually encrypt/decrypt) (thanks simon)
- nds/3d/stage2/buf: all 3d rendering/lighting/vtxmaths performed from buffer
- nds/3d/multi: uses a single opengl context shared (and working) for multiplay
- nds/3d/internal: internally translates gx commands 0..255 to ID codes 0..38
- nds/wifi/help: added W_TX_HDR_CNT port 194h bit0,1,2 info (thanks Tim Seidel)
- nds/3d/debug: added new 3d page to vram viewer, treeview for buffered commands
- nds/3d/buf: stores initial frame settings, reallocs larger buffer when needed
- nds/3d/buf: stores commands with original params, and results on each mtx cmd
- nds/3d/buf: buffers all gx commands (for future frameskip and for vram viewer)
- nds/3d/deguglog: appends current matrix_mode as comment to all matrix commands
- nds/3d/softlight: fixed shininess_table index (7bit index = 8bit data div 2)
- nds/wifi: emulates 0000h-to-094h-to-098h, and reset-098h.bit15-via-0B4h.Bit6
- nds/wifi/help: added 1D0h..1DFh info, added notes on body[2] instead txhdr[2]
- nds/wifi/help: confirmed 0B4h.Bit6, added 030h.Bit7, added info on 094h/098h
- nds/wifi/help: removed incorrect/unconfirmed rxbuf_begin/end-latching-info
- nds/wifi/help: added txhdr[2], port[0C0h], port[0C4h], renamed EXTRA to CMD
- nds/wifi/help: renamed W_RXUNITS to W_RXTX_ADDR and moved it to status chapter
- nds/wifi/help: added notes on registers affected by powerforce (and by irq13)
- nds/wifi: reflects powerforce to rf_status (unreported pictochat-lite problem)
- cpu/debug: replaced invalid tmb high-opcode error message by optional warning
- cpu/debug: disassembler shows invalid high-opcodes as such (thanks vladimir)
- cpu: emulates invalid add/mov/cmp thumb high-opcodes-without-high-registers
- joysticks: fixed unstable vint_inputs code (occassionallly skipped joysticks)
- nds/wifi/dslite: debug-iomap recognizes channel-number for type3 RF registers
- nds/wifi/dslite: emulates type3 RF registers (reading, writing, and initial)
- nds/wifi: emulates reading from RF chip, emulates initial power-on RF values
- nds/wifi/help: added RF2958 (aka RF9008) datasheet info (thanks Tim Seidel)
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog