In Sonic Megamix, I noticed the sound test allows you to see which notes are being played by the sound chip... Is there a way of using this data to make a midi file?
I'm having an art problem. I added the following code to the door object (obj2d): Code (Text): ;Check for other zones here loc_1171C: cmpi.b #8,(Current_Zone).w bne.s door_not_hpz move.w #$7DC0,art_tile(a0) move.b #8,width_pixels(a0) door_not_hpz: ;continues normally from here and HPZ's plcs: Code (Text): PlrList_Hpz1: plrlistheader plreq $77C0, ArtNem_Buzzer_Fireball plreq $7A40, ArtNem_Buzzer plreq $7DC0, ArtNem_ConstructionStripes plreq $8000, ArtNem_WaterSurface plreq $8680, ArtNem_Spikes plreq $8780, ArtNem_DignlSprng plreq $8B80, ArtNem_VrtclSprng plreq $8E00, ArtNem_HrzntlSprng PlrList_Hpz1_End But the door is using scrambled tiles. What am I doing wrong?
You need to move $7DC0/$20 ($3EE) to art_tile(a0), not just $7DC0. (This is because each 8x8 tile takes up $20 bytes in VRAM.)
How would I make Sonic 2's debug code accept 0 as part of the cheat like S2K? Edit: Never mind, fixed it myself.
Well, the main reason for wanting to know how to get the mac build tools to work is so I have a way to fix the "red screen of death" on a mac. I can do it at a away pc, sure, but I want access at home. I am slowly trying to figure out hex and the asm output work. So can the mac sonic hackers help me out here? Hmm...so I have to run it via the apple terminal? Last login: Tue Sep 15 17:55:56 on ttyp1 /Users/********/Desktop/Bak-s2x/build-mac.sh; exit Welcome to Darwin! *********-Computer:~ *********$ /Users/**********/Desktop/Bak-s2x/build-mac.sh; exit env: mac/asl: No such file or directory logout [Process completed] Ok. It asks for the mac/asl file, but it can't find it. But I know it is there. By moving the msg files out of its msg folder and into the mac/ folder, I can get mac/asl to work correctly. But of course, build-mac.sh still doesn't think mac/asl exists.
Hello I was reading the "basic how to edit art" guide and at th bottom it mentions a second half that explains how to import a palette into Fatilety so the art can be edited correctly, but I am unable to find the seccond half of the guide >.< can someone provide me a link please?
I added a (rather large) new object (Obj4C) to S2 and put the code after the "Tails' Tails" object, and now all these errors come up: Code (Text): > > >s2.asm(41076): error: jump distance too big > > > bsr.w Adjust2PArtPointer ;in Obj38_Main > > >s2.asm(41138): error: jump distance too big > > > bsr.w Adjust2PArtPointer2 > > >s2.asm(41156): error: jump distance too big > > > beq.w DeleteObject > > >s2.asm(41194): error: jump distance too big > > > bra.w DisplaySprite3 > > >s2.asm(41200): error: jump distance too big > > > beq.w DeleteObject > > >s2.asm(41261): error: jump distance too big > > > bra.w DisplaySprite3 > > >s2.asm(41334): error: jump distance too big > > > bsr.w Adjust2PArtPointer > > >s2.asm(41405): error: jump distance too big > > > bra.w DeleteObject > > >s2.asm(41526): error: jump distance too big > > > bsr.w Adjust2PArtPointer > > >s2.asm(43438): error: jump distance too big > > > - bsr.w SingleObjLoad2 > > >s2.asm(43751): error: jump distance too big > > > bsr.w SingleObjLoad > > >s2.asm(43939): error: jump distance too big > > > bsr.w SingleObjLoad > > >s2.asm(44647): error: jump distance too big > > > bsr.w PlatformObject > > >s2.asm(44699): error: jump distance too big > > > bsr.w SolidObject > > >s2.asm(45173): error: jump distance too big > > > bsr.w SolidObject74_30 > > >s2.asm(45741): error: jump distance too big > > > bsr.w loc_19E14 > > >s2.asm(45769): error: jump distance too big > > > bsr.w loc_19E14 > > >s2.asm(45900): error: jump distance too big > > > bsr.w loc_19E14 > > >s2.asm(46101): error: jump distance too big > > > bra.w SlopeObject How do I fix it? I tried changing .w to .l but that didn't work.
Long branches are not supported in the 68000, it needs to be 68020 or higher, which means it's a no-no for the Mega Drive. Use jumps instead. Replace bra with jmp and bsr with jsr and you're done. The main differences are in how they store the address internally and that jumps can't be conditional (unlike branches). EDIT: and make sure to get rid of the .w suffix :P
I found this posted in this topic after I posted. I need to search first, then ask questions. But it worked! Now I just have a bunch of "Symbol Undefined" errors that I need to define symbols for. Edit: Okay, looks like I broke something else... but it's nowhere near the code I added and it worked fine before: Code (Text): > > >s2.asm(53976): error: addressing mode not allowed on 68000 > > > lea byte_28726(pc,d1.w),a1 > > >s2.asm(53976): error: addressing mode not allowed here > > > lea byte_28726(pc,d1.w),a1 loc_286A2 in Obj70 Edit: Never mind? Adding/fixing the other labels fixed this (I think). Edit2: WOW, it actually worked! I wasn't really expecting it to work! I thought I would need to get help from someone (more than I did). Edit3: Okay, now how do I add entries to the Character Select in the Options Menu? Now you know what I'm doing.
Okay, so I am trying to learn Genesis assembly programming. I tried making my own rom, with my own initialization methods, I have no idea if it was successful, but I have to ask, how do I make the VDP do the checksum red thing, I am thinking of having checksum error point to a red screen, and success in my initialization point to a blue screen, would I need anything else besides Code (Text): move.l #$C0000000, ($C00004).l move.w #(color), ($C00000).l I have asked around the irc, and I have got some answers that have helped in general, but haven't solved my problem. Maybe some of you non-irc people can help me out. Edit: >_> Just realized this is for SONIC based Q&A, someone move this to Tech Discussion please.
I guess I never did get around to documenting the options menu code for the SVN. Oh well. Anyway, I've already done similar things to the options menu. I even made a post about how to extend the 2p options here. It's about monitors at first, but the options menu stuff is in there, too. That should give you a bump in the right direction. If there's still problems, feel free to pm me.
Doing that will write the color to the first entry in CRAM (palette 0, color 0). If that's what you want, then it's OK. Make sure VRAM is cleared up though because otherwise garbage will appear in real hardware. I don't see an equivalent for non-Sonic Q&A though...