Release DraStic Nintendo DS emulator


Just tested the MK star in the old version, and textures do go black when you get it. Also, sparklies are simple coloured spots hovering around your avatar, and I'm pretty sure they were better than that on my DS.


Trust a new version to come out while I'm away and out of wifi coverage. Will also try to test this on my DS when I get back.
 
I can confirm the "load new game" crash as well. Sometimes it's a lockup with black screen, sometimes just instant exit, and other times it actually works.
 
Every single person in this thread can confirm it but that isn't going to help because I can't reproduce this crash no matter what I try and no matter how many times I load new games. Someone at least give me a pndrun output.
 
Every single person in this thread can confirm it but that isn't going to help because I can't reproduce this crash no matter what I try and no matter how many times I load new games. Someone at least give me a pndrun output.

=======================================================================================
PND             : /media/mmcblk0p1/pandora/apps/drastic.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/mmcblk0p1/pandora/appdata/DraStic
APPDD_FSTYPE    : vfat
PND_CPUSPEED    : <unset>
EXENAME         : drastic.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/DraStic"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/mmcblk0p1/pandora/appdata/DraStic=rw+nolwh":"/mnt/pnd/DraStic=rr" none "/mnt/utmp/DraStic"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( drastic.sh  ) ----------
Starting DraStic (version r2.0p)

Checking directory /mnt/utmp/DraStic/backup: It's there.
Checking directory /mnt/utmp/DraStic/savestates: It's there.
Checking directory /mnt/utmp/DraStic/config: It's there.
Checking directory /mnt/utmp/DraStic/profiles: It's there.
Checking directory /mnt/utmp/DraStic/system: It's there.
Loading directory config file /mnt/utmp/DraStic/config/drastic.cf2
Loading config file /mnt/utmp/DraStic/config/drastic.cfg
Config file /mnt/utmp/DraStic/config/drastic.cfg does not exist.
Setting default configuration.
got keypad at device keypad
got gpio-keys at device gpio-keys
Using touchscreen at /dev/input/touchscreen0.
Got memory mapped buffer at 0x403a4000 (drastic_mapped_memory.dat)
Direct mapping main RAM to 2000000
Direct mapping main RAM to 2400000
Direct mapping main RAM to 2800000
Direct mapping main RAM to 2c00000
  Initializing ARM9 bus-level memory map.
  Initializing ARM7 bus-level memory map.
  Initializing CP15.
  Initializing DMA.
ALSA output: requested rate of 44100, got 44100.
ALSA output: requested buffer size of 8192, got 8192.
ALSA output: requested period size of 2048, got 2048.
ALSA output: Using synchronous engine.
1524.326172 cycles per output sample (0.000656 samples per cycle)
Loaded 6406 games in database file /mnt/utmp/DraStic/game_database.xml.
Processing command line options.
Found file info cache older than game database file. Not using.
Loaded 72 files in file info cache.
Directory load took 0.006867 seconds.
*** glibc detected *** ./drastic: free(): invalid pointer: 0x08bd8000 ***
Loading config file /mnt/utmp/DraStic/config/Mario Kart DS.cfg
Config file /mnt/utmp/DraStic/config/Mario Kart DS.cfg does not exist.
Loading config file /mnt/utmp/DraStic/config/drastic.cfg
Config file /mnt/utmp/DraStic/config/drastic.cfg does not exist.
  Setting up ARM9 memory map.
  Setting up ARM7 memory map.
