Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Entornos gráficos > MAMEWAH

 
 
Old 04-abr-2008, 02:18   #1
sydaroa
Moderador
 
Avatar de sydaroa
NEC PC-9801 en mamewah

A petición de PeterPunk vamos a ejecutar este ordenador a través de mamewah.

El proceso es muy complejo pero resula muy gratificante verlo funcionar.

Como se me ha hecho muy tarde coloco una captura del layout



y mañana paso a las explicaciones.

Saludos
   
Old 04-abr-2008, 16:57   #2
sydaroa
Moderador
 
Avatar de sydaroa
Lo primero de todo es que aunque he probado todos los emuladores de PC-98 que he encontrado, solamente el Neko Project 21 es el único con el que he podido trabajar de una manera eficiente al tener archivo .ini y ser ésta la base donde vamos a ejecutar este sistema.

Para emular la serie touhou utilizaremos ficheros imágenes de disco duro .hdi, en principio no debería haber problemas en utilizar ficheros con extensión .thd y .nhd

Para crear la lista de juegos utilizaremos las propias capturas de pantalla de los juegos, cuidando que estén en el mismo formato ( .png, .jpg, .gif )
Los nombres de las mismas serán sustituidos por números en orden creciente.



Después crearemos el archivo .nms para que mamewah muestre los nombres de los ficheros y la captura a la que corresponden.
Quote:
Highly Responsive to Prayers|1
The Story of Eastern Wonderland|2
Phantasmagoria of Dim.Dream|3
Lotus Land Story|4
Mystic Square|5
esto es simplemente un archivo de texto con la extensión .nms

Ahora tenemos dos problemas con el emulador, salir con la tecla ESC y que se ponga a pantalla completa. para eso utilizaremos el programa Closemul.exe

El archivo ini es el siguiente

Quote:
[Parameters]
Exit Key 1=27
Exit Key 2=
Extract=
Extracted Ext 1=
Extracted Ext 2=
Pre Command=
Post Command=
Mount Program=
Mount Device=
Mount Parameters=
Registry File=
Automation=Neko Project 21
Automation Steps=ALT+ENTER,F11,D,M
Automation Delay=
Program=np21.exe
Program 2=
Param Before File=
Param After File=
File=
Snap 1 Search=
Snap 2 Search=
Snap Extension=
Snap Source Folder=
Snap 1 Dest Folder=
Snap 2 Dest Folder=
Quit Management=5
Quit TimeOut=
Disable Quotes=
Con esto conseguimos lo necesario para arrancar el emulador, ahora necesitamos decirle qué ficheros tiene que cargar. Para ello observamos el fichero np21.ini (solamente las primeras líneas)

Quote:
[NekoProject21]
WindposX=0
WindposY=0
Win_Snap=true
FDfolder=
HDfolder=E:\pc98\games\3_Phantasmagoria of Dim.Dream.hdi
bmap_Dir=
fontfile=
pc_model=VX
clk_base=2457600
clk_mult=4
DIPswtch=3e 73 7b
MEMswtch=48 05 04 00 01 00 00 6e
ExMemory=1
HDD1FILE=E:\pc98\games\3_Phantasmagoria of Dim.Dream.hdi
HDD2FILE=
SCSIHDD0=
SCSIHDD1=
SCSIHDD2=
SCSIHDD3=
Comprobamos que las líneas que refieren a las imágenes de los discos pertenecen a los últimos ficheros insertados, así que lo que vamos a hacer es hacer el cambio con el método de sustitución de inis, el mismo que usé para la emulación de saturn a través del emulador Cassini hace algún tiempo.

*********** Aclaración *********

Este método, al igual que la carga a través de las snaps de los juegos es totalmente invención propia, no así el método de arranque por fichero .bat el cual lo ví utilizar por primera vez para ejecutar el emulador Zinc bajo mamewah.

*****************************

Creamos tantas copias del fichero np21.ini como archivos a ejecutar tengamos.

Los nombramos al igual que estos archivos



Ahora los modificamos con las rutas y juegos correspondientes

Highly Responsive to Prayers.ini

