0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

誰でもわかるVZエディタ batファイル, makeファイル

Last updated at Posted at 2025-05-04

祝VZエディタソースコード公開
https://qiita.com/kaizen_nagoya/items/baad23cf4a041ce845a9

祝:ソースコード公開:VZエディタ移植の方法と成果。註釈 coding(123)
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949

オープンソース化されたVZエディタをブラウザ上で動かしてみる
https://qiita.com/Takaraya/items/785ac9319c3934e30703

Github

vcraftjp/VZEditor
https://github.com/vcraftjp/VZEditor/

誰でもわかるVZエディタ。0から始める。
https://qiita.com/kaizen_nagoya/items/afe6c4cdccbfdd94baab

SRC

順次、ソースコードの解説、改良点などを追記予定。

source code
https://github.com/vcraftjp/VZEditor/tree/main/SRC

順次、ソースコードの解説、改良点などを追記予定。

.batファイルは、ShellScriptの簡単なもの。
.makファイルは、Makefileの簡単なもの。
.lnkファイルは、LinkScript
.omkは、Optasm用Makefileだったような気がする。

AC.BAT
LK.BAT
MK.BAT
VZ.LNK
VZ.MAK
VZ.OMK

バッチファイル、Makeファイルのソースコードを掲載。
ファイルの最後の制御コードがあっているかどうか不明。
ご存知の方がおみえでしたら、ご教示ください。

AC.BAT

ac.bat
echo off
rem	-------	Assemble a source -------
rem		... called by cmos.def [f¥10],[SHIFT]+[f¥10]
rem
rem	%ASM%	:assembler name cap (opt,t,m) ex. set asm=opt
rem	%MASM%	:assemble option (/ml) ex. set masm=/ml

echo ===== %ASM%asm %1 =====
if not "%2"=="" goto asm2
if not "%HARD%"=="" goto asm1d
%ASM%asm %MASM% %1;
goto end

:asm1d
%ASM%asm %MASM% /d%HARD% %1;
goto end

:asm2
if not "%HARD%"=="" goto asm2d
%ASM%asm %MASM% /%2 %1;
goto end

:asm2d
%ASM%asm %MASM% /d%HARD% /%2 %1;
goto end

:end
if errorlevel 1 echo 

最終行とその前のecho行のところがESCAPEコードになっている。
元がなんだったか、ご存知の方がおみえでしたらご教示ください。
これであっているのかもってなっている。

LK.BAT

lk.bat
echo off
rem	-------	Link VZ, other tools -------
rem	usage: lk [vmap, etc.]
rem
rem	%LNK%	:linker name cap (t, ) ex. set lnk=t

if not "%1"=="" goto link_tool
set LNKFILE=@vz.lnk
set LNKCOM=vz%HARD%
goto start

:link_tool
set LNKFILE=%1
set LNKCOM=%1

:start
if "%LNK%"=="t" goto tlink

:mslink
link /m /noi %LNKFILE%,%LNKCOM%,%LNKCOM%;
exe2bin %LNKCOM%.exe %LNKCOM%.com
del %LNKCOM%.exe
goto done

:tlink
tlink /c /m /t %LNKFILE%,%LNKCOM%,%LNKCOM%;
if errorlevel 1 goto end

:done
if exist %LNKCOM%.sym del %LNKCOM%.sym
dir %LNKCOM%.com

:end
set LNKFILE=
set LNKCOM=

MK.BAT

mk.bat
echo off
rem	-------	Make vz???.com -------
rem	usage: mk [98,J31,IBM,IBMJ,AX,55,US]
rem	       mk vmap
rem
rem	%ASM%	:assembler name cap (opt,t,m)  ex: set asm=opt

if exist dummy goto init
type nul >dummy

:init
if not "%1"=="" goto init2
if not "%HARD%"=="" goto makevz
goto mk_98

:init2
type nul >dummy
for %%a in (98 j31 J31 ibm IBM ibmj IBMJ ax AX 55 us US) do if "%1"=="%%a" goto mk_%%a
command /c ac %1
lk %1

:mk_98
set HARD=
set masm=/dPC98
goto makevz

:mk_J31
set HARD=J31
set masm=/dJ31
goto makevz

:mk_IBM
set HARD=IBM
set masm=/dIBMV
goto makevz

:mk_IBMJ
set HARD=IBMJ
set masm=/dIBMJ
goto makevz

:mk_AX
set HARD=AX
set masm=/dIBMAX
goto makevz

:mk_55
set HARD=55
set masm=/dJBM
goto makevz

