Archive for console

PCE image converter

Posted in Uncategorized with tags , , , , , on February 14, 2014 by pcedev

Check this out: http://www.gamopat-forum.com/t66680-version-alpha-010-image2pce#1693534

Looks pretty awesome. Not enough image conversion tools out there for PCE (and MD); this looks pretty advanced. Can’t wait to try it out.

Advertisements

Posted in Audio, hacks, Megaman, NES2PCE, retro with tags , , , , , , , , , , , , , , , , on February 8, 2014 by pcedev

More Megaman 1 stuff.

Maaaannnn. Talk about a pain. Principle and execution; two very different things. What should have been a very easy upgrade to the load room graphics hook/code, ended up being a nightmare. It broke a lot of stuff that I already had in place. So, some other stuff got changed/upgraded (mostly OAM->SAT conversion). But it’s done and working. Finally. All the enemy sprites for Cutman stage are up and running. All converted to native PCE format. I worked out how to handle the palettes for those enemies too. You know, you don’t realize how much 16 subpalettes just for sprites – is incredibly large for that era. It makes things sooo much easier, and the fact that I still have another set of 16 just for the BG graphics – this is gonna be easy. Wily Wars on the MD/Gen, uses 7+1 colors for sprites. That how the extend the 4 subpalettes to be more than 4. 8 colors for a sprite, isn’t so bad for Megaman style design. BUT WE ARE GOING THE FULL 15 COLORS PER SPRITE! Yeah, baby. I purposely added colors to the sprites, even if you can see them – lol. I wanna have a few screens in the game, surpass the 100+ color count mark.

Anyway, things are coming along. I’m working on the ‘start stage sprite’ load routine, which is different than the load-room-sprites (not sure why). I’ll have something to show off when that’s finished.

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…….

Megaman2 public release

Posted in Megaman, NES2PCE with tags , , , , , , , , , , , on November 11, 2012 by pcedev

Find it in the ‘Download and Links‘ section. There are two roms in the zip file, the ‘headerless’ one is for some flashcards that require a ‘raw’ rom.

Also, the NES2PCE page on the right column, is for any requests (features or games), general comments, bugs, whatever.