[DS Scene] DS99/4a v1.5 released

Published a new update for DS99/4a , the TI99/4a home computer emulator developed by the developer wavemotion-dave for DS and DSi portable consoles.

 

 

In order to run the emulator it needs a DS with R4 flashcard or (highly recommended) a DSi or (even more highly recommended) DSi XL/LL with something like Twilight Menu or Unlaunch.

This new update has seen the correction of some bugs and partially refined the user interface.

The DSi (and later) will support silly ROMs with bank switching that there’s basically no need for. However this could prove useful in future-proofing the emulator.

 

Note: The emulator requires TI BIOS ROMs in the directory to work /roms/bios.

 

Characteristics

  • Cart loads up to 512K Banked (+40K unbanked GROM).
  • 32K RAM expansion.
  • Memory expansion SAMS 512K for DS and 1 MB for DSi (and higher).
  • Save and load state saves.
  • High score saving up to 10 scores per game.
  • Full mapping of any of the 12 DS keys to any TI joystick/keyboard combination.
  • Disk support for DSK1 and DSK2 up to 360K each using the standard TI disk controller (required 994adisk.bin– see BIOS files below).
  • No speech synthesizer yet (but games that require speech synthesizer will still run/play – just no voices will play).

This program is made up of a number of building block bits and pieces of code from other emulators along with a lot of original code to glue it all together and run on the DS.

  • Sound core SN76496 is from FluBBa and is used with permission.
  • The TI9918A code is from Marat Fayzullin (ColEM) and retains the original copyright statement by Marat. Don’t use any of those codes without trying to contact Marat.
  • The TI9900 CPU core is mostly mine with some significant bits of scaffolding from Mike Brent’s Classic99 emulator, especially in handling the status bits and some of the more complicated opcode algorithms so they work properly. This is used with permission and with big thanks!
  • For the rest of the code, as long as there is no commercial use (i.e. no profit is made), copying and distribution of this emulator, its source code and associated readme files, with or without modification, are permitted on any royalty-free media provided this copyright notice is used and wavemotion-dave is widely thanked.
  • The DS99 emulator is offered as-is, without any warranties.

Installation

  • You will need the two console BIOS files as described below. Place both BIOS files .binin /roms/bios(you can just create directory on SD card).
  • You will also need the emulator itself. You can get it from the GitHub page – the only file you need here is DS994a.nds(the file .ndsis a Nintendo executable). You can put it anywhere – most people put the file .ndsinside the SD card itself.
  • If you want to play disc based games ( Adventure , Tunnels of Doom , etc..) you will need the bios 994adisk.bin(often called simply disk.binbut you have to rename it and put it in /roms/bios).
  • You will need games to play… right now the emulator supports C/D/G files and non-inverted ‘8’ files. Basically just try to load a file to see if it works… ROMs should have the extension .bin.
  • I recommend you put your games in /roms/ti99as the emulator will default to that directory. That’s where the cool kids keep them.
  • I recommend putting all the necessary disks (files .dsk) in the same directory as your ROMs until I can get a better file manager.

Known issues

  • The 512K megademo8.binwill play (and it’s really cool!) but fail when it gets to the scanline stuff near the end.
  • Borzork has audio screech during gameplay.
  • The save and load state does not yet work with SAMS expanded memory nor with the special SuperCarts or MiniMems. Soon.
  • Congo Bongo requires RAM mirrors to be enabled so that level 2 problems do not occur. Use Options to enable.

BIOS files

Below are the CRC32 hashes of the BIOS file I’m using with all my tests – look them up if you want maximum compatibility:

* db8f33e5 994aROM.bin (8K)
* af5c2449 994aGROM.bin (24K)
* 8f7df93f 994aDISK.bin (8K) - questo è necessario solo se si desidera il supporto .DSK

Blend Mode (DSi)

The ColecoDS emulator supports a “blend mode” borrowed from my schema on StellaDS.

In this mode, two frames are merged together – this is really useful when playing games like Space Fury or Galaxian where the bullets on the screen are only 1 pixel wide and the DSi’s LCD doesn’t hold pixels long enough to be visible.

These games were designed to run on an old tube TV with a slowly decaying phosphor so that the eye sees faint trails as the picture fades.

This emulates that (roughly), on the DSi using this new mode makes those games really bright and visible.

The DSi XL/LL has a slower refresh on the LCD and comes closest to older CRT TVs… so blend mode is not needed for XL/LL models.

However using blend mode costs 15% CPU!! The DSi can handle it… the DS-LITE/PHAT may struggle a bit with more complicated games.

So my recommendation is as follows:

  • Non-XL/LL DSi: Use Blend Mode for games that take advantage of it (e.g. TI Invaders ).
  • DSi XL/LL – Don’t worry… XL/LL screen decay is slower and games look great the way they are.
  • DS-LITE/PHAT: You can try it but the framerate may drop below 60 FPS on some games.

To enable this new Blend mode, choose the game to load and go to the “Game Options” submenu to activate it.

Changelog v1.5

  • Fixed several minor cosmetic issues with menu handling and ROM file selection.
  • The DSi now supports up to 2048K (2MB) of ROM in banks (the old DS still supports 512K).
  • Other minor cleaning in the time allowed.

Changelog v1.4

  • Added new TI 3D virtual keyboard. Removed the old grille keyboard.
  • New dark menu theme to more closely mimic the black/silver style of a TI99/4a.
  • Improved memory usage and refactoring in code to allow for better future expansion.
  • Fixed VDP scripts so that Funware ‘s  Ambulance  now works properly.

Downloads: DS99/4a v1.5

Download: Source code DS99/4a v1.5

Source: gbatemp.net