mgba: endrift has posted on his forums about a gba test suite
In the interest of furthering the state of Game Boy Advance emulation, I've been writing a test suite that tests various aspects of hardware. At the moment, it only tests timing operations, but way more will be coming in the future. Source code is available on github Timing tests
Each test contains 20 (or 10 if only an ARM version is supported) configurations:
ROM 4/2 waitstates, no prefetch
ROM 4/2 waitstates, prefetch
ROM 3/2 waitstates, no prefetch
ROM 3/2 waitstates, prefetch
ROM 4/1 waitstates, no prefetch
ROM 4/1 waitstates, prefetch
ROM 3/1 waitstates, no prefetch
ROM 3/1 waitstates, prefetch
The current version contains 1260 tests total.
A new SVN build of the Nintendo GBA and GB/GBC emulator VisualBoyAdvance-M has been released.
Removes NO_OAL from the project file to restore compiling to its full form. Specifying such an option should be done per user and should not be set by default.
patch from billiard to attempt a fix for the broken DI8 enumeration.
and this ends a bunch of updates including msvc10 project files, billiards directinput patches, and changing of the project name to visualboyadvance-m in the project files.
nasm seems to bitch when there are spaces in the folder path, and i havenīt yet worked out how to fix this in nasm.target so if anyone has an idea yeah
thanks for the patchs billiard
enable SSE optimisations in VCProj, intrinsics update nasm and revert shuffles changes to gb_apu_state.cpp.
i prefer warnings during compilation rather then a lack of function in the emulator, we can look at correcting the warnings in a less broken manner later.
by popular demand, the layers menu is back.
filters was named wrong for some reason O.o
killed off 22 warnings by removing a command line override for zc:forscope.
applied patches by jlaukkanen Import Pro Action Replay Snapshots Compilation error when no_xaudio2 Focus Lost in cheat dialogue MFC
more patches, save type detection now only available when a rom is loaded.
another patch, this time for GSV snapshots.
gdbconnection patch - fixes remote debugging
gdbconnect patch, fixes remote debug
stupid log told me it wasnīt patched but it was
streamlined vcc directories some.
applied gtk_rtc.patch by unmacaque
LZMA2 support for file_extractor by Kode54
linux build fix, pushed to svn.
debian build fix
lets try this one more time
applied kode54īs sdl/gtk joypad patch
missing ; after break on line 263
SVN: Applied proper properties to all files, mainly to get native end of lines.
GTK: Fix the joypad config dialog using 100% CPU
GTK: Convert the remaining parts of the UI from Glade to GtkBuilder. Thanks to Rafał Mużyło for the patch.
GTK: Rename the main GtkBuilder file for consistency
GTK: Change the OpenGL texture size when changing scaler size. Thanks to fernandotcl for the patch.
SDL: Allow vbam to run on systems without an audio device. Thanks to jcranmer for the patch.
GTK: Donīt disable rendering when using the menus. Thanks to fernandotcl for the patch.
GTK: Donīt reset the renderer when entering the display config dialog
CMAKE: Allow building without SFML
CMAKE: Use built in support for ASM compilers. Bump required version to 2.6.0
DEBIAN: Build one package for SDL, and one package for GTK+. Thanks to fernandotcl for the patch.
GTK: Added GBA cheats support. Thanks to unmacaque for the patch.
GTK: Cleanup includes. Donīt instanciate global objects.
GTK: Turned the last menu based settings into a dialog
SVN: Set more properties
GTK: Remove the StringTokenizer class and move the functionality to tools.cpp
GTK: Mark more strings as translatable
FEX: Make fex crap properly convert filenames from 7z archives to utf8 under Linux
GTK: Add support for 7z archives
CMAKE: Clarify CMakeLists.txt a bit
GTK: NLS support WIP
GTK: More NLS WIP
GTK: More NLS WIP
GTK: Add vba-over.ini support
GTK: Fix NLS for the directories config dialog
VBA-M is a [Super] Game Boy [Color / Advance] emulator for Windows, Linux & Mac. Here you can get information about the latest development build of the Windows version and download it while you're at it.
Changes in this release:
bgk: Initial version of the GTK GUI (forwardported from VBA's CVS)
xkiv: SDL: new option to slow down autofire (needed for it to work with some games)
bgk: Fixed MFC
ZachThibeau: Compiled release. used yasm instead of nasm. (nasm giving errors in release build but not in debug build), fixed url in about box to point to http://vba-m.mudlord.com
Dwedit has popped up with a new version of his TI83 Emulator for GBA, heres the release notes:
Here is a Multiboot version of the TI83 emulator.
If you trim the TI83 rom, the file size of the rom is about 215900 bytes large.
You can also attach a .83G file up to about 14000 bytes large, and use L+R to send it.
If the GBAMP firmware refuses to boot the file, use the PocketNES firmware instead.
Edit: Using Pocketnes firmware to run the emulator may be buggy. It crashed when I tried sending a game to the emulator. Using GBAMP's firmware didn't boot the emulator at all for me.
Flubba has released a new Neogeo Pocket Emulator for GBA:
New version of NGPAdvance, a lot of games should be a bit more playable thanks to speedhacks. I also added support for a lot of internal hardware (RTC/Alarm, Power button, DA/DA IRQ) so that you can use the real bios. Still no flash emulation as I can't really see how to implement it on the GBA... Also uploaded a tech doc for the NGPC.
*Added speedhacks for a lot of games.
*Added emulation of batteries & sub battery.
*Added RTC alarm.
*Added power button (SELECT).
*Added D button (R) (check Doko Demo Mahjong).
*Fixed a couple of cpu bugs affecting Metal Slug 1 and a couple of other games.
Wow, just fixed a small bug with the new VRAM copy, download V2.3
• Added copying of first 32kB ROM to VRAM for faster execution.
• Added selection of machine.
• Added correct noise generation for SG-1000 emulation.
• Added correct palette in TMS9918 modes on SMS machines.
• Added different vdp capabilities depending on selected machine.
• Added some very basic Mode5 support when Machine=MegaDrive.
• Added different io maps depending on selected machine.
• Added support for the SMS1 tilemap address masking (Ys(J)).
• Added support for turning on/off internal RAM.
• Added auto save of SRAM (if it's allready present) when entering menu.
• Added auto turn off of Bios when no header found (on machine=Auto).
• Added auto region (Pop Breaker GG (J)).
• Fixed support for Dodgeball King (KR).
• Fixed pushing and poping of AF register (Adventure of Batman GG).
• Fixed sprite bugs in unscaled mode on Codemasters games.
• Fixed initializing of all CPU regs on reset.
• Fixed timing of HALT instruction.
• Fixed palette setting for TMS9918 modes on GG.
• Fixed noscrolling for TMS9918 modes.
• Fixed up Mode1 graphics a bit.
• Fixed correct HCounter and latching.
• Better switching between TMS9918 and SMS video modes.
• More info shown from the game header.
• Optimised tile rendering for mode 0 & 2 (for real this time).
• Optimised all Z80 memory reads, one instruction and cycle shorter.
• Optimised DAA opcode.
• Optimised DEC opcodes.
• Optimised SBC A/HL opcode.
• Optimised one of the SRA opcodes.
• Optimised CPI, CPD, CPIR & CPDR opcodes.
No$gba Newest-Gaming-Version Downloads Donate $2.50 (via paypal) and Download newest no$gba version (support the no$gba project)
[hint] I am currently having technical problems to create a new donation button for v2.6a, so, if you've bookmarked the v2.6 download address, then you can re-use it for v2.6a, too. Anyways, would be even better if you would threw in a new donation :-) Also because the address is unchanged, some browsers may have memorized the old v2.6 files, and may keep giving you that old files - in case of problems: bookmark the download address, and try again later. To avoid another problem: Be sure that you don't forget to click the "Return to Merchant" button at the paypal page when you've sent the money.
Why that donation stuff...? I've had some money saved up when starting to make no$gba in summer 2001, during last some years the money became less and less, so, without some new money, I won't be able to continue to work on no$gba much longer. Now, if less than one of a hundred people would click the donations button - that would probably solve no$gba's monetary problems.
(faster 3d rendering, backup detect, rtc-irq, better texture interpolation,)
(perfectly accurate edge-marking, translucent-poly-id, shadow-poly support,)
(capture in vram display mode, debug gui/warnings, cpu/ipc/div/sqrt details)
- free-download: old no$gba v2.6 gaming version now free for everybody - enjoy
- debug/symbols: resize function for Alt+L symbol list window (saved in .ini)
- debug/internal: changed computer_id handling for compatibility with win vista
- nds/debug: allows nintendo to mis-use clipmtx_result for detecting their emu
- nds/debug: allows to override mis-declared-thumb-functions by crude $t labels
- nds/rtc: triggers IRQ when SI changes HI-to-LO (only when SI-IRQ is enabled)
- hll-version: demangles strange new "_ZN3txt3txtEii" and "_Z3txtii" type labels
- nds/gba/rcnt: allows to generate SI interrupts manually by toggling RCNT bits
- nds/gba/rcnt: internally memorizes rcnt-output bits (additionally to inputs)
- nds/rtc: passes rtc 1Hz/2Hz/4Hz/8Hz/16Hz or per-minute IRQ to rcnt SI input
- nds/3d: soft-speedup: uses clean 80286 shift opcodes (instead slow 80386 shrd)
- nds/3d: soft-speedup: new scaled side_clip_x allowed to re-remove pre_add_mask
- nds/3d: soft-speedup: scaled side_clip_x coords from 0..len to 0..7FFFFFFFh
- nds/3d: soft-accuracy: texture/color interpolation with variable pre_add_mask
- nds/details: emulates all newly discovered ipcfifo/div/sqrt technical details
- nds/help: added tech specs on div/sqrt (readonly results, start/stop timings)
- nds/help: added tech specs on ipcfifo (edge triggered, underrun, fifo-disable)
- nds/help: added user settings 076h (language mask) and header 01Dh (ique flag)
- nds/3d: soft-detail: edge-mark: recurses surrounding depth values (less only)
- nds/3d/help: added more technical notes on edge marking (depth and polygon_id)
- nds/a22i: auto generates chinese crc upon .fix directive (only if version=2)
- nds/help: added info on chinese title in icon/title region (addr/version/crc)
- cpu/internal: reduced 32bit test/and to 8bit (al/bl/cl/dl instead eax/ebx/etc)
- cpu/detail: emulates mis-aligned thumb bx/blx and arm bx/blx (with warning)
- cpu/detail: emulates mis-aligned rd=r15 in arm alu opcodes (thanks jonathan)
- nds/3d/help: added double-blended-edge-glitch (edge-marking plus anti-alias)
- nds/3d/help: added translucent-edge-glitch (edge-marking plus anti-aliasing)
- nds/backup: supports re-detection (games with faulty initial initialization)
- nds/backup: added bus-width auto detection (redirecting to new general types)
- nds/backup: added new types (3x general types) (and 1x sanyo, thanks flubba)
- nds/3d: soft-detail: edge-mark: handles edges at screen border (via clear_id)
- nds/3d: soft-detail: edge-mark: applies edges in respect to surrounding pixels
- nds/3d: soft-detail: edge-mark: internally stores edge_flag for possible edges
- nds/debug: allows some games to initialize not-existing port 4001004h to zero
- nds/debug: allows nintendo to use faulty ldmib with base-inclusion-writeback
- nds/debug: allows nintendo to use invalid stmib/ldmib user bank writeback
- nds/debug: allows nintendo to write more serious nonsense to (R) baseband regs
- nds/timings: re-fixed arm7/arm9 sync (new arm9-66MHz timings vs arm7-33MHz)
- nds/video: supports capture from 2d/3d engine in vram display mode (nanostray)
- nds/help: added note on undoc nds7 port 4001080h (used by ds-lite firmware)
- nds/help: added optical mouse sensor (slider controller) (thanx daniel palmer)
- nds/help: added firmware wifi internet access point settings info (thanks cue)
- nds/help: added user settings 066h (year) and 075h (ext language) (thanks cue)
- screenshot: converts 32bpp images to 24bpp (smaller and more standard files)
- nds/3d: soft-detail: prevents rendering of translucent polys with same poly_id
- nds/3d: soft-detail: supports shadow polygons (mask/render, step 1 and step 2)
- nds/3d: soft-speedup: scaled perspective correct clp.x from 0..len to 0..7FFFh
- nds/3d: soft-speedup: mmx: faster texcoord_clipping (no_repeat,repeat,flipped)
- nds/3d: soft-speedup: pre-calc tex_clip proc, collapsed 32:32 tex_xy to 16:16
- nds/3d: soft-speedup: pre-explodes edge_color_table, optimized alpha blend
- nds/3d: soft-speedup: mmx: processes two rgba-pairs and tex_xy-pairs at once
- nds/3d: soft-speedup: mmx: nonlinear color_rgb and texcoord_xy interpolation
- nds/3d: soft-detail: stores fog bit in framebuffer (opaque/trans=replace/and)
- nds/3d: soft-speedup: mmx: linear color_rgb and texcoord_xy interpolation
- nds/3d: soft-speedup: merged texture addressing and blending into single proc
- nds/3d: soft-speedup: mmx: faster texture blending (modulate/toon/highlight)
- nds/3d: soft-speedup: pre-calculates soft3d_tex_blend_proc for blendtype/mmx
- nds/3d: soft-speedup: uses mmx (if present) (otherwise stays 80386 compatible)
- nds/3d: soft-speedup: collapsed scanline_rgba from 32:32:32:32 to 8:8:8:8 bits
- detect: added no$gmb-386/486/cpuid detection, internal: rdtsc (3d/re selftest)
Why that donation stuff...?
I've had some money saved up when starting to make no$gba in summer 2001, during last some years the money became less and less, so, without some new money, I won't be able to continue to work on no$gba much longer. Now, if less than one of a hundred people would click the donations button - that would probably solve no$gba's monetary problems.
- nds/3d: soft-renderer: uses fast linear color/texture interpolation when w1=w2
- nds/3d: soft-renderer: supports perspective-correct texture (eg. eragon/demo)
- nds/3d: soft-renderer: supports perspective-correct rgb color interpolation
- nds/3d: soft-renderer: picks correct vertex/color/attributes on 1dot polygons
- nds/3d: soft-renderer: prevents polys at existing/possible x1=256 (off-screen)
- nds/3d: soft-renderer: allows bigger than possible rear-depth (clubhouse dart)
- nds/3d/debug: vram viewer correctly shows swap buffers as 1st command in tree
- nds/3d/help: added note on situations where lower/right edges are excluded
- nds/3d/help: anti-aliasing doesn't work with (opaque) lines and wire-frames
- nds/3d/help: anti-aliasing isn't used on edge-marked polys/lines/wire-frames
- nds/3d/help: swap_buffers parameters are applied on the FOLLOWING gxcommands
- nds/3d/help: swap_buffers does NOT copy re-ports (disp3dcnt/toon_table/etc)
- nds/3d: soft-renderer: supports w-buffering (games with reversed z working)
- nds/3d/help: confirmed guessed texture slot locations for rear-plane bitmaps
- nds/3d: soft-renderer: allows dots on lower/right clip-boundary (off-viewport)
- nds/3d: soft-renderer: prevents polys at y1=192 or y1=negative (off-screen)
- nds/3d: soft-renderer: handles faulty viewports (exceeding 192 scanlines)
- nds/3d: re-renders old frame on master changes (disp3dcnt or port 330h..3BFh)
- nds/3d: soft-renderer: discards correct vertex of invalid twisted |X| quads
- nds/3d: soft-renderer: emulates edge-marking (edge_color, opaque, polygon_id)
- nds/3d: soft-renderer: emulates correct size of line-segments and wire-frames
- nds/3d: soft-renderer: emulates correct size of edge-marked polygons
- nds/3d: soft-renderer: emulates correct size of translucent and opaque polys
- nds/3d: soft-renderer: enulates inwards/outwards/left/right/front/back edges
- nds/3d: soft-renderer: emulates steep, flat, vertical, horizontal edges
- nds/3d: soft-renderer: emulates correct rounding of screen coordinates
- nds/3d: supports direct capture from 3d engine (instead from engine a only)
- nds/2d/bugfixes: inits engine b on reset, fixed engine b base in vram viewer
- nds/3d: opengl: internally breaks all polygon strips to separate polygons
- nds/3d: buffers translucent polys, and renders them later (after opaque polys)
- nds/3d/help: corrected polygon_attr.bit11 (affects pixels, not whole polygons)
- nds/3d: soft-renderer: stores alpha in framebuf (unlike evil generic opengl)
- nds/3d/help: added description on clamped textures (clips to minmax 0,siz-1)
- nds/3d: soft-renderer: supports texture clamp, repeat, and flip-repeat modes
- nds/3d: soft-renderer: clips texcoord (only if needed; point1 or point2>max)
- nds/3d: soft-renderer: supports toon table (and skips green/blue calculations)
- nds/3d: soft-renderer: does texture blending (modulation,decal,toon,highlight)
- nds/3d: soft-renderer: explodes texture bitmap and renders texture by texcoord
- nds/3d: emulates polygon_attr having no effect until next begin_vtxs command
- nds/3d: soft-renderer: renderer uses linear (quick'n'dirty) color/texcoord
- nds/3d: soft-renderer: interpolates color and texcoord (if any) on rendering
- nds/3d: soft-renderer: interpolates color and texcoord (if any) on clipping
- nds/3d: allocates/stores color/texcoord/screencoord in each buffered vtx-entry
- nds/3d: soft-renderer: re-ensures range after clipping (for rounding errors)
- nds/3d: vram viewer: fixed 4x4 texel texture mode1 crash (missing pusha/popa)
- nds/3d: soft-renderer: optional depth_update for translucent polys (less only)
- nds/3d: soft-renderer: optional depth_less or depth_equal rendering condition
- nds/3d: soft-renderer: interpolates depth (z) horizontally and vertically
- nds/3d: soft-renderer: initializes rear-plane rgba,depth,etc (blank or bitmap)
- nds/3d: soft-renderer: front/back/linesegment check (on first three vertices)
- nds/3d: soft-renderer: hides far-plane-intersecting (if enabled in poly_attr)
- nds/3d: soft-renderer: clips polygons to all six sides of the view-volume
- web/paypal: added an evil "donate 2.50 and download newest version" button
- dos: due to the soft-renderer, dos version is now fully supporting 3d video
- a22i: added LO (usingned lower) as alias for CC (carry clear) (thanks niels)
Some people have been bugging me about a MSXAdvance with 64kB RAM for christmas, so here it is. As I've been working on the Z80 and SMS emulators for some time now there are some more fixes in it as well.
• Added 64kB of RAM instead of 32kB (Batman).
• Fixed initialization of horizontal position of keyboard.
• Fixed initializing of all CPU regs on reset.
• Fixed pushing and poping of AF register (BC Quest for Tires II).
• Optimised some of the SBC instructions.
• Optimised DAA opcode.
• Optimised one of the SRA opcodes.
• Optimised tile rendering.
- 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 instead txhdr
- 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, 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)
- cheat: fixed conditional counter for cbds parameter lines (thanks Hiei Youkai)
- cheat: raised strnlen to 5kbytes for about 256 codes/line (thanks Hiei Youkai)
- nds/gba/help: added info on unknown add-ons (gba ir/wifi and nds memory exp)
- nds/help: added info on ds rumble option paks (thanks bottledlight ds wiki)
- gba/help: added some very basic info about the gameboy player (thanks flubba)
- gui: allows to resize debugmsg/cheat/fileslst windows (with anchored buttons)
- gba/help: added yoshi x/y-axis info (thanks flubba) (still incomplete though)
- gba/help: added warioware z-axis gyro info (thanks momo vampire for the cart)
- gba/help: added rumble and fram info (thanks momo vampire for warioware cart)
- gba/help: added notes on special meaning of 1st (and 4th) letter of gamecode
- nds/3d: emulates alpha blending master enable/test mode bit (disp3dcnt.bit3)
- gba/memfill: fixed memfill code (data step/repeat count) (thanks Hiei Youkai)
- nds/cheat: removed various ARDS checks (accepting addr with unknown offsets)
- gba/nds: corrected hblank durations (thanks sebastien), no-vblank in lastline
- gba/nds/help: notes on hblank=0 duration (1006/1606/1613 on gba/nds9/nds7)
- gba/nds/help: notes on no-vblank-flag in last line, and hblank in ALL lines
- nds/cheat: removed alignment check for [[X]+Z] (works with uninitialized [X])
- nds/cheat: changed ARDS enable-code detection (9 lines with specific 4th/9th)
- multi-cpu-timing: machine_switch_request processed AFTER all event_handlers
- nds/3d: emulates texture master enable bit in disp3dcnt (thanks peter schraut)
- nds/3d: emulates material-alpha (rather than only color-alpha) (thanks peter)
- nds: emulates hinge/unfold irq (additionally to hinge status) (thanks antonio)
- debug/setup: allows to enable/disable user-debugmsg, wifi-log, and 3d-log
- cpu: emulates undef opcode/copro exception (with warning if no bios/vector=0)
- wifi/emu: emulates new bits in rx header, and optional auto sequence control
- cpu/bugfix: arm ldm/stm accidently destroyed mis-alignments (on writeback)
- wifi/help: added info on port 1C4h, and on some of the 1Bxh ports (rxstat's)
- wifi/help: added new chapter on transmit errors and automatic ACK responses
- wifi/help: added info on ports 1A8h,1AAh,1ACh,1AEh (bit0..12 vs. 1B0h..1BFh)
- wifi/help: discovered new bits in RX header, added notes on MAC addresses
- wifi/debug: allows to log all packets (with automatic comments on ieee header)
- wifi/help: added notes on automatic sequence ctrl and auto-modified frame ctrl
- wifi/emu: tx-engine uses new timers, and emulates length/rate/preamble timing
- wifi/emu: emulates the various wifi counters and irqs at correct timing
- debug/setup: memorizes if iomap window was open (if so, re-opens it on boot)
- debug/emustop: break_requests (esc-key) take place only on current machine
- debug/internal: replaced ds:bibos swi_retadr/haltstop/intrwait by vals:bios
- debug/vramviewer: oam viewer supports extended obj palettes (thanks pierre)
- debug/vramviewer: fixed engine-B palette viewer (thanks pierre for bug report)
- dslite/help: added info on new TSC chip by AKM (new IN2, different PD bits)
- dslite/help: added note on near-crt-quality colors and wider viewing angles
- dslite/help: added custom change-channels-flowchart for new wifi-type3-chips
- dslite/help: added settings at firmware[0CEh-and-up] for new wifi-type3-chips
- dslite/xboo: updated nds-pins.gif (added new pin-positions on ds-lite board)
- dslite/xboo: added 8 extra diodes in data lines (to prevent power-on problem)
- dslite/help: added lite-specific wifi (W) mirrors, and unused wifi ram/ports
- dslite/help: added the new backlight level bits in firmware user settings
- dslite/help: added caution on DS-lite destroying wifi ports 064h and 076h
- dslite/help: added new powerman backlight/power register (and lost mute-bit)
- dslite/help: added ID for firmare chip 35PE20P (and supported it in ds-xboo)
- powerman/help: added unknown bit (mutes volume to zero, if amplifier is on)
- wifi/emu: emulates initial wifi-port settings and random register (mod 5FDh)
- wifi/emu: emulates primary wifi irq flag stuck zero while secondary nonzero
- wifi/emu: emulates corrected ports (004h,0ACh,0AEh,0B0h,0B4h)
- wifi/emu: emulates new ports (210h, 05Ch/06Ch, 062h/064h) and new mirrors
- wifi/help: added rx/tx signal/timing charts (rfu pins, aka 19Ch bits)
- wifi/help: added specs/cautions on primary wifi irq flag (2000214h.Bit24)
- wifi/help: added new mirrors (on read from 0ACh,0AEh,20Ch,21Ch,298h,2A8h,2B0h)
- wifi/help: added notes/info on ports 038h,19Ch,214h,21Ch and on W_CONFIG_140h
- wifi/help: new bits 0EAh.1,008h.13/14 004h.14); extra-TX ports 118h,0EEh,090h
- wifi/help: corrected ports 004h,0ACh,0AEh,0B0h,0B4h and txstat.bit12-13
- wifi/help: added info on new ports (110h, 210h, 05Ch/06Ch, 062h/064h)
- wifi/help: fixed tx_hdr: rate 8bit (not 16bit) defaults to 1Mbit/s if invalid
- wifi/help: added new bits: port004h.bit0 tx_master, 008h.bit15 beacon_irq1
- wifi/help: major updates in timers chapter (reloads, IRQ13/14/15, 22MHz, etc)
- nds/help: pinouts for nds LCD sockets, wifi RFU boards, and powerman chips
- gui: mousewheel support (win98 or dos/ctmouse) (thanks jasper/idea, tilo/hw)
UPDATE: If you downloaded the files prior to this notice you may want to download them again as fluBBa made the following update:
Update: fixed a huge bug making a lot of games crash at start, sorry about that.
* Optimised tile rendering for mode 0 & 2.
* Fixed a bug where GG games set the "lock-toprow" bit (Sonic Drift demo).
* Added support for the SG1000 games Mahjong and Home Mahjong.
* Added support RAM on some SG1000 games (The Castle, Othello...).
* Fixed clearing of SMS VRAM when no bios used.
This is what seems to be the last update on this wonderfull Snes emulator for the GBA hardware, Thank you Bubble2k!
The release notes spells out all changes in detail. But in summary, this is what I've done:
1. Fixed some DMA bugs - Final Fantasy Mystic Quest seems playable
2. Fixed the subtraction bug - so that Zombies ate my Neighbors now work
3. Partially fixed and restored the SNES additive transparencies capability
4. Fixed Mode 7 wraparound. - Super Metroid intro: Samus' ship does not repeat; Secret of Mana: world map during cannon jump wraps around at the edges.
5. Fixed bug in the emulation of some other instructions and PPU registers.
6. Implemented partial HDMA (currently only updates BG scrolling position) - DKC3 works, FF3 backgrounds scroll correctly but text still invisible.
7. Made slight/major optimizations to the code based on Gladius suggestion. Most games should see some slight, but notable speed increase.
As usual, I hope I do not break any existing working games...
EDIT: This version's mainly some bug fixes and the partial implementation of HDMA. I wouldn't consider it a major success in implementation, but rather a proof of concept. There aren't too many fixes to the garbled graphics for this version unfortunately. But I would like to move on to the DS for v0.26 to fix that issue up. Many things are much easier on the DS.
• Added "Go Multiboot" menu option.
• Added menu option for disabling background/sprites.
• Fixed a bug in the screen on/off behaviour.
• Fixed a bug in SRAM loading when using a BIOS.
• Fixed default config.
• Fixed Pause & Reset buttons when linking 2players.
• Removed the save management menu when multibooting.
• Optimised tiledecoding.
• Optimised some of the SBC instructions.
• Optimised EI instruction.
• Optimised IO port access.
These are some of the changes this round, if anyone is at all interested.
- Fixed a critical bug with the register reads and writes (might be slower)
- Improved cycle counting (again) for block move and DMA operations.
- Added feature to handle mid-frame change of background offsets.
(Able to see water in Super Mario World,
Able to see scrolling clouds in Super Mario All Stars: Super Mario Bros,
Able to see fixed status panel in Super Mario All Stars: Super Mario Bros 3,
Able to see scrolling name entry in Zelda: A Link to the Past)
- Fixed reading register $4212 to indicate auto-joypad read status.
- Fixed writing register $4016 to reset only when the correct bit is set.
- Fixed joypad registers to send joypad input only from the first controller.
- Fixed HiROM mapping.
- Added Mode 20/21 ROM Access Speed.
- Fixed a bug with the INC/DEC opcode that was previously returning the wrong
(This fixes Super Mario Bros 2's glitch where the character suddenly warps to the
top of the screen)
- Fixed messed up colors when in 256-color palettes.
- Fixed fading to use always the brightest fade color per frame
- Slightly improved VRAM allocation for background graphics
- Implemented Mode 7 Graphics
- Added more configuration options:
o FORCED BG MODE
AUTO, MODE 1, MODE 2,... MODE 7
o VRAM BG ALLOC
SMART - Don't allocate for disabled BGs
may see less garbled graphics,
slow refresh on every enabling/disabling/flicker of BGs
FAST - Allocate for disabled BGs
may see more garbled graphics
fast flickering of BGs (needed by games like Megaman 7)
- Added Quick Configuration Feature:
o L+R+SELECT+UP: Cycle through the following BG Priority Sets
set 1 = (P1, P2, P0, P3)
set 2 = (P2, P1, P0, P3)
set 3 = (P0, P1, P2, P3)
set 4 = (P1, P0, P2, P3)
o L+R+SELECT+DOWN: Cycle through the FORCED BG MODEs
opt 0 = as required by game
opt 1-7 = the respective modes
And expect the follow up on SnezziDS by Gladius
Awesome work as usual bubble2k :D. Yes, I will be porting this, but not until tonight - work calls.
a new version of the SNES emulator for the GameBoy Advance has been released. This is mainly geared toward people interested in development. This release just adds the snezzidebugger.exe to the package. No other changes since the 0.22 release have been added.
Spacy has released a newl build of the Gameboy Advance emulator VisualBoy Advance. Here is the recent changes from him and PokemonHacker.
• I extremely reworked Direct3D to be faster than DirectDraw, but with the disadvantage of not being able tos cale the iamge with an aspect ratio, and the iamge is always bilinear scaled, like in DIrectDraw.
• Removed Skin support (from the Visual Studio 2005 build [#define NOSKINS]) to make compilation easier.
• Fixed joypad configuration dialog, it now responds faster to key presses.
• Merged the "open file" code for GB and GBA games.
• Merged the simple copy Image routine between DirectDraw and Direct3D, added a fast C alternative
• Worked over the whole DirectSound interface and found+fixed a minor bug.
• Enabled SSE(1) optimization in compiler
Pokemonhacker: [the one and only :)]
• corrected a compatibility problem with other versions.
• fixed a bug for ARV3/4 rom patching codes.
• corrected a bug when you entered a 'unknown' code, and then removed/disabled it.
GBA.cpp / gbainline.h:
• tweaked the bus prefetch a bit.
• changed the save handling a bit.
• added a 'master code' support (so the cheats are executed only when the master code address is reached ; if no master code are entered, cheats will be executed after each frame).
• corrected the mirroring of Vram.
• changed slightly the emulation of gbasavetype.
• vba now ignores rtc command 0x64.
• added a 64k->128k 'auto upgrade' (could correct some of the pokemon games's corrupted/deleted save problem).
• corrected a compatibility problem with other versions.
• fixed a bug for ARV3/4 rom patching codes.
• added support for swi $d (GetBiosChecksum).
• corrected a bug in registerRamReset.
• optimised/simplified a bit the bus prefetch handling.
You can get some more information and the release from their forum post over at NGEmu's forums. Also if you do give this build a try please report all problems to Spacy and other feedback you would like to give. :)
Snezziboy is an SNES Emulator on the Gameboy Advance. A Snezziboy Builder attaches the emulator core to the SNES demo ROM to produce a GBA executable ROM. Compatible with SNES Advance superdat for speed hacks and other patches.
Made by Bubble2k, it is faster than Snes Advance and with a lot of new features, that is one to keep track of.
* Added Savestates.
* Added support for Ernie Els Golf.
* Fixed Start/Select going through when using L/R + Start/Select.
* Fixed gamma settings acting directly.
* Fixed Codemaster mapper a bit, now works with BIOS.
* Fixed header detection, all GG games that use SMS mode now uses the GG BIOS.
* Updated the readme a bit.
* Fixed volume attenuation.
* Fixed soundclicks in rom selection menu.
* Fixed a bug with the new sprite collision.
* Fixed some bugs with the sprites in Mode 0 & 2.
* Fixed a rare background bug in Mode 0, 1 & 2.
* Fixed cpu timing for both PAL & NTSC (confirmed on real HW).
* Better update timing in PAL mode.
* More colorful SG-1000 palette.
* Optimised BIT7 instructions.
* Optimised some of the shift instructions.
* Optimised DD/FD instructions.