Remapping ITCM limit from 0 to 0
Remapping DTCM from 0, 0 to 0, 0
Remapping DTCM from 0, 0 to 27e0000, 4000
Remapping ITCM limit from 0 to 2000000
Gamecard title:  MARIOKARTDS
Game code:       45434d41
Maker code:      3130
Unit code:       0
Chip size:       32768KB
ROM version:     0
Autostart:       0
ARM9 ROM offset: 4000
ARM9 entry PC:   2000800
ARM9 RAM offset: 2000000
ARM9 size:       e7534
ARM7 ROM offset: 141600
ARM7 entry PC:   2380000
ARM7 RAM offset: 2380000
ARM7 size:       289a4
Found game in database: titled Mario Kart DS. Flash backup: 40000 bytes, ID 00204012
Loading backup file /mnt/utmp/DraStic/backup/Mario Kart DS.dsv
Performing recompiler base block translation (2000800 2380000).
fb pixels overlay: 0x411df000
Got buffers 0x411df000/0x411df400, 0x4123f000/0x4123f400
DS screen top is at (0 90) to (399 389)
DS screen bottom is at (400 90) to (799 389)
Calling recompiler event update handler (@ 0x80bb0e4).
Remapping ITCM limit from 2000000 to 2000000
Remapping DTCM from 27e0000, 4000 to 27e0000, 4000
DTCM moved off of main RAM, remapping main RAM to it.
fb pixels overlay: 0x4097c000
Got buffers 0x4097c000/(nil), 0x409ac000/(nil)
DS screen top is at (80 0) to (719 479)
DS screen bottom is at (0 0) to (-1 -1)
Found file info cache older than game database file. Not using.
[SUCCESS]--- Starting the application ( drastic.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/DraStic': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 1
 
I loaded up mario kart ds, did load new game, and it crashed. It would appear that nothing helpful is logged
 
Last edited by a moderator:
No crash for me, can load new games without any issues.

I upgraded from an older version without removing the appdata folder or similar, if that helps.
 
Every single person in this thread can confirm it but that isn't going to help because I can't reproduce this crash no matter what I try and no matter how many times I load new games. Someone at least give me a pndrun output.
Ok, will get that. What i'm thinking right now is that may be a conflict in the appdata from one version to another. Anyway, I'll share the pnd_out.
 
Last edited by a moderator:
It looks like it crashed before it tried loading a file info cache, or something like that. Try deleting the drastic_file_info.txt files and see what happens.
 
I deleted the one from the folder with my ROMs, and the issue seems to be resolved. (Note to all, this is a hidden file and the filename starts with a period)
 
I think I found the issue, but I don't want to release it until I've confirmed with someone. Could someone who gets the crashes reliably leave their drastic_file_info.txt or .drastic_file_info.txt files alone and PM me or hop on IRC?
 
here is a pndout

=======================================================================================

PND : /media/nite_ordina/pandora/menu/drastic.pnd
PND_FSTYPE : Squashfs
APPDATADIR : /media/nite_ordina/pandora/appdata/DraStic
APPDD_FSTYPE : vfat
PND_CPUSPEED :
EXENAME : drastic.sh
ARGUMENTS :
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro '/dev/loop0&quot; &quot;/mnt/utmp/DraStic'
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs='/media/nite_ordina/pandora/appdata/DraStic=rw+nolwh':'/mnt/pnd/DraStic=rr' none &quot;/mnt/utmp/DraStic'
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( drastic.sh ) ----------
Starting DraStic (version r2.0p)

Checking directory /mnt/utmp/DraStic/backup: It's there.
Checking directory /mnt/utmp/DraStic/savestates: It's there.
Checking directory /mnt/utmp/DraStic/config: It's there.
Checking directory /mnt/utmp/DraStic/profiles: It's there.
Checking directory /mnt/utmp/DraStic/system: It's there.
Loading directory config file /mnt/utmp/DraStic/config/drastic.cf2
Loading config file /mnt/utmp/DraStic/config/drastic.cfg
Config file /mnt/utmp/DraStic/config/drastic.cfg does not exist.
Setting default configuration.
got keypad at device keypad
got gpio-keys at device gpio-keys
Using touchscreen at /dev/input/touchscreen0.
Got memory mapped buffer at 0x403cf000 (drastic_mapped_memory.dat)
Direct mapping main RAM to 2000000
Direct mapping main RAM to 2400000
Direct mapping main RAM to 2800000
Direct mapping main RAM to 2c00000
Initializing ARM9 bus-level memory map.
Initializing ARM7 bus-level memory map.
Initializing CP15.
Initializing DMA.
ALSA output: requested rate of 44100, got 44100.
ALSA output: requested buffer size of 8192, got 8192.
ALSA output: requested period size of 2048, got 2048.
ALSA output: Using synchronous engine.
1524.326172 cycles per output sample (0.000656 samples per cycle)
Loaded 6406 games in database file /mnt/utmp/DraStic/game_database.xml.
Processing command line options.
Found file info cache older than game database file. Not using.
Loaded 92 files in file info cache.
Directory load took 0.001861 seconds.
Loading config file /mnt/utmp/DraStic/config/zzz.cfg
Config file /mnt/utmp/DraStic/config/zzz.cfg does not exist.
Loading config file /mnt/utmp/DraStic/config/drastic.cfg
Config file /mnt/utmp/DraStic/config/drastic.cfg does not exist.
Setting up ARM9 memory map.
Setting up ARM7 memory map.
Remapping ITCM limit from 0 to 0
Remapping DTCM from 0, 0 to 0, 0
Remapping DTCM from 0, 0 to 27e0000, 4000
Remapping ITCM limit from 0 to 2000000
Gamecard title: BIGBANGMINI
Game code: 45424243
Maker code: 3553
Unit code: 0
Chip size: 16384KB
ROM version: 0
Autostart: 0
ARM9 ROM offset: 4000
ARM9 entry PC: 2000800
ARM9 RAM offset: 2000000
ARM9 size: e7558
ARM7 ROM offset: 197c00
ARM7 entry PC: 2380000
ARM7 RAM offset: 2380000
ARM7 size: 26f28
Found game in database: titled zzz. EEPROM backup: 2000 bytes
Loading backup file /mnt/utmp/DraStic/backup/zzz.dsv
Performing recompiler base block translation (2000800 2380000).
fb pixels overlay: 0x4122c000
Got buffers 0x4122c000/0x4122c400, 0x4128c000/0x4128c400
DS screen top is at (0 90) to (399 389)
DS screen bottom is at (400 90) to (799 389)
Calling recompiler event update handler (@ 0x80bb130).
Remapping ITCM limit from 2000000 to 2000000
Remapping DTCM from 27e0000, 4000 to 27e0000, 4000
DTCM moved off of main RAM, remapping main RAM to it.
Saving backup data file.
Found file info cache older than game database file. Not using.
Loaded 92 files in file info cache.
[sUCCESS]--- Starting the application ( drastic.sh ) ----------
[ START ]--- Restoring the frame buffer status ----------
[sUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/DraStic': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 1
Cleaned up junk escaped HTML tags left by forum software - Binky
 
Last edited by a moderator:
Thanks to ekainjo for hopping on IRC and confirming that the fix removed the crashes. I updated the PND in the repo to 2.0.1.
 
It freeing the loaded .drastic_file_info.txt files older than game_database.xml... before actually loading them. The proper action should have been to delete them.
 
To the people getting hard locks, it's probably the same old microphone problem. Look in the kernel logs to see if there are clues. I should probably add an option to globally disable the microphone :/

This new version is awesome :) This is really faster than the previous one, great job ^^


If one could choose the language of the emulator so the game won't always be in english in EUR rom it would be perfect :)
Dump the firmware from a DS that's setup this way. Or use an emulator like desmume on desktop to try to modify the firmware. No idea if this will work. Ability to load the firmware is low on my todo list because it needs a bunch of other hardware features, however games are able to change the firmware so maybe someone can make a homebrew utility that lets you edit firmware settings (if something like this doesn't already exist)


Or maybe you could use a utility on PC like this one? http://forums.ngemu.com/showthread.php?t=105839
Aaah ok thanks, I didn't understood that I could simply dump a firmware with the right setup. So I dumped the firmware from my DS with the right settings and now it works as expected! :)
 
Back
Top