Archive for January, 2014

Sound FX

Posted in Audio, hacks, Megaman, NES2PCE on January 21, 2014 by pcedev

Ohh, btw – I’m looking for some sound FX for the Megaman title screen. A ‘schwiinnng’ type effect for the title bar/logo. And a menu cursor movement sound as well. Maybe a game start sound FX? They’re going to be ADPCM, so any source for a sound file should work (wave/mp3/etc).

Advertisements

System card bios bug

Posted in hacks, Megaman, NES2PCE, system card bios bugs/quirks on January 21, 2014 by pcedev

I’m working on the title screen and options menu for the Megaman CD release. I came across a bug in the load graphic data for the IPL configuration – thingy. The Hu7 doc mentions that 1 record is used for PAL data and 1 record is used for BAT data, with the rest of the records used for actual vram data. But there’s a bug in the PAL record handling. It reads the record and writes all 256 color entries to the BG,  but when it writes to the SPR area – it only increments the pointer by 0x100 bytes; not the required 0x200 bytes. While you can still use this to have it load BG and SPR PAL data, it will only load 128 colors for each if you treat it as such. I.e. 256 colors gets transferred to BG PAL ram, but the last 128 colors of that 256 color block gets written to SPR PAL ram.

Showing off

Posted in Audio, hacks, Megaman, NES2PCE with tags , , , , , , , , , , , , , on January 12, 2014 by pcedev

The new CD play routines. Sleeker, better, synced, and no garbage screen. This is run on mednafen, and medanfen has no seek delay. So I added a hard delay in the track play routine, to show what the screen would look like on a stalled or long seek-to-track of the real system.

Stack here, stack there, every where a stack, stack…

Posted in Audio, hacks, Megaman, music, NES2PCE, Uncategorized with tags , , , , , , , , , , , , , , , on January 12, 2014 by pcedev

I’m cleaning up the CD track play code, for NES2PCE CD games that use the CD play command. Though, this would also come in handy for hucards with hacked CD play commands as well.

Originally, I called the CD play command when the game code called the ‘play psg track’ subroutine call. But I’ve been thinking; this will throw the game code out of sync of the vblank interrupt. Megaman doesn’t seem to care, but it could result in a rare occasion that if they get out of sync of each other – glitches can happen (from simple graphic stuff, to anything else – really). And not just Megaman, but Castlevania and Dragon Warrior (yes, both are getting the CD play treatment).

So, I came up with a method to set a CD play request via an internal flag. On the first encountered vblank, which is handled as a higher level backend emulation code (which calls NES nmi code after doing some internal stuffs), looks for this flag. So the actual CD play request happens inside the start of the vblank interrupt routine.

I reserve the original ram bank $F8 for sys card stuffs, since it’s already initialized by the system card, and I swap this back in. As well as the hardware bank (where it needs to be for sys card stuff: $0000 instead of $6000) and the sys card interrupt vector bank ($00). From that point, I can simply call BIOS routines as if I’m directly working with a normal CD project.

The tricky part; hardware stack management. Thank god for TSX, else I’d have to write some hairy stack pointer position identification code – no good. But, I do have to manage two hardware stacks. Since a different bank of ram is now mapped into the stack area, I need to update the stack pointer with that corresponding pointer. Things get a little hairy – hee hee hee heeeee. But it’s just crazy enough to work 😉

Anyway. I have to disable the TIMER IRQ such type of management as well, since sys card setup has a different interrupt vector setup. I mean, this whole thing happens *inside* a vblank interrupt (of a different ram bank and hardware stack pointer), but needs to run though it’s ~not~. Plus, I made a ‘CD busy’ system screen for when it requests a track play – so the screen doesn’t look like crap on long(er) pauses (real system). And to animate this ‘icon’, I need vblank interrupts on the sys card side 😛

;>_> Yeah…….

Burning Megaman 1 CD

Posted in Uncategorized on January 11, 2014 by pcedev

I forgot one thing. I didn’t pad the ISO track to multiples of 2048 bytes (single sector). Most burning/mounting programs don’t care, but one person said that the app he used rejected the ISO. So I’m gonna upload a new one, and make sure any future ISO tracks are multiple of 2048 bytes in the future.

Also, Apple users (I can’t say Mac anymore, can I?) don’t have apps to burn ISO/WAVE setups. So I’m gonna upload a cue/bin version (if I can get any of these damn apps to convert it for me).

On that note, I fixed my SuperCDROM addon unit. Word of caution, when taking that thing apart – don’t drop the Laser unit. I did, and it pushed the part that holds the CD on the spindle – in. So the CD was stuck against the flat surface of the plastic (wouldn’t move). Fixed. Now I can actually test on the real hardware again (for CD).

Megaman 1 Redbook version (easy mode too)

Posted in Audio, Megaman, music, NES2PCE with tags , , , , , , , , , , , , , , , on January 9, 2014 by pcedev

I uploaded the CD version of Megaman, that uses redbook tracks instead of PSG. It’s a cue/iso/wave set. I also included the new ‘easy’ mode hack in it (you can’t turn it off). Basically easy mode (so far), is that enemies/bosses do less damage to you. Damage is now (damage/2)+1. Everyone complains about how this is one of the hardest Megaman games. I disagree; I think it’s super easy. But, in the end, I want people to enjoy the game and the hacks/whatever. I’m also looking for people to play/beat this on the real system (I have yet to fix my CD unit), just to make sure everything is working correctly on the real hardware. Post a comment here, if you can (if you’ve tested it for me).

I included some megaman alternate musics. But I didn’t have enough to do the later Dr. Wily stages, so it’s just filler tracks there (Gradius 2 IIRC). Feel free to change out the WAVE files (tracks) to anything you want. I use ‘track’ more to play the redbook stuff, so you don’t have to worry about the length of the tracks/wave files.

I’ll eventually make a boot menu, so you can select Easy mode or normal mode. I wanted to hack some the level maps for Easy mode as well (maybe make a few platforms for areas that have infamous pitfalls and spikes), but I’ll need feedback for that (because to me, the game’s already easy).

You can get it at the download and links section, or this direct link: http://www.pcedev.net/nes2pce/megaman_CD_ver98.zip

oops

Posted in Audio, hacks, Megaman, music, NES2PCE on January 9, 2014 by pcedev

Uploaded the wrong megaman 2 file. New file is here: http://www.pcedev.net/nes2pce/megaman2_v87a_stereo.zip