; ; +-------------------------------------------------------------------------+ ; | This file has been generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2009 by Hex-Rays, | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : AD4E53E1F1A042FBDA82F86B9BD6728C ; File Name : th01/OP.EXE ; Format : MS-DOS executable (EXE) ; Base Address: 0h Range: 0h-14040h Loaded length: 13418h ; Entry Point : 0:0 ; OS type : MS DOS ; Application type: Executable 16bit .386 .model use16 large _TEXT BINARY = 'O' include ReC98.inc include th01/th01.inc include th01/formats/cfg.inc ; =========================================================================== ; Segment type: Pure code _TEXT segment word public 'CODE' use16 assume cs:_TEXT assume es:nothing, ds:DGROUP, fs:nothing, gs:nothing include libs/master.lib/graph_400line.asm include libs/master.lib/graph_clear.asm include libs/master.lib/graph_show.asm include libs/master.lib/graph_start.asm include libs/master.lib/palette_show.asm include libs/master.lib/palette_init.asm include libs/master.lib/respal_exist.asm include libs/master.lib/respal_free.asm include libs/master.lib/resdata.asm include libs/master.lib/file_read.asm include libs/master.lib/file_close.asm include libs/master.lib/file_ropen.asm include libs/master.lib/file_seek.asm include libs/master.lib/dos_free.asm include libs/master.lib/keystart.asm include libs/master.lib/keybios.asm include libs/master.lib/dos_ropen.asm include libs/master.lib/egc.asm include libs/master.lib/random.asm _TEXT ends ; --------------------------------------------------------------------------- ; =========================================================================== ; Segment type: Pure code op_01_TEXT segment byte public 'CODE' use16 op_01_TEXT ends ; =========================================================================== ; Segment type: Pure code frmdelay_TEXT segment byte public 'CODE' use16 frmdelay_TEXT ends ; =========================================================================== ; Segment type: Pure code vsync_TEXT segment byte public 'CODE' use16 vsync_TEXT ends ; =========================================================================== ztext_TEXT segment byte public 'CODE' use16 ztext_TEXT ends ; =========================================================================== ; Segment type: Pure code initexit_TEXT segment byte public 'CODE' use16 initexit_TEXT ends ; --------------------------------------------------------------------------- ; =========================================================================== ; Segment type: Pure code graph_TEXT segment byte public 'CODE' use16 graph_TEXT ends ; --------------------------------------------------------------------------- ; =========================================================================== ; Segment type: Pure code SHARED segment byte public 'CODE' use16 SHARED ends ; =========================================================================== ; Segment type: Pure code grppffx_TEXT segment byte public 'CODE' grppffx_TEXT ends ; =========================================================================== ; Segment type: Pure code PTN_GRP_GRZ segment byte public 'CODE' use16 PTN_GRP_GRZ ends ; =========================================================================== ; Segment type: Pure code resstuff_TEXT segment byte public 'CODE' resstuff_TEXT ends ; =========================================================================== ; Segment type: Pure code mdrv2_TEXT segment byte public 'CODE' use16 mdrv2_TEXT ends ; =========================================================================== op_12_TEXT segment byte public 'CODE' use16 op_12_TEXT ends ; =========================================================================== .data db 0 public _MAIN_CHOICES _MAIN_CHOICES label dword dd aVrvsvVqvs ; " START " dd aVbvnvmvsvhvmvt ; "CONTINUE" dd aB@vnvovsvhvnvm ; " OPTION " dd aB@b@vpvtvhvsb@ ; "  QUIT  " public _OPTION_CHOICES, _RANK_VALUES, _BGM_MODE_VALUES, _START_LIFE_VALUES _OPTION_CHOICES label dword dd aB@vqvVmvjb@ ; " RANK  " dd aVlvtvrvhvb ; " MUSIC " dd aVovkvVxvdvq ; "PLAYER " dd aVlbdvsvdvrvs ; "M.TEST " dd aB@vpvtvhvsb@ ; " QUIT  " _RANK_VALUES label dword dd aEasy ; " EASY " dd aNormal ; "NORMAL" dd aHard ; " HARD " dd aLunatic ; "LUNATIC" _BGM_MODE_VALUES label dword dd aOff ; " OFF " dd aFm ; " FM " _START_LIFE_VALUES label dword dd a3 ; " 3 " dd a4 ; " 4 " dd a5 ; " 5 " dd a6 ; " 6 " dd a7 ; " 7 " public _music_sel _music_sel db 0 public _MUSIC_CHOICES _MUSIC_CHOICES label dword dd aVlvtvrvhvbb@vm ; "MUSIC No." dd aB@b@vpvxvivf ; "  Quit " public _MUSIC_TITLES _MUSIC_TITLES label dword dd aASacretLot ; " A Sacret Lot" dd aXcvR_o ; " 風の神社 " dd aIiiuvIPc ; " 永遠の巫女 " dd aHighlyResponsi ; " Highly Responsive" dd aUmx dd aOrientalMagici ; " Oriental Magician" dd aB@FjoVPmsUbb@ ; "  破邪の小太刀  " dd aTheLegendOfKag ; " The Legend of KAGE" dd aPositiveAndNeg ; "Positive and Negative" dd aB@b@UvoguRrb@b ; "   天使伝説   " dd aB@b@b@CvlB@b@b ; "    魔鏡    " dd aVvvUVRVnvVOuvV ; "いざ倒れ逝くその時まで" dd aB@b@oavVVrvivV ; "  死なばもろとも  " dd aB@b@Rpchmxom ; "   星幽剣士" dd aB@b@b@gagcgkgx ; "   アイリス" public _main_sel_prev, _main_in_this_menu public _option_in_this_menu, _option_sel_prev public _option_left_locked, _option_right_locked _main_sel_prev dw 99 _main_in_this_menu dw 0 _option_in_this_menu dw 0 _option_sel_prev dw 0 _option_left_locked dw 0 _option_right_locked dw 0 public _MUSIC_FILES _MUSIC_FILES label dword dd _aReimu_mdt ; "reimu.mdt" dd aZipangu_mdt ; "ZIPANGU.mdt" dd aSt0_mdt ; "st0.mdt" dd aSt1_mdt ; "st1.mdt" dd aSt2_mdt ; "st2.mdt" dd aSt3_mdt ; "st3.mdt" dd aSt4_mdt ; "st4.mdt" dd aSt5_mdt ; "st5.mdt" dd aPositive_mdt ; "positive.mdt" dd aLegend_mdt ; "legend.mdt" dd aKami_mdt ; "kami.mdt" dd aTensi_mdt ; "tensi.mdt" dd aSyugen_mdt ; "syugen.mdt" dd aAlice_mdt ; "alice.mdt" dd aIris_mdt ; "iris.mdt" public _music_in_this_menu, _music_sel_prev public _music_left_locked, _music_right_locked _music_in_this_menu dw 0 _music_sel_prev dw 0 _music_left_locked dw 0 _music_right_locked dw 0 include th01/formats/cfg[data].asm ; char _aReimu_mdt[] public _aReimu_mdt, _aReiiden2_grp, _aReiiden3_grp, _aOp_win_grp _aReimu_mdt db 'reimu.mdt',0 _aReiiden2_grp db 'REIIDEN2.grp',0 _aReiiden3_grp db 'REIIDEN3.grp',0 _aOp_win_grp db 'op_win.grp',0 public _aReiiden_0 _aReiiden_0 db 'reiiden',0 public _GP_HIT_KEY _GP_HIT_KEY db ' HIT KEY',0 aVrvsvVqvs db ' START ',0 aVbvnvmvsvhvmvt db 'CONTINUE',0 aB@vnvovsvhvnvm db ' OPTION ',0 aB@b@vpvtvhvsb@ db '  QUIT  ',0 aB@vqvVmvjb@ db ' RANK  ',0 aVlvtvrvhvb db ' MUSIC ',0 aVovkvVxvdvq db 'PLAYER ',0 aVlbdvsvdvrvs db 'M.TEST ',0 aB@vpvtvhvsb@ db ' QUIT  ',0 aEasy db ' EASY ',0 aNormal db 'NORMAL',0 aHard db ' HARD ',0 aLunatic db 'LUNATIC',0 aOff db ' OFF ',0 aFm db ' FM ',0 a3 db ' 3 ',0 a4 db ' 4 ',0 a5 db ' 5 ',0 a6 db ' 6 ',0 a7 db ' 7 ',0 ; char aSS[] public _aSS _aSS db '%s%s',0 aVlvtvrvhvbb@vm db 'MUSIC No.',0 aB@b@vpvxvivf db '  Quit ',0 aASacretLot db ' A Sacret Lot',0 aXcvR_o db ' 風の神社 ',0 aIiiuvIPc db ' 永遠の巫女 ',0 aHighlyResponsi db ' Highly Responsive',0 aUmx db ' 東方怪奇談 ',0 aOrientalMagici db ' Oriental Magician',0 aB@FjoVPmsUbb@ db '  破邪の小太刀  ',0 aTheLegendOfKag db ' The Legend of KAGE',0 aPositiveAndNeg db 'Positive and Negative',0 aB@b@UvoguRrb@b db '   天使伝説   ',0 aB@b@b@CvlB@b@b db '    魔鏡    ',0 aVvvUVRVnvVOuvV db 'いざ倒れ逝くその時まで',0 aB@b@oavVVrvivV db '  死なばもろとも  ',0 aB@b@Rpchmxom db '   星幽剣士',0 aB@b@b@gagcgkgx db '   アイリス',0 public _aS_2d, _ERROR_RESIDENT_INVALID, _CON, _GOODBYE _aS_2d db '%s%.2d',0 aZipangu_mdt db 'ZIPANGU.mdt',0 aSt0_mdt db 'st0.mdt',0 aSt1_mdt db 'st1.mdt',0 aSt2_mdt db 'st2.mdt',0 aSt3_mdt db 'st3.mdt',0 aSt4_mdt db 'st4.mdt',0 aSt5_mdt db 'st5.mdt',0 aPositive_mdt db 'positive.mdt',0 aLegend_mdt db 'legend.mdt',0 aKami_mdt db 'kami.mdt',0 aTensi_mdt db 'tensi.mdt',0 aSyugen_mdt db 'syugen.mdt',0 aAlice_mdt db 'alice.mdt',0 aIris_mdt db 'iris.mdt',0 _ERROR_RESIDENT_INVALID db 'バッチファイルから起動してよ',0 _CON db 'CON',0 _GOODBYE db 'おつかれさまでした!!',0Ah,0 ; libs/master.lib/grp[data].asm extern graph_VramSeg:word extern graph_VramWords:word extern graph_VramLines:word extern graph_VramZoom:word ; libs/master.lib/pal[data].asm extern PaletteTone:word extern PalettesInit:rgb_t:COLOR_COUNT extern PaletteNote:word extern ResPalSeg:word ; libs/master.lib/respal_exist[data].asm IDLEN EQU 10 extern ResPalID:byte:IDLEN ; libs/master.lib/fil[data].asm extern file_BufferSize:word extern file_Handle:word ; libs/master.lib/keytable[data].asm extern key_table_normal:word extern key_table_shift:word extern key_table_ctrl:word extern key_table_alt:word ; libs/master.lib/keystart[data].asm extern key_started:word ; libs/master.lib/keyback[data].asm extern key_back_buffer:word ; libs/master.lib/dos_ropen[data].asm extern file_sharingmode:word ; libs/master.lib/clip[data].asm extern ClipXL:word extern ClipXW:word extern ClipXR:word extern ClipYT:word extern ClipYH:word extern ClipYB:word extern ClipYT_seg:word extern ClipYB_adr:word ; libs/master.lib/rand[data].asm extern random_seed:dword .data? public _frame_rand, _columns _frame_rand dd ? _columns dd ROW_SIZE dup (?) ; libs/master.lib/pal[bss].asm extern Palettes:rgb_t:COLOR_COUNT ; libs/master.lib/fil[bss].asm extern file_Buffer:dword extern file_BufferPos:dword extern file_BufPtr:word extern file_InReadBuf:word extern file_Eof:word extern file_ErrorStat:word ; libs/master.lib/keystart[bss].asm extern key_backup:byte:786 extern keywork:byte:10 end