:mk_US
set HARD=US
set masm=/dUS
goto makevz

:makevz
echo ===== Make VZ%HARD% %2 =====
set %ASM%asm=%MASM%
if "%ASM%"=="opt" goto optmake
if "%ASM%"=="t" goto tmake
make vz.mak
goto link

:optmake
optasm @vz.omk
goto link

:tmake
make -fvz.mak
goto link

:link
if errorlevel 1 goto error
lk

:error
echo 

VZ.LNK

vz.lnk
main+
alias+
char+
core+
disp+
dos+
expr+
filer+
gets+
harderr+
inst+
key+
ledit+
macro+
memo+
menu+
misc+
open+
printf+
scrn+
smooth+
string+
text+
view+
wind+
xscr+
swap+
ems+
msg

VZ.MAK

vz.mak
.asm.obj:
	$(ASM)asm /ml $(MASM) $*;

vz.com: main.obj alias.obj char.obj core.obj disp.obj dos.obj expr.obj\
	filer.obj gets.obj harderr.obj inst.obj key.obj ledit.obj macro.obj\
	memo.obj menu.obj misc.obj open.obj printf.obj scrn.obj smooth.obj\
	string.obj text.obj view.obj wind.obj swap.obj ems.obj xscr.obj msg.obj

main.obj: vz.inc main.asm

alias.obj: vz.inc alias.asm

char.obj: vz.inc char.asm

core.obj: vz.inc core.asm

disp.obj: vz.inc disp.asm

dos.obj: vz.inc dos.asm

expr.obj: vz.inc expr.asm

filer.obj: vz.inc filer.asm

gets.obj: vz.inc gets.asm

harderr.obj: vz.inc harderr.asm

inst.obj: vz.inc inst.asm

key.obj: vz.inc key.asm key98.asm keyibm.asm dummy

ledit.obj: vz.inc ledit.asm

macro.obj: vz.inc macro.asm

memo.obj: vz.inc memo.asm

menu.obj: vz.inc menu.asm

misc.obj: vz.inc misc.asm

open.obj: vz.inc open.asm

printf.obj: sprintf.inc printf.asm

scrn.obj: vz.inc scrn.asm scrn98.asm scrnibm.asm dummy

smooth.obj: vz.inc smooth.asm

string.obj: vz.inc string.asm

text.obj: vz.inc text.asm

view.obj: vz.inc view.asm

wind.obj: vz.inc wind.asm

xscr.obj: vz.inc xscr.asm

swap.obj: vz.inc swap.asm

ems.obj: vz.inc ems.asm

msg.obj: vz.inc msg.asm dummy

VZ.OMK

vz.omk
 main.obj vz.inc main.asm
main /ml;
 alias.obj vz.inc alias.asm
alias /ml;
 char.obj vz.inc char.asm
char /ml;
 core.obj vz.inc core.asm
core /ml;
 disp.obj vz.inc disp.asm
disp /ml;
 dos.obj vz.inc dos.asm
dos /ml;
 expr.obj vz.inc expr.asm
expr /ml;
 filer.obj vz.inc filer.asm
filer /ml;
 gets.obj vz.inc gets.asm
gets /ml;
 harderr.obj vz.inc harderr.asm
harderr /ml;
 inst.obj vz.inc inst.asm
inst /ml;
 key.obj vz.inc key.asm key98.asm keyibm.asm dummy
key /ml;
 ledit.obj vz.inc ledit.asm
ledit /ml;
 macro.obj vz.inc macro.asm
macro /ml;
 memo.obj vz.inc memo.asm
memo /ml;
 menu.obj vz.inc menu.asm
menu /ml;
 misc.obj vz.inc misc.asm
misc /ml;
 open.obj vz.inc open.asm
open /ml;
 printf.obj sprintf.inc printf.asm
printf /ml;
 scrn.obj vz.inc scrn.asm scrn98.asm scrnibm.asm dummy
scrn /ml;
 smooth.obj vz.inc smooth.asm
smooth /ml;
 string.obj vz.inc string.asm
string /ml;
 text.obj vz.inc text.asm
text /ml;
 view.obj vz.inc view.asm
view /ml;
 wind.obj vz.inc wind.asm
wind /ml;
 xscr.obj vz.inc xscr.asm
xscr /ml;
 swap.obj vz.inc swap.asm
swap /ml;
 ems.obj vz.inc ems.asm
ems /ml;
 msg.obj vz.inc msg.asm dummy
msg /ml;

Ref

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?