52
Introduction What is Gens ? Gens is a very good Sega Genesis/Megadrive, SegaCD/MegaCD, 32X emulator by Stef. Stef made it open source some years ago. What is KMod ? A mod of the original Gens source code to add development/debugging/hacking features. It is a replacement to very useful but buggy Genecyst features. What is NOT KMod ? KMod is NOT a new emulator, I used Gens engine. To be honest it's even worst than original Gens because it slows down it. Who is behind KMod ? My nickname is Kaneda, sometimes KanedaFr. I'm making some development on Sega Megadrive/Genesis since '98. Some of my known demos/games are Ooga Booga and Old Skill. I also made a lot of tech demos and tools. Copyright ©2007 Kaneda This help file has been generated by the freeware version of HelpNDoc

Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Introduction

WhatisGens?GensisaverygoodSegaGenesis/Megadrive,SegaCD/MegaCD,32XemulatorbyStef.Stefmadeitopensourcesomeyearsago.

WhatisKMod?AmodoftheoriginalGenssourcecodetoadddevelopment/debugging/hackingfeatures.ItisareplacementtoveryusefulbutbuggyGenecystfeatures.

WhatisNOTKMod?KModisNOTanewemulator,IusedGensengine.Tobehonestit'sevenworstthanoriginalGensbecauseitslowsdownit.

WhoisbehindKMod?MynicknameisKaneda,sometimesKanedaFr.I'mmakingsomedevelopmentonSegaMegadrive/Genesissince'98.Someofmyknowndemos/gamesareOogaBoogaandOldSkill.Ialsomadealotoftechdemosandtools.

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 2: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

History

Version0.7bBetterwatcherswithstructureshandlingVersion0.7bBetterwatchers

Version0.7FIX:createfileanddirectoriesatROMplacewhen'openedfrom..'(Pascal/TmEE)FIX:badredrawwhenshadow/highlightandlayerhide(GrayLight)FIX:wrongredrawofS68KPRamadressesinRAMmode(Fonzie)FIX:screenshot32XnotworkingFIX:pause32Xunperfect(sinceKMod0.3!)changeddebugfontforW98userbetterPSGdebugwindowbyEdgeDACfrequencyinfoMSH2ROM/RAM/cacheviewerandlinkeddisassembly(thxFonzie)SSH2ROM/RAM/cacheviewerandlinkeddisassembly(thxFonzie)32xregisters32xVDP(s)CPUsdebugwindowsareonthesametemplateSpyCDBioscallAutologmessagetofile,sonomorelimitedtomemoryaddtfidump(Shiru)5thpalfordebug(GrayLight)