Quote:
[NekoProject21]
WindposX=0
WindposY=0
Win_Snap=true
FDfolder=
HDfolder=E:\pc98\games\1_Highly Responsive to Prayers.hdi
bmap_Dir=
fontfile=
pc_model=VX
clk_base=2457600
clk_mult=4
DIPswtch=3e 73 7b
MEMswtch=48 05 04 00 01 00 00 6e
ExMemory=1
HDD1FILE=E:\pc98\games\1_Highly Responsive to Prayers.hdi
HDD2FILE=
SCSIHDD0=
SCSIHDD1=
SCSIHDD2=
SCSIHDD3=
SampleHz=22050
Latencys=500
SNDboard=4
BEEP_vol=3
SND14vol=0c 0c 08 06 03 0c
opt26BRD=d1
opt86BRD=7f
optSPBRD=d1
optSPBVR=0
optSPBVL=0
optSPB_X=true
optMPU98=82
volume_F=64
volume_S=64
volume_A=64
volume_P=64
volume_R=64
Seek_Snd=true
Seek_Vol=80
btnRAPID=false
btn_MODE=false
Mouse_sw=false
MS_RAPID=false
backgrnd=0
VRAMwait=01 01 06 01 08 01
DspClock=0
DispSync=true
Real_Pal=false
RPal_tim=32
s_NOWAIT=false
SkpFrame=0
uPD72020=false
GRCG_EGC=2
color16b=true
skipline=false
skplight=64
LCD_MODE=0
pc9861_e=false
pc9861_s=17 04 1f
pc9861_j=0c 0c 02 10 3f 3f
calendar=false
USE144FD=false
F12_COPY=0
Joystick=false
Joy1_btn=01 02 02 01
clocknow=0
clockfnt=0
use_sstp=false
sstpport=9801
comfirm_=false
shortcut=1
mpu98map=
mpu98min=
mpu98mdl=
mpu98def=
com1port=0
com1para=62
com1_bps=19200
com1mmap=
com1mmdl=
com1mdef=
com2port=0
com2para=62
com2_bps=19200
com2mmap=
com2mmdl=
com2mdef=
com3port=0
com3para=62
com3_bps=19200
com3mmap=
com3mmdl=
com3mdef=
e_resume=false
nousemmx=false
windtype=1
toolwind=false
keydispl=false
jast_snd=false
useromeo=false
thickfrm=false
fscrnmod=1
[NP2 tool]
WindposX=-2147483648
WindposY=-2147483648
WindType=true
SkinFile=
SkinMRU0=
SkinMRU1=
SkinMRU2=
SkinMRU3=
FD1NAME0=
FD1NAME1=
FD1NAME2=
FD1NAME3=
FD1NAME4=
FD1NAME5=
FD1NAME6=
FD1NAME7=
FD2NAME0=
FD2NAME1=
FD2NAME2=
FD2NAME3=
FD2NAME4=
FD2NAME5=
FD2NAME6=
FD2NAME7=
[Key Display]
WindposX=-2147483648
WindposY=-2147483648
keydmode=0
windtype=false
[Soft Keyboard]
WindposX=-2147483648
WindposY=-2147483648
windtype=false
[Memory Map]
WindposX=-2147483648
WindposY=-2147483648
windtype=false
The Story of Eastern Wonderland.ini

Quote:
[NekoProject21]
WindposX=0
WindposY=0
Win_Snap=true
FDfolder=
HDfolder=E:\pc98\games\2_the Story of Eastern Wonderland.hdi
bmap_Dir=
fontfile=
pc_model=VX
clk_base=2457600
clk_mult=4
DIPswtch=3e 73 7b
MEMswtch=48 05 04 00 01 00 00 6e
ExMemory=1
HDD1FILE=E:\pc98\games\2_the Story of Eastern Wonderland.hdi
HDD2FILE=
SCSIHDD0=
SCSIHDD1=
SCSIHDD2=
SCSIHDD3=
SampleHz=22050
Latencys=500
SNDboard=4
BEEP_vol=3
SND14vol=0c 0c 08 06 03 0c
opt26BRD=d1
opt86BRD=7f
optSPBRD=d1
optSPBVR=0
optSPBVL=0
optSPB_X=true
optMPU98=82
volume_F=64
volume_S=64
volume_A=64
volume_P=64
volume_R=64
Seek_Snd=true
Seek_Vol=80
btnRAPID=false
btn_MODE=false
Mouse_sw=false
MS_RAPID=false
backgrnd=0
VRAMwait=01 01 06 01 08 01
DspClock=0
DispSync=true
Real_Pal=false
RPal_tim=32
s_NOWAIT=false
SkpFrame=0
uPD72020=false
GRCG_EGC=2
color16b=true
skipline=false
skplight=64
LCD_MODE=0
pc9861_e=false
pc9861_s=17 04 1f
pc9861_j=0c 0c 02 10 3f 3f
calendar=false
USE144FD=false
F12_COPY=0
Joystick=false
Joy1_btn=01 02 02 01
clocknow=0
clockfnt=0
use_sstp=false
sstpport=9801
comfirm_=false
shortcut=1
mpu98map=
mpu98min=
mpu98mdl=
mpu98def=
com1port=0
com1para=62
com1_bps=19200
com1mmap=
com1mmdl=
com1mdef=
com2port=0
com2para=62
com2_bps=19200
com2mmap=
com2mmdl=
com2mdef=
com3port=0
com3para=62
com3_bps=19200
com3mmap=
com3mmdl=
com3mdef=
e_resume=false
nousemmx=false
windtype=1
toolwind=false
keydispl=false
jast_snd=false
useromeo=false
thickfrm=false
fscrnmod=1
[NP2 tool]
WindposX=-2147483648
WindposY=-2147483648
WindType=true
SkinFile=
SkinMRU0=
SkinMRU1=
SkinMRU2=
SkinMRU3=
FD1NAME0=
FD1NAME1=
FD1NAME2=
FD1NAME3=
FD1NAME4=
FD1NAME5=
FD1NAME6=
FD1NAME7=
FD2NAME0=
FD2NAME1=
FD2NAME2=
FD2NAME3=
FD2NAME4=
FD2NAME5=
FD2NAME6=
FD2NAME7=
[Key Display]
WindposX=-2147483648
WindposY=-2147483648
keydmode=0
windtype=false
[Soft Keyboard]
WindposX=-2147483648
WindposY=-2147483648
windtype=false
[Memory Map]
WindposX=-2147483648
WindposY=-2147483648
windtype=false
...........

