{"id":11242,"date":"2006-01-23T14:52:01","date_gmt":"2006-01-23T14:52:01","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=11242"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=11242","title":{"rendered":"[Console] No$GBA v2.2"},"content":{"rendered":"<p>Les versions windows et Dos avec son+couleur et \u00e9mulant les jeux commerciaux, par contre la version incluant le debugger reste payante. Voici les tr\u00e8s nombreux changements (avec support de la DS):<\/p>\n<h5>\n&#8211; help: uploaded new gbatek standalone version v2.2 (with nds specifications)<br \/>\n&#8211; exe\/help: replaced upx compressor by nocash packer (without opcode filters)<br \/>\n&#8211; nds: applies bottom lcd (touchscreen) video output to correct window-owmer<br \/>\n&#8211; nds: applies mouse\/touchscreen to correct window-owmer (in multi-machine mode)<br \/>\n&#8211; nds: auto-initializes touchscreen calibration (both with\/without firmware.bin)<br \/>\n&#8211; nds: no$fmw: included nocash firmware xmit binary as overlay in no$gba.exe<br \/>\n&#8211; help: added notes about new NDS emulation (on things that aren&rsquo;t yet working)<br \/>\n&#8211; exe: exported windows-help to separate upx-compressed overlay (as in dos ver)<br \/>\n&#8211; nds: vram viewer: matched user-grid, bg-scyx, oam-redbox to NDS resolution<br \/>\n&#8211; nds: xboo: saves backup of original firmware header on HDD and in flash memory<br \/>\n&#8211; nds: xboo: includes crypt key in firmware for NDS-decryption (if BIOS dumped)<br \/>\n&#8211; nds: xboo: download functions for dumping NDS firmware, BIOSes, and GBA-carts<br \/>\n&#8211; nds: xboo: patch\/restore functions for (un-) installing nocash firmware<br \/>\n&#8211; nds: xboo: help: xboo-circuit optionally fmw\/rfu, and dsub\/cntr pin numbers<br \/>\n&#8211; nds: xboo: high-speed upload connection Dta7bit\/Clk1bit (ca. 700 KBytes\/sec)<br \/>\n&#8211; nds: no$fmw: menu: property sheet, check boxes, radio buttons, edit buttons<br \/>\n&#8211; nds: no$fmw: menu: settings\/time, touchscreen\/temperature calibration, etc.<br \/>\n&#8211; nds: no$fmw: gui: joypad, touchscreen (lower), mouse\/touchpad (upper) controls<br \/>\n&#8211; nds: no$fmw: auto adjusts daylight saving time (should work, but not tested)<br \/>\n&#8211; nds: no$fmw: allows to boot NDS-images from NDS-slot, or from NDS-Xboo-cable<br \/>\n&#8211; nds: no$fmw: allows to load\/boot small NDS-images to\/from firmware memory<br \/>\n&#8211; nds: no$fmw: allows to load\/boot NDS\/GBA\/PASSME-images to\/from GBA-flashcards<br \/>\n&#8211; nds: lcd: re-activated rotscal params, working for GBA and BOTH NDS engines<br \/>\n&#8211; nds: lcd: emulates extended affine bitmap modes<br \/>\n&#8211; nds: direct boot: initializes ioports, and cp15, loads newest user settings<br \/>\n&#8211; help: nds: added DMA chapter, GBA-mode chapter, and keypad chapter<br \/>\n&#8211; help: nds: rev.engineered\/described RTC interrupt (shared with rcnt SI-line)<br \/>\n&#8211; help: nds: added sound chapters (channels, control, capture, block diagram)<br \/>\n&#8211; nds: emulates touchscreen, wramstat, vramstat, exmemstat<br \/>\n&#8211; help: nds: described undoc wramstat, vramstat, exmemstat, dmafill registers<br \/>\n&#8211; help: nds: added cartridge secure area, icon\/title, passme, I\/O port chapters<br \/>\n&#8211; help: nds: described how to interprete touch screen calibration values<br \/>\n&#8211; nds: help: CpuFastSet: only 1st QUARTER uses FAST 32-byte-blocks, rest is SLOW<br \/>\n&#8211; nds: resurrecred GBA mode (dis-chains NDS co_vals on NDS to GBA mode switch)<br \/>\n&#8211; a22i: added \u00ab\u00a0.no_auto_run\u00a0\u00bb directive (don&rsquo;t load non-game-cart files into emu)<br \/>\n&#8211; nds: emu: emulates ZERO unused\/write-only ports (instead GBA-style prefetch)<br \/>\n&#8211; nds: xboo: replaced 1N4148 diodes by BAT85 diodes for stable SPI connection<br \/>\n&#8211; nds: xboo: added firmware dump\/patch items in guiutility<br \/>\nemote access menu<br \/>\n&#8211; nds: xboo: automatically sends reset &#038; provokes lockdown to get a spi free bus<br \/>\n&#8211; nds: xboo: nocash firmware running in emu, using nds \u00ab\u00a0.pack_lz77\/key1\/crc16\u00a0\u00bb<br \/>\n&#8211; a22i: new \u00ab\u00a0.pack_nds_key1\u00a0\u00bb directive (only firmw, rev\/down, modulo C, level 2)<br \/>\n&#8211; a22i: new \u00ab\u00a0.pack_crc16 dest_label[,initial]\u00a0\u00bb directive (start by .pack_org $)<br \/>\n&#8211; nds: xboo: programmed overall skeleton nocash firmware version<br \/>\n&#8211; a22i: lz77 compress now working (start by \u00ab\u00a0.pack_org\u00a0\u00bb finish by \u00ab\u00a0.pack_lz77\u00a0\u00bb)<br \/>\n&#8211; a22i: added new desired origin target parameter to \u00ab\u00a0.pack_org\u00a0\u00bb directive<br \/>\n&#8211; help: corrected length in bit0-20 for CpuSet and CpuFastSet (not in bit0-15)<br \/>\n&#8211; a22i: accepts ARM instructions \u00ab\u00a0ALU Rd,Rm\u00a0\u00bb (abbreviations for \u00ab\u00a0ALU Rd,Rd,Rm\u00a0\u00bb)<br \/>\n&#8211; a22i: fixed crash on \u00ab\u00a0MOV R0,XX 1\u00a0\u00bb whereas XX 1 invalid formula (unlike XX+1)<br \/>\n&#8211; cpu: squeeze: ANYMEM removed seq code for areas with same timing as non-seq<br \/>\n&#8211; cpu: squeeze: ANYMEM\/mem_read_breaks checks brks, then executes normal ANYMEM<br \/>\n&#8211; cpu: speedup: stores memaccess_addr prior to ANYMEM (instead \u00ab\u00a0nnn OR adr\u00a0\u00bb)<br \/>\n&#8211; cpu: speedup: ANYMEM bypasses addr_clks_table for regions with fixed timings<br \/>\n&#8211; nds: help: added cart filesystem chapter, firmware header\/settings chapters<br \/>\n&#8211; nds: debug version: added NitroROM filesystem viewer window (if any)<br \/>\n&#8211; nds: direct boot: decrypts 2K secure area (only if rom-image is encrypted)<br \/>\n&#8211; nds: a22i \u00ab\u00a0.fix\u00a0\u00bb directive (plus .nds) encrypts first 2K secure area (if any)<br \/>\n&#8211; nds: a22i \u00ab\u00a0.fix\u00a0\u00bb directive (plus .nds) fixes logo,secure,header,icon CRCs<br \/>\n&#8211; nds: a22i \u00ab\u00a0.nds\u00a0\u00bb directive creates target files with \u00ab\u00a0.NDS\u00a0\u00bb extension<br \/>\n&#8211; nds: direct boot: optionally bypasses ugly slow bios\/firmware intro<br \/>\n&#8211; nds: timings: recurses cycles per scanline, scanlines per picture &#038; per vblank<br \/>\n&#8211; nds: dma: moved NDS9 dma-mode bits, DS-gamecart DMA, disabled NDS7 hblank-dma<br \/>\n&#8211; nds: cartloader detects nds-passme images, direct boot works with diff entry<br \/>\n&#8211; nds: cartloader identifies NDS gamecarts by header CRC (switches NDS\/GBA mode)<br \/>\n&#8211; nds: help: described cart protocol KEY1-commands in raw\/unencrypted format<br \/>\n&#8211; nds: emulates firmware bootmenu, io_lists: emulates nds gamecart<br \/>\n&#8211; nds: lcd-core displays second screen in game window, and in debug mode<br \/>\n&#8211; nds: lcd-core displays second screen, lcd-core handles vram_table<br \/>\n&#8211; nds: allocated DOUBLE sinline_bufseg in EMP-GSET, for GBA-LCD, for 2 screens<br \/>\n&#8211; nds: vram viewer: displays second screen (by engine A\/B buttons)<br \/>\n&#8211; nds: vram viewer: supports BG maps, added Engine buttons to all screens<br \/>\n&#8211; nds: creates second nds-machine, and dis-creates it in gba-mode<br \/>\n&#8211; nds: lcd: suppresses lcd_refresh_request on NDS7 machine (lcd by NDS9 only)<br \/>\n&#8211; nds: lcd: emulates OBJs, vram_table, variable boundary, moved dimension bit<br \/>\n&#8211; nds: lcd: disabled undoc green swap in NDS mode (supported in GBA mode only)<br \/>\n&#8211; nds: emulates ANYMEM vram bank-switching in 16K units by new vram_table<br \/>\n&#8211; nds: expanded NDS9 io_lists to 800h+80h (3D_Engine + and 2D_Engine_B area)<br \/>\n&#8211; nds: allows NDS9 firmware to read from DMA reg 40000B0h at least as dummy<br \/>\n&#8211; nds: added EXTKEYIN port 4000136h to NDS7 io_lists<br \/>\n&#8211; nds: expanded NDS7 io_lists to 800h (sound registers), plus dummy WLAN region<br \/>\n&#8211; nds: added new NDS9 io_list entries 400006xh (video), 40000Exh (dmafilldata)<br \/>\n&#8211; nds: emulates access to power managment device and touch screen controller<br \/>\n&#8211; nds: emulates all firmware flash memory commands (write, erase, status, etc)<br \/>\n&#8211; nds: emulates full SPI bus with different modes, irqs, devices etc.<br \/>\n&#8211; nds: help: added Power Managment Device, and SPI bus, and IPC chapter<br \/>\n&#8211; nds: help: added TSC touch screen chapter (touchscr, microphone, temperature)<br \/>\n&#8211; nds: help: added RTC real time clock chapter (port, time, date, alarm, etc)<br \/>\n&#8211; nds: emulates rtc real time clock, uses system time\/date &#038; own stat\/alarm regs<br \/>\n&#8211; nds: xcept: allows NDS9 firmware to zerofill invalid ports 4000058h\/400005Ch<br \/>\n&#8211; nds: xcept: allows NDS7 user code jump to BIOS addr 2DD4h (irq return addr)<br \/>\n&#8211; nds: xcept: allows ITCM high-mirror at 1FF8000h (aka 1000000h aka 0000000h)<br \/>\n&#8211; nds: xcept: allows bios accesses LDR\/STR [3FFFFF8h], and LDM [3FFFFD0h],r0-r11<br \/>\n&#8211; nds: xcept: ignores IntrWait bug with R12=18h (firmware decompression garbage)<br \/>\n&#8211; nds: xcept: zero-irq-vector-check on NDS addresses (DTCM+3FFCh and 380FFFCh)<br \/>\n&#8211; nds: xcept: allows\/expects nds7 shared ram at (37F8000h aka\/instead 3000000h)<br \/>\n&#8211; nds: xcept: allows bios to execute mis-aligned 32bit write to [40001A1h]<br \/>\n&#8211; nds: xcept: allows bios to fill last 32K main RAM at 27F8000h (aka 23F8000h)<br \/>\n&#8211; nds: xcept: allows NDS9 hi_bios jumps FFFF0xxxh and FAKE_TCM 080xxxxh accesses<br \/>\n&#8211; nds: xcept: allows NDS9 BIOS boot at FFFF0194h to write garbage to 27E57FEh<br \/>\n&#8211; nds: xcept: allows NDS debug ver-style 4K mirror at 27FF000h (aka 23FF000h)<br \/>\n&#8211; nds: xcept: allows BIOS-\u00ab\u00a0tricks\u00a0\u00bb memfill\/irqvect at 3FFFFxxxh (aka 3800Fxxxh)<br \/>\n&#8211; nds: reproduced ARM7 execution time R0*4 clks in 80&#215;86-emulated WaitByLoop<br \/>\n&#8211; nds: emulates ipc fifo control\/status\/interrupts, and send \/ receive queues<br \/>\n&#8211; nds: redirects high ports (4100000h and 4100010h) to nds in_list &#038; out_list<br \/>\n&#8211; nds: cpu2cpu emulates interrupt send\/enable (used later on in firmware)<br \/>\n&#8211; nds: cpu2cpu provokes instant machine switch (for firmware 232EEF0h\/37FFB38h)<br \/>\n&#8211; nds: emulates nds9 irq\/swi exception execution via high-vectors at FFFF0000h<br \/>\n&#8211; nds: added 2nd FAKE_TCM area for firmware dtcm=3000000h (in shared ram area)<br \/>\n&#8211; nds: customized adjust_pc for NDS7 host for split ram at 3000000h and 3800000h<br \/>\n&#8211; nds: customized debug ADJUST_ADDR for NDS7 host (ram at 3000000h and 3800000h)<br \/>\n&#8211; nds: faked gamecart irq, relocated IF (lcd,timer,dma,sio,etc) to NDS addresses<br \/>\n&#8211; mds: debugger shows current machine host (NDS7, NDS9, or GBA) in statusbar<br \/>\n&#8211; nds: emulates FAKE_TCM at fixed\/default locations dtcm=0\/800000h,itcm=1000000h<br \/>\n&#8211; nds: mounted ARM9 engine, chained-in 2nd vals with co_machine pointer<br \/>\n&#8211; nds: created ANYMEM for ARM9, supporting HI_BIOS area, init ARM9 addrbaselist<br \/>\n&#8211; nds: created NDS9 in_lists and out_lists, emulated SQRT and DIV registers<br \/>\n&#8211; nds: verified all machine loops for use with 2nd nds-machine (except gba-set)<br \/>\n&#8211; nds: dummy feedback for CPU2CPU communication, and for ROMCTRL busy flags<br \/>\n&#8211; nds: mounted new ANYMEM system for NDS7 host, split area nds7 ram\/shared ram<br \/>\n&#8211; nds: created nds7 in_lists, expanded IE and IF to 32bit, emulated firmware bus<br \/>\n&#8211; nds: bios loader: shows warning on invalid BIOSNDS7.ROM\/BIOSNDS9.ROM checksums<br \/>\n&#8211; webpage: new paypal email address, and new donate page (for freeware projects)<br \/>\n&#8211; help: removed all \u00ab\u00a0(formerly ..)\u00a0\u00bb names, expanded ports from NNNh to 4000NNNh<br \/>\n&#8211; xed32: selectable line-wrap length (65 or 77 columns), fixed line-wrap bug<br \/>\n&#8211; xed32: scrollbar works with >65535 lines, hex-scroll doesn&rsquo;t end at chr(1Ah)<br \/>\n&#8211; lcd: speedup: fixed fatal \u00ab\u00a0test_bg_rotated\u00a0\u00bb bitmap BUG (refx\/refy exchanged)<br \/>\n&#8211; cpu: suppressed base-writeback on NDS7:BIOS:1CD4h THUMB ldmia [r0]!,r0,r3<br \/>\n&#8211; cpu: bugfix: illegal opcode \u00ab\u00a0arm_11_ldmib_usr_wb\u00a0\u00bb acted as STM (instead LDM)<br \/>\n&#8211; cpu: emulates invalid \u00ab\u00a0stmib [rb]!,rlist^\u00a0\u00bb (userbank\/writeback) (nds firmware)<br \/>\n&#8211; cpu: ignores misaligned thumb target address on \u00ab\u00a0subs r15\u00a0\u00bb (for nds firmware)<br \/>\n&#8211; memory: mount_system switches between GBA and NDS memory allocation &#038; host<br \/>\n&#8211; memory: cleaned initaddrbasemask, new memadr_, formerly addr_<br \/>\n&#8211; bios: debug\/disass: added complete BIOS datazones and cpuzones for NDS7\/NDS9<br \/>\n&#8211; bios: debug\/disass: added SWI auto-comments and auto-labels for NDS7\/NDS9<br \/>\n&#8211; bios: simulates all NDS7\/NDS9 bios SWIs by 80&#215;86 code (except callbacks)<br \/>\n&#8211; help: bios: nds: described all new and changed NDS7\/NDS9 bios SWI functions<br \/>\n&#8211; bios: simulates IntrWait swi4\/swi5 by 80&#215;86 code (no longer using minibios)<br \/>\n&#8211; anymem: moved memaccess list to vals layer (for gba\/nds7\/nds9 memory hosts)<br \/>\n&#8211; anymem: cleaned up source by splitting code into separate anym sub-macros<br \/>\n&#8211; anymem: exported warnings to non-macro procs, access_abort \u00ab\u00a0exitm\u00a0\u00bb (saves 12K)<br \/>\n&#8211; help: nds: added firmware flash chip, firmware header, and encryption chapters<br \/>\n&#8211; windows: allows break-out from emucore even if windows sound timer locked-up<br \/>\n&#8211; win98: returns zero on WM_ACTIVATE (to regain full keyboard focus under win98)<br \/>\n&#8211; power saving: HLT opcode in DOS debug\/gui\/emucore, Sleep(1) in Win98 emucore<br \/>\n&#8211; internal: recombined frameskip handlers for gmb\/gba\/retro versions<\/h5>\n<p><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=2093\" title=\"Download Project Tempest (Francais)\">T\u00e9l\u00e9charger Project Tempest (Francais) v0.95 (339 Ko)<\/a><\/p><br \/>\n<\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/nocash.emubase.de\/\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles\/47-nintendo-game-boy-advance\/\" class=\"en_savoir_plus\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=11242\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Les versions windows et Dos avec son+couleur et \u00e9mulant les jeux commerciaux, par contre la version incluant le debugger reste payante. Voici les tr\u00e8s nombreux changements (avec support de la DS): &#8211; help: uploaded new gbatek standalone version v2.2 (with &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[],"class_list":["post-11242","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sKi2R-","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/11242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11242"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/11242\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}