|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
Goto page Previous 1, 2 |
Author | Message |
---|---|
|
Posted: Sat Jun 27, 2015 7:18 am |
There's no guarantee that palette entry 16 has any contrast with sprites, in particular if it's black then since most sprites have a black border, the contrast is lost. My particular case is the in game sprites in Micro Machines. | |
|
Posted: Thu Dec 03, 2015 9:05 pm |
Hi guys,
an update of Emulicious has been released! The changes are:
Users of Emulicious can get the update via the update system. Others can grab their copy from http://www.emulicious.net |
|
|
Posted: Thu Dec 03, 2015 9:33 pm |
Could you make an archive of old versions available? | |
|
Posted: Sun Dec 06, 2015 1:04 pm |
Hi Bock, I don't own many (if any) old versions of Emulicious. Is there any particular need for an archive? Did anything become worse? If so, I will need help from others to build the archive. |
|
|
Posted: Wed Dec 23, 2015 11:31 pm |
Bock, I sent you a link via private message with all the archived versions I could find.
Not sure which ones would be best to add to the site. I'll leave that up to you guys. |
|
|
Posted: Sat Jan 30, 2016 4:09 pm |
Is this a bug when i trying to open a rom file using open dialog to navigate to desktop (of Windows 10)? It shows a nice animated blue ring but nothing in this folder but there is at least one .sms file. | |
|
Posted: Thu Jun 23, 2016 4:37 pm |
Hi Calindro;
Something I just noticed -- the bytes following a conditional jump (e.g. `jp z`) should also be disassembled, Emulicious does not disassemble these unless they're executed. Disassembling the bytes following conditional jumps automatically would greatly reduce the amount of play you need to coax out all the code. Secondly it would be helpful if the disassembly would mark data regions that have never been read. This would make it easier to spot unused code/data, and to be more aware of portions of code you haven't got the emulator to execute yet. |
|
|
Posted: Thu Jun 23, 2016 8:13 pm |
Hi Kroc,
This is not true. If it doesn't get disassembled then it's for another reason. Can you point me to where it happens? Then I can tell you more. :)
You can also right-click the byte and click "Set Code" to turn it into code without the need to run it. But maybe we can already figure out why it's not getting disassembled in the first place. :)
The disassembler doesn't know what data is read so it also can't tell what data is not being read. You can use the Coverage recorder to see which data is being touched and which isn't. |
|
|
Posted: Thu Jun 23, 2016 9:27 pm |
Metal Gear Solid for Gameboy Color: (kind of annoying that you can't select multiple lines in the debugger) _LABEL_150_:
di ld sp, $CFFF cp $11 jr nz, + ; Data from 158 to 16D (22 bytes) .db $FA $43 $01 $FE $C0 $20 $0F $3E $01 $EA $07 $CF $3E $80 $EA $08 .db $CF $CD $A3 $06 $18 $09 You can clearly see there's code here that's not being disassembled. Thanks for looking into this. |
|
|
Posted: Thu Jun 23, 2016 10:20 pm |
Open the Disassembler Settings and enable "Allow calls to unknown RAM". |
|
|
Posted: Thu Jun 23, 2016 10:35 pm |
That did it, but why was that? | |
|
Posted: Thu Jun 23, 2016 10:47 pm |
When this option is disabled and there is a branch to unknown RAM (the disassembler doesn't know what's in RAM at that place as it reaches the branching point) the disassembler assumes the branch to be invalid. This option is meant to be a hint from the user about the ROM being examined. If you know that a ROM does definitely not run code from RAM then you can disable the option. Otherwise you can enable it. Most SMS games don't run code from RAM or if they do it's easy to track because they just copy a block from ROM to RAM via LDIR. So it is safer to have this option disabled. But from what I've seen in GBC games so far it seems like it's fairly common for them to run code in RAM. On the other hand the GB disassembler is still very untested so it is very likely to be immature. |
|
|
Posted: Fri Jun 24, 2016 8:10 pm |
Are you saying that that portion of ROM is being copied to RAM causing the misinterpretation as data?
If not, it still seems like a bug since bytes following a conditional jump should _always_ be disassembled. IMO execution should always take priority over reads, so once a ROM location has been executed, all reads do not revert the disassembly (reading of executable code could be tracked separately) I of course don't understand how this works under the hood and what's possible with disassembly.
The Gameboy has DMA transfers which typically require code to be running from RAM. BTW, could you pre-define the known gameboy addresses in the disassembly? -- e.g. $FFFF is the interrupt mode address. |
|
Goto page Previous 1, 2 |