Así con todos y cada uno de los inis correspondientes.

Ahora pasemos a crear los ficheros de arranque.
Tenemos que crear tantos ficheros .bat como inis tengamos



Como veréis tenemos un fichero más llamado pc98.bat, ese lo dejamos par el final

El contenido de los ficheros bat es el siguiente

Highly Responsive to Prayers.bat


Quote:
@echo off

copy "e:\pc98\neko\Highly Responsive to Prayers.ini" "e:\pc98\neko\np21.ini"

closemul.exe
The Story of Eastern Wonderland.bat

Quote:
@echo off

copy "e:\pc98\neko\The Story of Eastern Wonderland.ini" "e:\pc98\neko\np21.ini"

closemul.exe
.................

Así con todos.

El fichero pc98.bat es el de arranque y va en la forma

Quote:
@echo off
if %1==1 "e:\pc98\neko\Highly Responsive to Prayers.bat"
if %1==2 "e:\pc98\neko\The Story of Eastern Wonderland.bat"
if %1==3 "e:\pc98\neko\Phantasmagoria of Dim.Dream.bat"
if %1==4 "e:\pc98\neko\Lotus Land Story.bat"
if %1==5 "e:\pc98\neko\Mystic Square.bat"
Ahora metemos todos los ficheros dentro de la carpeta \neko



Ahora solamente nos queda meternos con mamewah, aquí la linea de comandos

Quote:
e:\pc98\neko\pc98.bat [name]
El ini

Quote:
### pc98.ini (mamewah v1.62) ###

emulator_title NEC PC-9801

### List Generation Settings ###
rom_path e:\pc98\snaps
rom_extension jpg
dat_file auto:[emuexepath]\[emuexename].dat
nms_file e:\pc98\pc98.nms
catver_ini_file auto:[emuexepath]\catver.ini
list_generation_method auto:rom_folder

### Execution Settings ###
pre_emulator_app_commandlines
emulator_commandline e:\pc98\neko\pc98.bat [name] {nodosbox}
post_emulator_app_commandlines
general_app_commandlines

### Artwork Settings ###
artwork_image_paths e:\pc98\snaps
movie_preview_path auto:[emuexepath]\previews
movie_artwork_no 1
enable_fuzzy_search 0
history_dat_file auto
history_dat_artwork_no 2

### Screen-Saver Settings ###
enable_music_in_screensaver 1
select_random_game 0
saver_type gamelist_slideshow
movie_path
movie_fullscreen 1
quit_delay 0
saver_commandline

### Additional Settings ###
music_path
lcd_display_file_path
description_display [description]{scroll}

### Settings used by MAMEWAH ###
current_list 0
Y el layout, de momento solo el archivo main



No he quedado contento del todo así que seguramente lo modificaré, pero para empezar nos puede servir.

Los archivos para descargar



Un saludo
   
Old 04-abr-2008, 18:47   #3
PeterPunk
Editor Marciano
Muchísimas gracias sydaroa.
No tengo palabras para describir mi admiración a tamaño curro que te has pegado. Bueno, sí, un par: IM-PRESIONANTE.