From 2279e82167a0e758058be4d0a3e01fef160238ec Mon Sep 17 00:00:00 2001 From: nmlgc Date: Fri, 21 Nov 2014 08:22:03 +0100 Subject: [PATCH] [JWasm move] Use unique global names for local labels where it matters From the TASM manual: "NEAR labels defined with the colon directive (:) are considered block-scoped if they are located inside a procedure, and you've selected a language interfacing convention with the MODEL statement. However, these symbols are not truly block-scoped; they can't be defined as anything other than a near label elsewhere in the program." MASM's own local label syntax - declaring labels using @@ and then jumping to the next and previous @@ using @F and @B - is obviously too limiting for any longer function, and is not even supported by TASM unless we switch it to MASM mode completely. While this is indeed ugly, it only affected 16 files, which is way less than what we would get in a TASM build without LOCALS. In comparison to having a modern, cross-platform assembler, that really is a small price to pay. --- libs/BorlandC/H_LLSH.ASM | 4 +- libs/BorlandC/H_LRSH.ASM | 4 +- libs/BorlandC/flushall.asm | 20 ++-- libs/BorlandC/fseek.asm | 4 +- libs/BorlandC/getc.asm | 12 +-- libs/BorlandC/xfclose.asm | 8 +- libs/master.lib/bfnt_entry_pat.asm | 4 +- libs/master.lib/bgm_bell_org.asm | 10 +- libs/master.lib/bgm_effect_sound.asm | 24 ++--- libs/master.lib/bgm_init_finish.asm | 54 +++++----- libs/master.lib/bgm_play.asm | 27 ++--- libs/master.lib/graph_pi_load_pack.asm | 20 ++-- libs/master.lib/palette_show.asm | 32 +++--- libs/master.lib/resdata.asm | 30 +++--- libs/master.lib/respal_exist.asm | 28 ++--- libs/piloadc/piloadc.asm | 140 +++++++++++++------------ 16 files changed, 210 insertions(+), 211 deletions(-) diff --git a/libs/BorlandC/H_LLSH.ASM b/libs/BorlandC/H_LLSH.ASM index 5085d4b4..b82e7558 100644 --- a/libs/BorlandC/H_LLSH.ASM +++ b/libs/BorlandC/H_LLSH.ASM @@ -25,7 +25,7 @@ N_LXLSH@: LXLSH@: F_LXLSH@: cmp cl,16 - jae @@lsh@small + jae llsh_@small mov bx,ax ; save the low bits shl ax,cl ; now shift each half shl dx,cl @@ -40,7 +40,7 @@ F_LXLSH@: shr bx,cl or dx,bx retf -@@lsh@small: +llsh_@small: sub cl,16 ; for shifts more than 15, do this ; short sequence. xchg ax,dx diff --git a/libs/BorlandC/H_LRSH.ASM b/libs/BorlandC/H_LRSH.ASM index 83c3f1de..78c87475 100644 --- a/libs/BorlandC/H_LRSH.ASM +++ b/libs/BorlandC/H_LRSH.ASM @@ -25,7 +25,7 @@ N_LXRSH@: LXRSH@: F_LXRSH@: cmp cl,16 - jae @@lsh@small + jae lrsh_@small mov bx,dx ; save the high bits shr ax,cl ; now shift each half sar dx,cl @@ -40,7 +40,7 @@ F_LXRSH@: shl bx,cl or ax,bx retf -@@lsh@small: +lrsh_@small: sub cl,16 ; for shifts more than 15, do this ; short sequence. xchg ax,dx ; diff --git a/libs/BorlandC/flushall.asm b/libs/BorlandC/flushall.asm index a1c34794..9162cba8 100644 --- a/libs/BorlandC/flushall.asm +++ b/libs/BorlandC/flushall.asm @@ -4,9 +4,9 @@ _flushall proc @@Nb = word ptr -(dPtrSize + 2) @@fp = DPTR_ -(dPtrSize) if LDATA -@@local_stack equ 8 + @@local_stack = 8 else -@@local_stack equ 6 + @@local_stack = 6 endif push bp @@ -21,31 +21,29 @@ if LDATA mov word ptr [bp+@@fp+2], ds endif mov word ptr [bp+@@fp], offset _streams - jmp short @@loop + jmp short flushall_loop -@@RDWR?: +flushall_RDWR?: LES_ bx, [bp+@@fp] test byte ptr ES_[bx+FILE.flags], 3 - jz short @@next + jz short flushall_next if LDATA push word ptr [bp+@@fp+2] endif push bx nopcall _fflush -if LDATA - pop cx -endif + popCX_ pop cx inc [bp+@@Cpt] -@@next: +flushall_next: add word ptr [bp+@@fp], size FILE -@@loop: +flushall_loop: mov ax, [bp+@@Nb] dec [bp+@@Nb] or ax, ax - jnz short @@RDWR? + jnz short flushall_RDWR? mov ax, [bp+@@Cpt] pop di pop si diff --git a/libs/BorlandC/fseek.asm b/libs/BorlandC/fseek.asm index 04db1eac..078b8c03 100644 --- a/libs/BorlandC/fseek.asm +++ b/libs/BorlandC/fseek.asm @@ -4,9 +4,9 @@ Displacement proc near @@disp = word ptr -2 @@fp = DPTR_ 4 if LDATA -@@local_stack equ 6 + @@local_stack = 6 else -@@local_stack equ 2 + @@local_stack = 2 endif push bp diff --git a/libs/BorlandC/getc.asm b/libs/BorlandC/getc.asm index 46639823..dd97fd78 100644 --- a/libs/BorlandC/getc.asm +++ b/libs/BorlandC/getc.asm @@ -11,28 +11,28 @@ _FlushOutStreams proc near mov [bp+@@Ndx], FOPEN_MAX mov word ptr [bp+@@fp+2], ds mov word ptr [bp+@@fp], offset _streams - jmp short @@loop + jmp short flush_loop -@@outstream?: +flush_outstream?: LES_ bx, [bp+@@fp] mov ax, ES_[bx+FILE.flags] and ax, _F_TERM or _F_OUT cmp ax, _F_TERM or _F_OUT - jnz short @@next + jnz short flush_next push word ptr [bp+@@fp+2] push bx nopcall _fflush pop cx pop cx -@@next: +flush_next: add word ptr [bp+@@fp], size FILE -@@loop: +flush_loop: mov ax, [bp+@@Ndx] dec [bp+@@Ndx] or ax, ax - jnz short @@outstream? + jnz short flush_outstream? pop di pop si mov sp, bp diff --git a/libs/BorlandC/xfclose.asm b/libs/BorlandC/xfclose.asm index 2abb7d0d..88b8b506 100644 --- a/libs/BorlandC/xfclose.asm +++ b/libs/BorlandC/xfclose.asm @@ -17,16 +17,14 @@ endif @@loop: LES_ bx, [bp+@@fp] test byte ptr ES_[bx+FILE.flags], 3 - jz short @@next + jz short xfclose_next push word ptr [bp+@@fp+2] push bx nopcall _fclose -if LDATA - pop cx -endif + popCX_ pop cx -@@next: +xfclose_next: add word ptr [bp+@@fp], size FILE inc [bp+@@i] diff --git a/libs/master.lib/bfnt_entry_pat.asm b/libs/master.lib/bfnt_entry_pat.asm index d7e751a2..bff60743 100644 --- a/libs/master.lib/bfnt_entry_pat.asm +++ b/libs/master.lib/bfnt_entry_pat.asm @@ -79,7 +79,7 @@ func BFNT_ENTRY_PAT ; bfnt_entry_pat() { @@clear_color = (RETSIZE+1)*2 mov AX,[BP+@@clear_color] - mov CS:@@color,AX + mov CS:bftentry_color,AX mov CS:_DS_,DS mov AX,[BP+@@handle] mov CS:bftentry_file_handle,AX @@ -211,7 +211,7 @@ B2V_LOOP: push ES ; seg addr xor AX,AX push AX ;offset address - JMOV AX,@@color ;clear_color + JMOV AX,bftentry_color ;clear_color push AX _call SUPER_ENTRY_PAT ; (patsize, far addr, clear_color) diff --git a/libs/master.lib/bgm_bell_org.asm b/libs/master.lib/bgm_bell_org.asm index afbf5357..a7c172cc 100644 --- a/libs/master.lib/bgm_bell_org.asm +++ b/libs/master.lib/bgm_bell_org.asm @@ -42,16 +42,16 @@ func _BGM_BELL_ORG test Machine_State,10h - jnz short @@PCAT + jnz short B_B_ORG_PCAT -@@PC98: +; B_B_ORG_PC98: xor AX,AX mov ES,AX test byte ptr ES:[0501H],80h mov BX,TVAL8ORG/2 - jnz short @@CLOCK8MHZ + jnz short B_B_ORG_CLOCK8MHZ mov BX,TVAL10ORG/2 -@@CLOCK8MHZ: +B_B_ORG_CLOCK8MHZ: ;タイマカウント値設定 mov DX,BEEP_CNT mov AL,BL @@ -62,7 +62,7 @@ func _BGM_BELL_ORG mov AL,BEEP_OFF out BEEP_SW,AL ; 98 ret -@@PCAT: +B_B_ORG_PCAT: ;ビープOFF in AL,61h and AL,not 3 diff --git a/libs/master.lib/bgm_effect_sound.asm b/libs/master.lib/bgm_effect_sound.asm index c623487a..a3201110 100644 --- a/libs/master.lib/bgm_effect_sound.asm +++ b/libs/master.lib/bgm_effect_sound.asm @@ -51,14 +51,14 @@ func _BGM_EFFECT_SOUND ; _bgm_effect_sound() { les BX,esound[BX].sptr mov CX,ES:[BX] mov BX,AX - jcxz short @@END_OF_SOUND ; cmp CX,SEND / jne + jcxz short B_E_SND_END_OF_SOUND ; cmp CX,SEND / jne ;bgm_bell2(*(esound[glb.scnt - 1].sptr)++); add word ptr esound[BX].sptr,2 test Machine_State,10h ; PC/AT - jz short @@PC98 -@@PCAT: + jz short B_E_SND_PC98 +; PCAT: in AL,61h ;ビープON or AL,3 out 61h,AL ; AT @@ -66,9 +66,9 @@ func _BGM_EFFECT_SOUND ; _bgm_effect_sound() { mov DX,0012h ; 1193.18K(AT互換機) mov AX,34dch mov BX,BEEP_CNT_AT - jmp short @@CLOCK8MHZ + jmp short B_E_SND_CLOCK8MHZ EVEN -@@PC98: +B_E_SND_PC98: ;ビープON (上にもってきたけど大丈夫かなあ) mov AL,BEEP_ON out BEEP_SW,AL ; 98 @@ -81,18 +81,18 @@ func _BGM_EFFECT_SOUND ; _bgm_effect_sound() { test byte ptr ES:[0501H],80h mov DX,001eh ; 1996.8K(8MHz系) mov AX,7800h - jnz short @@CLOCK8MHZ + jnz short B_E_SND_CLOCK8MHZ mov DX,0025h ; 2457.6K(10MHz系) mov AX,8000h -@@CLOCK8MHZ: +B_E_SND_CLOCK8MHZ: cmp CX,DX - ja short @@NORMAL + ja short B_E_SND_NORMAL mov AX,0ffffh - jmp short @@PLAY + jmp short B_E_SND_PLAY EVEN -@@NORMAL: +B_E_SND_NORMAL: div CX -@@PLAY: +B_E_SND_PLAY: ;タイマカウント値設定 mov DX,BX ; BEEP_CNT out DX,AL ; 98,AT @@ -107,7 +107,7 @@ func _BGM_EFFECT_SOUND ; _bgm_effect_sound() { ret EVEN -@@END_OF_SOUND: +B_E_SND_END_OF_SOUND: ;esound[glb.scnt - 1].sptr = (uint far *)esound[glb.scnt - 1].sbuf; mov AX,word ptr esound[BX].sbuf+2 mov word ptr esound[BX].sptr+2,AX diff --git a/libs/master.lib/bgm_init_finish.asm b/libs/master.lib/bgm_init_finish.asm index da3f30dc..f3acedca 100644 --- a/libs/master.lib/bgm_init_finish.asm +++ b/libs/master.lib/bgm_init_finish.asm @@ -65,57 +65,57 @@ func BGM_INIT ; bgm_init() { nopcall GET_MACHINE cmp glb.init,0 - je short @@NOTINITIALIZED1 + je short B_INIT_NOTINITIALIZED1 xor AX,AX ; BGM_COMPLETE MRETURN -@@NOTINITIALIZED1: +B_INIT_NOTINITIALIZED1: ;bsize2 = bufsiz; mov DX,[BP+@@bsize] mov [BP+@@bsize2],DX or DX,DX - jg short @@SETBUFSIZE + jg short B_INIT_SETBUFSIZE mov word ptr [BP+@@bsize2],BUFMAX -@@SETBUFSIZE: +B_INIT_SETBUFSIZE: mov AX,[BP+@@bsize2] mov glb.bufsiz,AX ;曲バッファ確保 mov DI,offset part -@@ALLOCATEMBUF: +B_INIT_ALLOCATEMBUF: ;if ((part[cnt].mbuf = MK_FP(hmem_allocbyte(bsize2),0)) == NULL) mov mem_AllocID,MEMID_bgm push word ptr [BP+@@bsize2] nopcall HMEM_ALLOCBYTE mov word ptr [DI].mbuf+2,AX mov word ptr [DI].mbuf,0 - jnc short @@MBUFALLOCATED + jnc short B_INIT_MBUFALLOCATED mov AX,BGM_OVERFLOW MRETURN -@@MBUFALLOCATED: +B_INIT_MBUFALLOCATED: add DI,type SPART cmp DI,offset part + (type SPART * PMAX) - jne short @@ALLOCATEMBUF + jne short B_INIT_ALLOCATEMBUF ;効果音バッファ確保 mov DI,offset esound -@@ALLOCATESBUF: +B_INIT_ALLOCATESBUF: ;if ((esound[cnt].sbuf = MK_FP(hmem_allocbyte(SBUFMAX * sizeof(uint) + 1),0)) == NULL) mov mem_AllocID,MEMID_efs push (SBUFMAX * 2)+1 nopcall HMEM_ALLOCBYTE mov word ptr [DI].sbuf+2,AX mov word ptr [DI].sbuf,0 - jnc short @@SBUFALLOCATED + jnc short B_INIT_SBUFALLOCATED push word ptr [DI].mbuf+2 mov word ptr [DI].mbuf+2,0 nopcall HMEM_FREE mov AX,BGM_OVERFLOW MRETURN -@@SBUFALLOCATED: +B_INIT_SBUFALLOCATED: add DI,type SESOUND cmp DI,offset esound + (type SESOUND * SMAX) - jne short @@ALLOCATESBUF + jne short B_INIT_ALLOCATESBUF ;BGMOFF mov glb.rflg,OFF @@ -158,18 +158,18 @@ func BGM_INIT ; bgm_init() { ;glb.clockbase = ((ulong)TVAL1ms * 120UL); ;tempo120のタイマカウント test Machine_State,10h ; PC/AT - jz short @@PC98 + jz short B_INIT_PC98 mov AX,TVALATORG_RTC - jmp short @@SET_CLOCKBASE -@@PC98: + jmp short B_INIT_SET_CLOCKBASE +B_INIT_PC98: xor AX,AX mov ES,AX test byte ptr ES:[0501H],80h mov AX,TVAL8ORG - jnz short @@CLOCK8MHZ + jnz short B_INIT_CLOCK8MHZ mov AX,TVAL10ORG -@@CLOCK8MHZ: -@@SET_CLOCKBASE: +B_INIT_CLOCK8MHZ: +B_INIT_SET_CLOCKBASE: and AX,0fffeh mov DX,DEFTEMPO mul DX @@ -183,7 +183,7 @@ func BGM_INIT ; bgm_init() { mov BX,offset part.mbuf xor DX,DX xor AX,AX -@@BUFFERCLEARLOOP: +B_INIT_BUFFERCLEARLOOP: les DI,[BX] mov CX,glb.bufsiz shr CX,1 @@ -193,14 +193,14 @@ func BGM_INIT ; bgm_init() { add BX,type SPART inc DX cmp DX,PMAX - jl short @@BUFFERCLEARLOOP + jl short B_INIT_BUFFERCLEARLOOP nopcall _BGM_TIMER_INIT ;BEEPモード設定 test Machine_State,10h ; PC/AT - jz short @@PC98_2 -@@PCAT_2: + jz short B_INIT_PC98_2 +B_INIT_PCAT_2: mov AX,TVALATORG/2 mov CX,AX mov AL,0b6h ; CNT#2, L-H WORD, 方形波, binary @@ -209,18 +209,18 @@ func BGM_INIT ; bgm_init() { out BEEP_CNT_AT,AL ; AT mov AL,CH ; 上位, count start out BEEP_CNT_AT,AL ; AT - jmp short @@B_INIT_DONE + jmp short B_INIT_DONE EVEN -@@PC98_2: +B_INIT_PC98_2: ;bgm_bell_mode(3, (INPB( CLOCK_CHK ) & 0x20) ? 998 : 1229); xor AX,AX mov ES,AX test byte ptr ES:[0501H],80h mov AX,TVAL8ORG/2 - jnz short @@CLOCK8MHZ_2 + jnz short B_INIT_CLOCK8MHZ_2 mov AX,TVAL10ORG/2 -@@CLOCK8MHZ_2: +B_INIT_CLOCK8MHZ_2: mov CX,AX ;OUTB(BEEP_MODE, ((mode & 0x03) << 1) | 0x70); mov AL,3 @@ -236,7 +236,7 @@ func BGM_INIT ; bgm_init() { mov AL,CH out DX,AL ; 98 -@@B_INIT_DONE: +B_INIT_DONE: mov glb.init,TRUE xor AX,AX ; BGM_COMPLETE MRETURN diff --git a/libs/master.lib/bgm_play.asm b/libs/master.lib/bgm_play.asm index 565486f2..961998e0 100644 --- a/libs/master.lib/bgm_play.asm +++ b/libs/master.lib/bgm_play.asm @@ -46,34 +46,35 @@ BGM_BELL: ;マスクON ならリターン cmp [SI].SGLB.pmask,ON - je short @@EXIT + je short B_PLAY_EXIT ;spval = (ulong)(note_dat[part2->note - 'A'] * 2); mov BX,[SI].SPART.note shl BX,1 mov BX,note_dat[BX-('A'*2)] cmp [SI].SPART.oct,1 - jne short @@NOTOCT1 + jne short B_PLAY_NOTOCT1 shl BX,1 - jmp short @@OCT1 -@@NOTOCT1: + jmp short B_PLAY_OCT1 +B_PLAY_NOTOCT1: ;spval = (ulong)(note_dat[part2->note - 'A'] / octdat[part2->oct - 1]); mov CX,[SI].SPART.oct dec CX dec CX shr BX,CL -@@OCT1: +B_PLAY_OCT1: test Machine_State,10h ; PC/AT - jz short @@PC98 -@@PCAT: in AL,61h ;ビープON + jz short B_PLAY_PC98 +;@@PCAT: + in AL,61h ;ビープON or AL,3 out 61h,AL ; AT mov AX,BX mov BX,TVALATORG/2 mov CX,BEEP_CNT_AT - jmp short @@DO_SCALE + jmp short B_PLAY_DO_SCALE EVEN -@@PC98: +B_PLAY_PC98: ;ビープON (上にもってきたけど大丈夫かなあ) mov AL,BEEP_ON out BEEP_SW,AL ; 98 @@ -84,16 +85,16 @@ BGM_BELL: xor AX,AX mov ES,AX test byte ptr ES:[0501H],80h - jz short @@CLOCK10MHZ + jz short B_PLAY_CLOCK10MHZ ;spval = spval * 998UL / 1229UL; mov AX,BX mov BX,TVAL8ORG/2 -@@DO_SCALE: +B_PLAY_DO_SCALE: mul BX mov BX,TVAL10ORG/2 div BX mov BX,AX -@@CLOCK10MHZ: +B_PLAY_CLOCK10MHZ: ;タイマカウント値設定 mov AL,BL mov DX,CX @@ -103,7 +104,7 @@ BGM_BELL: ;ビープON ; mov AL,BEEP_ON ; out BEEP_SW,AL -@@EXIT: +B_PLAY_EXIT: pop SI ret diff --git a/libs/master.lib/graph_pi_load_pack.asm b/libs/master.lib/graph_pi_load_pack.asm index bd079749..5126cb31 100644 --- a/libs/master.lib/graph_pi_load_pack.asm +++ b/libs/master.lib/graph_pi_load_pack.asm @@ -340,14 +340,14 @@ _dummy_skip: stosw test AX,AX mov AX,InvalidData - jz short @@COLOR + jz short GRPPILOD_COLOR jmp _errorA -@@COLOR: +GRPPILOD_COLOR: call byte_load cmp DL,4 ; 色数=16色? - jz short @@MACHINE_INFORMATION + jz short GRPPILOD_MACHINE_INFORMATION jmp _errorA -@@MACHINE_INFORMATION: +GRPPILOD_MACHINE_INFORMATION: mov AL,DL stosb call byte_load @@ -430,9 +430,9 @@ _minfo_skipB: pop DS mov BX,AX mov AX,InsufficientMemory - jnb short @@SET_PTRS + jnb short GRPPILOD_SET_PTRS jmp _errorA -@@SET_PTRS: +GRPPILOD_SET_PTRS: mov AX,BX mov DS:gbuffer_off,0 mov DS:gbuffer_seg,AX @@ -543,9 +543,9 @@ loop_rlA: mov DS:bit_len,CL mov DH,0 dec BH - jnz short @@LENGTH_CONTEXT + jnz short GRPPILOD_LENGTH_CONTEXT jmp end_rlA -@@LENGTH_CONTEXT: +GRPPILOD_LENGTH_CONTEXT: IF 1 cmp BH,8 ; read length context jl short skip_rlB @@ -600,10 +600,10 @@ end_rlA: mov CX,AX test BL,BL - jnz short @@POSITION + jnz short GRPPILOD_POSITION jmp _position_zero ; position: 0 前の2dotが同じ色なら2dot左 ; 違う色なら4dot左 -@@POSITION: +GRPPILOD_POSITION: mov BH,0 ; BH = pixel position mov AX,DS:xwidth cmp BL,1 diff --git a/libs/master.lib/palette_show.asm b/libs/master.lib/palette_show.asm index 2011776e..f33c310b 100644 --- a/libs/master.lib/palette_show.asm +++ b/libs/master.lib/palette_show.asm @@ -69,19 +69,19 @@ func PALETTE_SHOW ; palette_show() { mov CH,BL ; 0 cmp DH,100 - jna short @@SKIP + jna short PALSHOW_SKIP mov CH,0fh sub DH,200 ; AL = 200 - AL neg DH -@@SKIP: +PALSHOW_SKIP: mov SI,offset Palettes mov DL,100 cmp PaletteNote,BX ; 0 - jne short @@LCD + jne short PALSHOW_LCD -@@PLOOP: mov AL,BL +PALSHOW_PLOOP: mov AL,BL out 0a8h,AL ; palette number lodsw @@ -109,14 +109,14 @@ func PALETTE_SHOW ; palette_show() { inc BX cmp BX,16 - jl short @@PLOOP + jl short PALSHOW_PLOOP pop SI ret ; 液晶〜〜〜 EVEN -@@LCD: +PALSHOW_LCD: mov BX,DX IF 0 mov DX,0ae8eh @@ -129,22 +129,22 @@ ELSE out 0f6h,AL in AL,DX cmp AL,0ffh - jnz short @@NEWNOTE + jnz short PALSHOW_NEWNOTE mov DX,0ae8eh in AL,DX shr AL,2 -@@NEWNOTE: +PALSHOW_NEWNOTE: shr AL,1 cmc ENDIF sbb AL,AL - mov CS:@@XORVAL,AL ; 反転 + mov CS:PALSHOW_XORVAL,AL ; 反転 mov DX,BX push DI ; 1byte mov DI,0 ; +3byte ; =4(even) -@@LLOOP: +PALSHOW_LLOOP: mov AX,DI out 0a8h,AL ; palette number @@ -172,12 +172,12 @@ ENDIF mov AH,BH ; AL = g' AH = BH = b' cmp BH,AL ; BL = r AL = g AH = BH = b - ja short @@S1 + ja short PALSHOW_S1 mov BH,AL -@@S1: cmp BH,BL - ja short @@S2 +PALSHOW_S1: cmp BH,BL + ja short PALSHOW_S2 mov BH,BL ; BH = max(r,g,b) -@@S2: +PALSHOW_S2: shl AL,1 add AL,BL shl AL,1 @@ -195,7 +195,7 @@ ENDIF and AH,AL xor AH,0 org $-1 -@@XORVAL db ? +PALSHOW_XORVAL db ? shr AH,1 sbb AL,AL @@ -211,7 +211,7 @@ ENDIF out 0aah,AL ; g inc DI cmp DI,16 - jl short @@LLOOP + jl short PALSHOW_LLOOP pop DI pop SI diff --git a/libs/master.lib/resdata.asm b/libs/master.lib/resdata.asm index 3cbe683e..57d4a2cd 100644 --- a/libs/master.lib/resdata.asm +++ b/libs/master.lib/resdata.asm @@ -65,29 +65,29 @@ func RESDATA_EXIST ; resdata_exist() { int 21h CLD mov BX, ES:[BX-2] -@@FIND: +RSDEXIST_FIND: mov ES,BX inc BX mov AX,ES:[_mcb_owner] or AX,AX - je short @@SKIP + je short RSDEXIST_SKIP mov AX,ES:[_mcb_size] cmp AX,[BP+@@parasize] - jne short @@SKIP + jne short RSDEXIST_SKIP mov CX,[BP+@@id_len] _lds SI,[BP+@@id_str] mov DI,10h ; MCBの次 rep cmpsb - je short @@FOUND - @@SKIP: + je short RSDEXIST_FOUND + RSDEXIST_SKIP: mov AX,ES:[_mcb_size] add BX,AX mov AL,ES:[_mcb_flg] cmp AL,'M' - je short @@FIND -@@NOTFOUND: + je short RSDEXIST_FIND +RSDEXIST_NOTFOUND: mov BX,0 -@@FOUND: +RSDEXIST_FOUND: mov AX,BX _pop DS @@ -118,8 +118,8 @@ endif push word ptr [BP+@@parasize] _call RESDATA_EXIST or AX,AX - jnz short @@IGNORE -@@CREATE: + jnz short RSDCREATE_IGNORE +RSDCREATE_CREATE: mov AX,5800h ; アロケーションストラテジを得る int 21h mov DX,AX ; 得たストラテジを保存する @@ -131,10 +131,10 @@ endif mov BX,[BP+@@parasize] int 21h mov CX,0 - jc short @@DAME + jc short RSDCREATE_DAME mov BX,CS ; 自分より前ならOK cmp BX,AX - jnb short @@ALLOC_OK + jnb short RSDCREATE_ALLOC_OK mov ES,AX ; 自分より後ろだったら mov AH,49h ; 解放する。 int 21h ; @@ -146,7 +146,7 @@ endif mov AH,48h ; メモリ割り当て mov BX,[BP+@@parasize] int 21h - @@ALLOC_OK: + RSDCREATE_ALLOC_OK: mov CX,AX push AX @@ -163,13 +163,13 @@ endif pop CX -@@DAME: +RSDCREATE_DAME: mov AX,5801h ; アロケーションストラテジの復帰 mov BX,DX ; int 21h ; mov AX,CX -@@IGNORE: +RSDCREATE_IGNORE: _pop DS pop DI pop SI diff --git a/libs/master.lib/respal_exist.asm b/libs/master.lib/respal_exist.asm index 7f736a4d..4322a3f7 100644 --- a/libs/master.lib/respal_exist.asm +++ b/libs/master.lib/respal_exist.asm @@ -57,26 +57,26 @@ func RESPAL_EXIST int 21h CLD mov BX, ES:[BX-2] -@@FIND: +RSPEXIST_FIND: mov ES,BX inc BX mov AX,ES:[_mcb_owner] or AX,AX - je short @@SKIP + je short RSPEXIST_SKIP mov DI,10h ; MCBの次 mov CX,IDLEN mov SI,offset ResPalID rep cmpsb - je short @@FOUND - @@SKIP: + je short RSPEXIST_FOUND + RSPEXIST_SKIP: mov AX,ES:[_mcb_size] add BX,AX mov AL,ES:[_mcb_flg] cmp AL,'M' - je short @@FIND -@@NOTFOUND: + je short RSPEXIST_FIND +RSPEXIST_NOTFOUND: mov BX,0 -@@FOUND: +RSPEXIST_FOUND: mov AX,BX mov ResPalSeg,AX @@ -97,8 +97,8 @@ endif call RESPAL_EXIST or AX,AX mov AX,2 - jnz short @@IGNORE -@@CREATE: + jnz short RSPEXIST_IGNORE +RSPEXIST_CREATE: mov AX,5800h ; アロケーションストラテジを得る int 21h mov DX,AX ; 得たストラテジを保存する @@ -110,10 +110,10 @@ endif mov BX,4 ; 64/16 int 21h mov CX,0 - jc short @@DAME + jc short RSPEXIST_DAME mov BX,CS ; 自分より前ならOK cmp BX,AX - jnb short @@ALLOC_OK + jnb short RSPEXIST_ALLOC_OK mov ES,AX ; 自分より後ろだったら mov AH,49h ; 解放する。 int 21h ; @@ -125,7 +125,7 @@ endif mov AH,48h ; メモリ割り当て mov BX,4 ; 64/16 int 21h - @@ALLOC_OK: + RSPEXIST_ALLOC_OK: mov CX,AX mov ResPalSeg,AX @@ -146,13 +146,13 @@ endif stosw mov CX,1 -@@DAME: +RSPEXIST_DAME: mov AX,5801h ; アロケーションストラテジの復帰 mov BX,DX ; int 21h ; mov AX,CX -@@IGNORE: +RSPEXIST_IGNORE: pop DI pop SI ret diff --git a/libs/piloadc/piloadc.asm b/libs/piloadc/piloadc.asm index fcaa0830..56a42b96 100644 --- a/libs/piloadc/piloadc.asm +++ b/libs/piloadc/piloadc.asm @@ -6,6 +6,8 @@ ; (???), resulting in a "symbol already defined elsewhere" error ; * the "piloadc_" prefix on constants ; * the @@ prefix on function parameters +; * unique label names to make up for JWasm's lack of support for truly block- +; scoped symbols ; * "rep segcs movsw" being spelled out to what it's actually supposed to mean ; (movs word ptr es:[di], word ptr cs:[si]) ; * the ID check being changed from 'iP' to 'NZ' (lol ZUN) @@ -362,19 +364,19 @@ piload0: error: ret pilop: test ds:piloadc_option,4 - jz @@lop2 -@@lop: + jz pilop_lop2 +pilop_lop: lodsb cmp al,1ah - jz @@lop2 + jz pilop_lop2 mov dl,al mov ah,2 int 21h - jmp short @@lop -@@lop2: + jmp short pilop_lop +pilop_lop2: lodsb or al,al - jnz @@lop2 + jnz pilop_lop2 lodsb mov bl,al ;palet flag lodsw ;ドット比率 @@ -384,10 +386,10 @@ pilop: mov ax,-32 jnz error test ds:piloadc_option,8 - jz @@skip + jz pilop_skip mov ax,cx call gmode -@@skip: +pilop_skip: add si,4 ;machine code skip lodsw xchg ah,al ;dmy @@ -431,13 +433,13 @@ code2: codee: mov si,di cmp ds:piloadc_x_pos,0 - jge @@jmp@ + jge codee_jmp@ mov ds:piloadc_x_pos,cx -@@jmp@: +codee_jmp@: cmp ds:piloadc_y_pos,0 - jge @@jmp + jge codee_jmp mov ds:piloadc_y_pos,dx -@@jmp: +codee_jmp: mov cx,ds:piloadc_x_pos mov ax,ds:piloadc_y_pos @@ -486,11 +488,11 @@ codee: jnz nopalet mov cx,48 mov di,piloadc_PaletteBuff -@@lop1: +codee_lop1: lodsb shr al,4 stosb - loop @@lop1 + loop codee_lop1 mov bx,si jmp short palend nopalet: @@ -501,9 +503,9 @@ nopalet: rep movs word ptr es:[di], word ptr cs:[si] palend: test ds:piloadc_option,1 - jz @@skip + jz palend_skip call palset -@@skip: +palend_skip: call maketbl mov dh,1 mov di,piloadc_gbuff @@ -637,10 +639,10 @@ lop0: bit01: get1bit e - jc @@jmp + jc bit01_jmp lodsb jmp short color2 -@@jmp: +bit01_jmp: mov ax,[si] xchg ah,al mov [si],ax @@ -711,12 +713,12 @@ color2: @bit01: get1bit f - jc @@jmp + jc @bit01_jmp mov ah,[si] mov di,bp cld ret -@@jmp: +@bit01_jmp: mov cx,[si] xchg ch,cl mov [si],cx @@ -803,7 +805,7 @@ fclose: ; in ax=ドット比率データ gmode: cmp ax,102h - jz @@next + jz gmode_next ; or ax,ax ; mov ax,-32 ; jnz error @@ -815,7 +817,7 @@ gmode: mov al,1 out 6ah,al ret -@@next: +gmode_next: mov ch,080h mov ah,42h int 18h @@ -834,13 +836,13 @@ gtrans: pusha push es cmp ds:piloadc_vadr,32000 - jl @@skip + jl gtrans_skip sub ds:piloadc_vadr,32000 or ds:piloadc_flg800,1 mov al,1 out 0a6h,al ; out 0a4h,al -@@skip: +gtrans_skip: disp: mov si,ds:piloadc_bufend @@ -856,7 +858,7 @@ ylop: mov di,ds:piloadc_vadr mov ax,ds:piloadc_x_pos and ax,7 - jz @@skip + jz ylop_skip mov cx,8 sub cx,ax push cx @@ -865,7 +867,7 @@ ylop: not al xor bx,bx mov dx,bx -@@lop: +ylop_lop: lodsb shl1 al rcl1 bl @@ -875,7 +877,7 @@ ylop: rcl1 dl shl1 al rcl1 dh - loop @@lop + loop ylop_lop mov cx,0a800h mov es,cx @@ -891,28 +893,28 @@ ylop: out 7eh,al mov al,ah test ds:piloadc_option,40h - jz @@skip0 + jz ylop_skip0 mov ah,ds:piloadc_tcol shr ah,1 - jnc @@jmp1 + jnc ylop_jmp1 not dh -@@jmp1: +ylop_jmp1: shr ah,1 - jnc @@jmp2 + jnc ylop_jmp2 not dl -@@jmp2: +ylop_jmp2: shr ah,1 - jnc @@jmp3 + jnc ylop_jmp3 not bh -@@jmp3: +ylop_jmp3: shr ah,1 - jnc @@jmp4 + jnc ylop_jmp4 not bl -@@jmp4: +ylop_jmp4: or bx,dx or bl,bh or al,bl -@@skip0: +ylop_skip0: stosb xor al,al out 7ch,al @@ -922,7 +924,7 @@ ylop: sub cx,ax shr cx,3 jmp short xlop -@@skip: +ylop_skip: mov cx,ds:piloadc_x_wid shr cx,3 xlop: @@ -949,7 +951,7 @@ xlop: mov es,ax test ds:piloadc_option,40h - jnz @@jmp0 + jnz xlop_jmp0 mov es:[di],dh mov es:[di+8000h],dl mov ah,0b8h @@ -962,7 +964,7 @@ xlop: dec cx jz xend jmp xlop -@@jmp0: +xlop_jmp0: mov ah,ds:piloadc_tcol mov al,0c0h out 7ch,al @@ -976,21 +978,21 @@ xlop: out 7eh,al shr ah,1 - jnc @@jmp1 + jnc xlop_jmp1 not dh -@@jmp1: +xlop_jmp1: shr ah,1 - jnc @@jmp2 + jnc xlop_jmp2 not dl -@@jmp2: +xlop_jmp2: shr ah,1 - jnc @@jmp3 + jnc xlop_jmp3 not bh -@@jmp3: +xlop_jmp3: shr ah,1 - jnc @@jmp4 + jnc xlop_jmp4 not bl -@@jmp4: +xlop_jmp4: mov ax,dx or ax,bx or al,ah @@ -1009,7 +1011,7 @@ xend: sub ah,cl xor bx,bx mov dx,bx -@@lop: +xend_lop: lodsb shl1 al rcl1 bl @@ -1019,7 +1021,7 @@ xend: rcl1 dl shl1 al rcl1 dh - loop @@lop + loop xend_lop mov cl,ah mov ch,0ffh shl ch,cl @@ -1040,28 +1042,28 @@ xend: out 7eh,al mov al,ch test ds:piloadc_option,40h - jz @@skip0 + jz xend_skip0 mov ah,ds:piloadc_tcol shr ah,1 - jnc @@jmp1 + jnc xend_jmp1 not dh -@@jmp1: +xend_jmp1: shr ah,1 - jnc @@jmp2 + jnc xend_jmp2 not dl -@@jmp2: +xend_jmp2: shr ah,1 - jnc @@jmp3 + jnc xend_jmp3 not bh -@@jmp3: +xend_jmp3: shr ah,1 - jnc @@jmp4 + jnc xend_jmp4 not bl -@@jmp4: +xend_jmp4: or bx,dx or bl,bh or al,bl -@@skip0: +xend_skip0: stosb xor al,al out 7ch,al @@ -1081,12 +1083,12 @@ ext2: ret piloadc_fin: test ds:piloadc_flg800,1 - jle @@jmp + jle fin_jmp mov al,0 ; out 0a4h,al out 0a6h,al and ds:piloadc_flg800,not 2 -@@jmp: +fin_jmp: call fclose mov sp,spreg xor ax,ax @@ -1105,22 +1107,22 @@ palset: mov bh,100 mov di,piloadc_tonetbl xor cx,cx -@@plop: +palset_plop: mov al,cl mul bl div bh stosb inc cl cmp cl,16 - jnz @@plop + jnz palset_plop mov si,piloadc_PaletteBuff mov bx,piloadc_tonetbl mov cx,16 xor ah,ah test ds:piloadc_option,16 - jnz @@lop2 -@@lop: ;通常 + jnz palset_lop2 +palset_lop: ;通常 mov al,ah out 0a8h,al ;palet no lodsb @@ -1133,10 +1135,10 @@ palset: xlat [bx] out 0aeh,al ;blue inc ah - loop @@lop + loop palset_lop pop bx ret -@@lop2: ;NOTE用 +palset_lop2: ;NOTE用 mov al,16 sub al,cl out 0a8h,al ;palet no @@ -1162,7 +1164,7 @@ palset: sbb al,al out port,al endm - loop @@lop2 + loop palset_lop2 pop bx ret