Version0.6FIX:badredrawwhenshadow/highlightandlayerhideFIX:correctDACvalueFIX:screenshottakesthemessagetooShow/Hide32XlayerZ80memoryviewerandlinkeddisassembly(nomore'current'PC)M68KROM/RAMviewerandlinkeddisassembly(nomore'current'PC)S68KPRAM/WRAMviewerandlinkeddisassembly(nomore'current'PC)debug.s/.hupdaded(warning!funcnameupdatedtoo...sorryforthat,butit'snowmore'pro')DumpCDWordRAMtoBMP

Page 3: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

ChangescrollbuttonwithtruescrollbaronCDGFXChangescrollbuttonwithscrollbaronVDP(andremoveup/downbitmapresource)

Version0.5FIX:bad68kmemorydump(swap)FIX:badMCDreglistFIX:renames68kbuttonsSpyunpausedZ80accessRegister29:morecontrolsthanonlyPauseDebug.supdatedGMVrecord/playGMVToolstocompressGMVforuseindemosreplayPauseonmenuRenderframeperframeAutoscreenshot

Version0.4FIX:memoryfaultonspritedump(thxRedAngel)FIX:badtileselectionFIX:notilesrefreshwhilepaused(thxtomman)Spy/MessageonseparatewindowdebugCD68kdebugCDCDCdebugCDRegdebugCDGFXdebugVDPRegistersmorereadablespyDMAtohackgfxspyDMAlimiterror(thxCMD)dumpM68Krom(interestingwhenCDor32Xgame)dumpS68Krom(interestingwhenCDor32Xgame)Register31:TimerRegister30:MessageRegister29:PauseGensspecialregisterscallsinzipfileavailableinDebug...

Version0.3FIX:onpausemode,ifdebugwindowcalled,noredraw(blackscreen)FIX:YM2612nowupdatedwhilegamepaused

Page 4: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

FIX:palredarrownowcenteredFIX:correctYM2612TimerBvalueVDPredrawoptimized(thxFonzie)Spriteredrawoptimized'bluepause'optionnel(Fonziereq)dumpVDPtilestobmpdumpspritetobmpdumpym2612instr(y12orff)suppkeytodeleteawatcher(Varciesreq)inskeytodeleteawatcheractive/desactiveanypal(colororblack)spritezoomtilezoom

Version0.2Debugconfigwindowspecialconfigfile(gens_kmod.cfg)autoloadwatchers(thxFonzie!)spylog(<gamename>.log)spystrangeregisterdata(knownasCharlesMDpatch)spyfullspritelimitlog/watchernameokwhenloadingfromhistoryrom(fix)spybadread(68KByte,68KWord)spybadwrite(68KByte,68KWord)

Version0.1scrolltilesbylinepalindicator(redarrow)selectcurrentpalinVDPdebugbyclickshow/hidelayers(knownasGenecystpatch)save/loadwatcher(<gamename>.wch)createwatchersdirctoryoninit

Version0.0-privatereleasereplaceDebug==XbyDebug==DMODE_XXXXXforeasierreadingcalldebug=screenminimize(iffullscreen)changeCPU->DebugandOptionsmenudebugM68Kdebugz80

Page 5: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

debugVDP(pal/tile)debugVDPRegistersdebugspritesdebugym2612debugPSGwatchers

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 6: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Changes

WhenIstartedGensKMod,mymaingoalwastohaveaseparatewindowforeachofthedebugscreenwhilethegameisplaying.Sincethecodewasverywelldocumented,Iwasabletoaddseveralnonexistingfeatures.Checkthemall.

PleasenotethatthewayGenswaswrittendoesn'tallowmetoaddbreakpointsandtracefeatureswithouthugerewrite,sodon'texpectthesefeatures.

DebugMegadrive/GenesisGame

-Genesis68Kstatus-Z80status-VDP-VDPRegisters-VDPSprites-YM2612status-PSGstatus

DebugMegaCD/SegaCDGame

Page 7: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

-CD68Kstatus-CDRegisters-CDControler-CDWordRAM

Debug32XGame

-MasterSH2status-SlaveSH2status-32Xregisters-32XVDP

Developmentfeatures-Newregister31:Timer

Page 8: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

-Newregister30:Message-Newregister29:TakeGenscontrol-Watchers-Spy

Miscchanges-Configuration-Messagewindow-Layers-ExtendedFeatures-GMV

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 9: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Genesis

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 10: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Genesis68K

ThecurrentGenesis68Kstatusisnowonaseparatewindow.Youcannowviewanydisasmcodeatanyaddressandnotcurrentcode,whichwasunuseful.Useitonlyforitsmemoryfeatures.

DumpROMDumpthefullROMinbinaryformat.ThisfeatureisinterestingwhilerunningaMegaCD/SegaCDor32Xgames,elseitworkslikeaSMDtoBINconvertor

ViewROM/ViewDisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheROM.

ViewRAMViewRAMdump.

DumpRAMDumpthefullRAMinbinaryformat.UsefulltosavemultipleRAMstatesandcomparethemorcheckmemorystatus

PC=xxxxxInDisasmview,jumptocurrentPC

Page 11: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 12: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Z80

ThecurrentZ80statusisnowonaseparatewindow.Useitmainlyforitsmemoryfeatures.

ViewMemory/DisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheZ80memory.

DumpMemoryDumptheZ80memoryinbinaryformat.UsefulltocheckZ80sounddriver

PC=xxxxxInDisasmview,jumptocurrentPC

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 13: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

VDP

Oneofthemostimportantparttocheckifyourloadingisdoneorgethelptohack

Thepictureatthetopisthe4palettesoftheGenesis+1forus,tospytilesevenwhennopaletteisloaded.YoucanchoosebyclickthecurrentonefortheVDPdebugWiththecheckboxes,youcanalsoactive/desactivethepalyoudon'twant,soyoucanseeonscreenwhatpalanytile/spriteuse.

ThepictureattheleftisthecurrentVRAM,drawnwiththecurrentselectpal.YoucanscrollittoseeallthetilesyouwantYoucanselectaspecifictilebyclicktoseeitindetails.Warning,forrefreshspeedneed,allthetilesaren'trefreshedeveryframe.

Thepictureattherightisthezoomedselectedtile(0bydefault)

Page 14: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

DumpVRAMDumpthefullVideoRAMinbinaryformat

DumpCRAMDumpthefullColorsRAMinbinaryformat

TilestoBitmapSavethefullVideoRAMinaBitmapfileYes,youcaneasilyrip8x8tiles

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 15: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

VDPRegisters

CheckthestatusoftheVDPregisters.Nothingmore,youshouldknowwhattheGenesis'registersare.

PleasenoteIdidn'taddCharlesmoreaccurateregistersinformation,butIhopetodoit...someday

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 16: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

VDPSprites

Checkthespriteslist.

Num:spritenumberYPos/XPos:positioninpixelsSize:sizeinpixels(32x32max)Link:nextsprite(seeSega2.docformoredetails)Pal:palusedTile:firsttileusedFlags:Prioity/VerticalFlip/HorizontalFlip

Selectbyclickthespriteyouwanttosee

Thepictureattheleftisthespriteinoriginalsize.Thepictureattherightisthezoomedsprite.

Dump

Page 17: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

DumptheselectedspriteinaBitmapfileYes,youcaneasilyripsprites

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 18: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

YM2612

Themostdetailledwindow.

LetyoucheckeachchanneloftheYM2612soundchipSeeSega2.docformoredetails.

DumpChannelDumpthechannelinfoinFF(Uchuusen'sformat),TFI(TFM'uckerinstrument)orY12(Kaneda'sformat)

Copyright©2007Kaneda

Page 19: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 20: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

PSG

CheckthevalueandvolumeofeachPSGchannel

ThankstoEdgewhorewritethiswindow

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 21: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

SegaCD

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 22: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Sub68k

ThecurrentCD68Kstatusisnowonaseparatewindow.Youcannowviewanydisasmcodeatanyaddressandnotcurrentcode,whichwasunuseful.Useitonlyforitsmemoryfeatures.

DumpPrgmRAMDumpthefullProgramRAMinbinaryformat.

ViewPrgmRAM/ViewDisasmSwitchbetweenhexaviewanddisasmviewoftheProgramRAM.

ViewWordRAMViewWordRAM(mode2)dump.

DumpWordRAMDumpthefullWordRAM(mode2)inbinaryformat.UsefulltosavemultipleRAMstatesandcomparethemorcheckmemorystatus

PC=xxxxxInDisasmview,jumptocurrentPC

Copyright©2007Kaneda

Page 23: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 24: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

CDRegisters

CheckthestatusoftheCDregisters.Nothingmore,youshouldknowwhattheCDregistersare.

I'mcurrentlynoteaCDpromyselfsoperhapsthereareerrorsonthisscreen.

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 25: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

CDControler

CheckthestatusoftheCDC.Nothingmore,youshouldknowwhattheCDcontroleris.

I'mcurrentlynoteaCDpromyselfsoperhapsthereareerrorsonthisscreen.

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 26: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

CDWordRAM

SeethetilesintheWordRAM.UsethepaletteselectoroftheGenesisVDPtochangecolor.

Word-RAMtoBitmapSavetheWordRAMasbitmap,usingthecurrentselectedpalette.

DumpWord-RAMSeeCD68k

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 27: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

32X

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 28: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

MSH2

ThecurrentMasterSH2status.

ViewROM/ViewDisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheROM.

DumpROMDumpthefullROMinbinaryformat.

ViewRAM/ViewDisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheRAM.

DumpRAMDumpthefullRAMinbinaryformat.

ViewCacheViewthecache

DumpCacheDumpthefullcacheinbinaryformat.

PC=xxxxx

Page 29: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

JumptocurrentPC(switchtoRAMorROMifneeded)

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 30: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

SSH2

ThecurrentSlaveSH2status.(samewindowasMasterSH2)

ViewROM/ViewDisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheROM.

DumpROMDumpthefullROMinbinaryformat.

ViewRAM/ViewDisasmSwitchbetweenhexaviewanddisasmview(seepicturebelow)oftheRAM.

DumpRAMDumpthefullRAMinbinaryformat.

ViewCacheViewthecache

DumpCacheDumpthefullcacheinbinaryformat.

PC=xxxxx

Page 31: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

JumptocurrentPC(switchtoRAMorROMifneeded)

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 32: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

32Xregisters

CheckthestatusoftheVDPregisters.You'reabletoseeGenesisand32Xsideregisters

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 33: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

32XVDP

Thecomplex32XVDPwindow

RawdataarawwriteoftheselectedFramebuffer(withoutlinetable)

AccordingLinetabletheselectedFramebufferdrawnlikethelinetabledefineit

Page 34: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

ColorPalettefor256colorsgames,thecolorsused.thestrokeshelpyoutosee'priority'

WhichFB?SelecttheFByouwanttospy

DumpCRAMdumptherawdataofcolorram(256colorsmode)

DumpFBdumprawdataofthefullframebuffers

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 35: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Dev:Register31

Register31:Timer!WARNING:thisregisterdoesn'tworkduringVInt!Asanyaddedregister,theoriginalMegadrive/Genesisshouldskipthem(aswrittenintheDevKitdocumentation)

Timerregisterstart/resetandoutputatimer(basedonm68kcycles)

Valueissr000000wheres=0CounteroutputonMessagewindows=1Counterstartr=0<undefined>r=1resetcounter

Imadeitforoptimizingissue:youcanknowhowcyclesacalltakeandoptimizeit.

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 36: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Dev:Register30

RegisterMessage30Asanyaddedregister,theoriginalMegadrive/Genesisshouldskipthem(aswrittenintheDevKitdocumentation)

MessageregisteroutputanytextontheMessagewindow

Valueisaprintablecharor0foroutputUsealooptoinputafullstringbutbeawareMessageregisterwillautomaticallyouputa255charsstringandstartanewone

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 37: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Dev:Register29

RegisterGenscontrol29Asanyaddedregister,theoriginalMegadrive/Genesisshouldskipthem(aswrittenintheDevKitdocumentation)

GenscontrolregistertakecontrolofGensthroughtyourrom

Valueisoneofthesecontrolcodes0x00pause0x01showdebug68kwindow0x02showdebugz80window0x03showdebugVDPwindow0x04showdebugsub68kwindow0x05showdebugCDCwindow0x06showdebugCDGfxwindow0x07showdebug32Xmainwindow0x08showdebug32Xsubwindow0x09showdebug32XVDPwindow0x0AshowdebugVDPregisterwindow0x0BshowdebugSpritewindow0x0CshowdebugYM2612window0x0DshowdebugPSGwindow0x0Eshowwatcherswindow0x0FshowLayerswindow0x10showmessagewindow0x11showdebugCDregisterwindow0x50dump68kram0x51dumpZ80ram0x52dumpS68kram0x60takescreenshot0x62startrecordgmv0x63stoprecordgmv0x64startgmv0x65stopgmv

Page 38: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

0x00/Pauseisthemoreusefulone:pauseyourgameatanimportantpointandcheckwhatyouwant

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 39: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Dev:Watchers

Spyanyvalueofthememoryspace.

It'sagreatfeaturefordeveloppersbecause,withthehelpofnm2wchtool,youcangeneratewatcherslistfromsourcefile!Forhackers,itletsyouspymemoryspaceforpoints,life,score...

Ialsoaddedstructuressupport.Forthatyouneedtoadda.strfilewith1ormorestructuredefinition.Inthescreenshot,str_Levelisdefinedlikethis:STRUCTstr_LevelCHARidxCHAR_pad_SHORTwidthSHORTheightCHARpalCHAR_pad_LONGdataEND

Page 40: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

so,anystructuremuststartby'STRUCT'keywordfollowedmystructname(20charmax)thenyouaddanyelementyouwantusing'CHAR','SHORT'or'LONG'keywordsfollowedbyelementname(20charmax)it'sagoodusetoaddthe'END'keywordbutit'soptionnal.Anyotherkeywordsorstrings(like//orotherscommentskeywords)areignored.

On"Watchers"listview,rowinitalicaresubelementofawatcher,youcan'tchangeitstypeandifyoudeleteit,youdeletethewatcher(andallitssubelements).

Asidenoteonthe'CHAR'type,likeyoucanseeonthesample,Iaddedto_pad_elementbecauseM68Kcan'treadwordofoddaddress.It'sinteresting:this10bytesstructureusesinfact12bytesinmemory!

Address(hex)InputtheaddresstowatchinhexadecimalOnrightclick,apopupmenuallowsyoutojumptomemoryviewatthisplace(RAMonly).Changeitsvalueondoubleclick.

NameNameofthewatcher(iffromanm2wchconvertion).Youcan'tchangeityourself(sorry,needtofindhowfirst,WinAPIdoesn'thandlethisbydefault)

ValueValueofthewatcher,inselectformat.Onrightclick,apopupmenuletyouchoosetheformatofoutput.Forcompleximportedwatchers,youcanchooseoneofyourdefinedstructure.

TypeTellyouwhatyou'relookingfor(upto0x00400000ROM

Page 41: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

upto0x00800000Sega1upto0x00A00000Sega2upto0x00A10000Z80upto0x00A11000IOupto0x00A12000Controlupto0x00B00000Sega3upto0x00C00000Sega4upto0x00E00000VDPfrom0x00FF0000RAMIt'sdangerous,butpossible,towatchbetween0x00E00000and0x00FF000,soyou'llsee!!WARNING!!

InsertwatcherAtanewwatcherat0x00000000Edittheaddressyouwanttowatch

DeletewatcherDeletecurrenthighlightedwatcher

SavewatchersSaveallthewatchers(seeAutoloadwatcheroption)StructureinformationARENOTsavedtoavoidstrangebehaviorifyoudelete,addorchangeorderofstructuresdefinitioninthe.strfile.

LoadwatchersLoadanewsetofwatchers(thecurrentonesaredeleted)

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 42: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Dev:Spy

Enableornotthroughttheconfiguration,thespiesletyouknowifyoumadecodeerrororifagameisfullofbugsIaddedaspecialonewhichwillhelpyoutohackgametoo

Badregister'svalue:SpyifabadvalueisgiventoaVDPregister.Checkerrorsorunknownregistervalue

Spritelimit:Spyifthe80spritesperscreenlimitisreached.Checkerrorsorspritesavailableonlyonemulator.

Read/Writeforbidden:Spybadmemoryaccess.Checkerrorsandbugs

DMAaccess:SpyANYDMA.Usefulltofindwherearestoredtiles,colorsorscrollvalue

Copyright©2007Kaneda

Page 43: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 44: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Misc:Configuration

YoucanopenthisKMod'sconfigurationthroughtOptions>Debug...

Autoloadwatchers&strucutresLoadwatcherswithsamenameasgamewhenloadinggame.GensKModfirstlooksforawacher(.wch)incurrentgamefolder.Ifnotfound,itthenlooksinGensKMod's'watchers'folder.Samethingforstructures(.str)

SpystrangebehaviorsEnablecodespies,theresultiswroteontheMessagebox

SpyCDBioscallDumpallCDBioscallontheMessagebox(youcandesactivatetheoftencalledfunctions)

BlueScreenpausePauseinblue?JustdisablethisGensfeature:Ididn'twanttoremoveitsoImadeitoptionnal.It'snowmoreeasytocaptureapausedscreen

ActiveDevelopmentFeaturesActiveornotGensonlycodelikespecialsregistersandGenscontrolbytherom

Page 45: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

itself

GetDebug.zipDownloadthelastversionoftheGens-onlydebuggingcodeforyourdemosandgames

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 46: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Misc:Message

IfSpyand/orDevspecialfeaturesareactivated,readtheresultshereorinthelogfile(deleteittimetotime)

ClearOnlyamaximumnumberoflinesiswrotesocleartimestotimes

OpenOpenthelogfilewithnotepad

BrowseSelectthepathandfilenameofthelogfile

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 47: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Misc:Layers

Selectwhichfield(s)youwanttobedrawn.Interestingforscreenshotwithoutspritesforexample.

ImissedthisGenecyst'sfeaturesomuch!!!

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 48: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Misc:ExtendedFeatures

Pauseonmenu:CPU>PauseAverylittlemod,forpeoplewhodon'tknowhowtopauseGensor/anddon'treadthemanualPauseupdate:CPU>FrameStepUsingShift-Escormenu,youcanupdateframeperframe,toseeallthedetailsdrawneachframe.

Screenshotupdate:Graphic>ScreenshoteachframeIfyouwanttocaptureeachframe.EasierthanCPU>FramestepthenGraphic>ScreenshotthenCPU>Framestep....Usedtorecordanimation.

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 49: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Misc:GMV

GensMoVieAGMVisnotavideofile,it'sarecordofalltheinputswhileplaying.Youcanrecorditthenreplayit

SeeNesVideosformoredetails

GMV>GMVPlayLoadthecurrentstatethenstarttoplaytheGMVfile(samenamethanromloaded)

GMV>GMVRecordSavethecurrentstatethenstarttorecordtheGMVfile(samenamethanromloaded)

GMV>GMVStopStoptheGMVcurrentlyplayedorrecorded

GMV>GMVTools...OpentheGMVtoolswindow

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 50: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

GMVTools

TheGMVtoolsisawaytoconvertaGMVfiletowhatyouneedforyourgames(intoaGMCfile).Usingtheresultfile,youcanaddreplayorattractivedemotoyourgames.

Ifagameisloaded,theinputandoutputfilesareautomaticalydefined,elseusetheBrowsebuttons

CompressSelectifyouwanttheGMCfiletobecompressed(forsizeissue)

Player1Includeplayer1input?

Player2Includeplayer2input?

6ButtonsIncludeplayers6buttons?

ConvertConverttheGMVfiletoacompressedornotGMCfilewiththedataselected

CloseQuitGMVtools

-----------------------------------

Page 51: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

-GMCFileDescription------------------------------------ucharFormat//whatisontheGMCFile,addtheneededvalues//0x01->player1input//0x02->player2input//0x04->boutons6added//0x80->compresseducharreserved[0x0E]//futuruseuchardata

ifcompressedthefirstcharisthenumberofframesoftheinputthesecondcharisthefirstinput(ifneeded)thethirdcharisthesecondinput(ifneeded)the4thcharisthethirdinput(ifneeded)elsethefirstcharisthefirstinput(ifneeded)thesecondcharisthesecondinput(ifneeded)thethirscharisthethirdinput(ifneeded)

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc

Page 52: Gens KMod Help · log/watcher name ok when loading from history rom (fix) spy bad read (68K Byte, 68K Word) spy bad write (68K Byte, 68K Word) Version 0.1 scroll tiles by line pal

Links

HerearethelinksyoushouldchecktimestotimesComeonKModhomepagetojumptotheforumandgivesyoufeedback/reportbugs

Copyright©2007Kaneda

ThishelpfilehasbeengeneratedbythefreewareversionofHelpNDoc