Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - SMS/GG disasm using Emulicious, reasm using WLA-DX, RAM problems

Reply to topic
Author Message
  • Joined: 22 Oct 2017
  • Posts: 16
Reply with quote
SMS/GG disasm using Emulicious, reasm using WLA-DX, RAM problems
Post Posted: Tue Aug 02, 2022 3:16 am
I open the SMS or GG ROM in emulicious, save from the debugger/disassembler in wla-dx format, compile the asm OK, but then when I go to link, I get these types of messages:

/home/user/romhack/z80/drhello/drhello.o: drhello.asm:792: PARSE_STACK: Unresolved reference to "_RAM_E000_".


Calindro on the smspower discord told me
Quote
you can just add .define _RAM_E000_ $e000 somewhere at the top

however I tried doing this and it requires a ton of them. I tried manually adding but it never ends, and this is for a small game:

.define _RAM_E000_ $e000
.define _RAM_FCC0_ $FCC0
.define _RAM_FD9A_ $FD9A
.define _RAM_FD9F_ $FD9f
.define _RAM_FCAF_ $FCAF
.define _RAM_F3EA_ $F3ea
.define _RAM_F3EB_ $F3eb
.define _RAM_F3E9_ $F3e9
.define _RAM_E4F2_ $e4f2
.define _RAM_E3EC_ $e3ec
.define _RAM_E3E9_ $e3e9
.define _RAM_E00F_ $e00f
.define _RAM_E3EA_ $e3ea
.define _RAM_E3EB_ $e3eB
.define _RAM_E001_ $e001
.define _RAM_E002_ $e002
.define _RAM_E003_ $e003
.define _RAM_E004_ $e004
.define _RAM_E005_ $e005
.define _RAM_E011_ $e011
.define _RAM_E012_ $e012
.define _RAM_E013_ $e013


I had the same issue with Baku Baku gamegear. is there some setting I should be changing within Emulicious so that it generates a RAM map for the object file?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Tue Aug 02, 2022 7:00 am
Emulicious ought to be at least defining all the labels it uses, so it’s presumably a bug and Calindro will be fixing it very soon. It’s odd to have so many labels in the $e000..$fff0 range though.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Oct 2017
  • Posts: 16
Reply with quote
Post Posted: Tue Aug 02, 2022 7:52 am
it does generate most of them at the beginning of the asm file, it seems like it only leaves out a few. I was able to get it to assemble eventually using a combination of what was already there and manually adding.

EDIT: after fixing the .asm of a second game, it's consistent that all of the missing references are in the FXXX and EXXX range

after inspecting mame/sms.cpp, it seems that is not the normal RAM range of 4000 - 47FF

map(0xc000, 0xfff7).rw(FUNC(sms1_state::read_ram), FUNC(sms1_state::write_ram));

map(0xc000, 0xfffb).rw(FUNC(sms_state::read_ram), FUNC(sms_state::write_ram));


the sha1sum matches the original ROM after fixing, so it seems emulicious needs to be updated to account for this range of RAM addresses
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!