WELCOME UNIVERSE ROMs

vendredi 24 avril 2020

Execution of the Aamber Pegasus








Execution of the Aamber Pegasus 4 games are available with this system, emulated under Mess. Once in games to start, press the first letter contained in the title of the game with your keyboard (example for Galaxy Wars & Hangman) the first game in alphabetical order of the list, chose G for Galaxy Wars or H for Hangman, for Invaders typed I and for Tank waited a bit then pressed T Active UI press Scroll Lock




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



CART










...


MESS 0161b_64bit [Aamber Pegasus].ziphttps://1fichier.com/?tr5gncdb19gccoht45vn

























Emulation of RCA Studio II












In the MESS emulator folder, under hash folder, place your zip ROMs (games) format (extension) with the bios studio II (extension) zip and the hash file studio II (extension) xml. Do not forget to perform a "scan" detection of the ROMs (games, bios and hash) of the subset in MESSui / options / directories ...





Once in play Press F3 Press A (qwerty) or Q (azerty)






mardi 21 avril 2020

NEC PC-9801: How is it emulated ?
















NEC PC-9801 : Comment est-il émulé ?

- Tout d'abord, téléchargez la version la plus récente ici :

http://www.emu-france.com/?wpfb_dl=1085

Gardez-le près du coude, il nous servira plus tard.

- Alors allez ici :

http://archive.is/GAesT

Vous trouvez un pack prêt à l'emploi (ou presque), contenant un émulateur préconfiguré (ou presque) et un BIOS.

Décompressez l'archive où vous le souhaitez.

- Voici la suite des instructions :

http://ux.getuploader.com/emu/download/153/np2fmgen.7z

(Sous l'URL, une fenêtre vous permet de saisir un mot de passe. Tapez 9801 et validez. Cliquez sur la nouvelle icône et attendez que le téléchargement soit proposé.)

- Collez tous les fichiers de cette archive dans :

Pack d'émulateurs Neo Kobe Lite \ NKEmuLite \ NEC PC-9801 \ np2fmgen \

Enfin, collez les fichiers np21w et np21x64w de l'archive np21w-0.86-rev30, récupérez-les au tout début dans

Pack d'émulateurs Neo Kobe Lite \ NKEmuLite \ NEC PC-9801 \ np2fmgen \

- Démarrez l'émulateur avec np21x64w pour Windows 64 bits et np21w pour Windows 32 bits.

Première chose à savoir : certains jeux peuvent présenter des bugs graphiques, comme Xevious par exemple.

Dans ce cas, vous aurez besoin de :

Accédez au BIOS en maintenant la touche « Fin » enfoncée, puis cliquez sur Émuler > Réinitialiser. Descendez jusqu'à la deuxième ligne et appuyez sur Entrée.

- Sur la ligne GDC, choisissez 2,5 MHz au lieu de 5 MHz.

- Appuyez ensuite sur la dernière ligne, puis sur la fenêtre suivant cette dernière ligne pour valider et quitter le BIOS.

- Dans Emulate-> Configurer, réglez la mémoire tampon audio sur 150 ms.

- La vitesse du processeur est réglée sur x4. Si le jeu rame, modifiez la vitesse à une autre valeur.

Deuxième chose à savoir : certains jeux peuvent nécessiter plus de mémoire RAM pour fonctionner. Dans ce cas, allez dans Périphérique -> Mémoire pour choisir la quantité de RAM.

Script AutoHotKey :np21.ahk


ROMPath = %1%
SplitPath, ROMPath,, ROMDir,, ROMName
ROMBase := ROMDir . "\" . ROMName
If FileExist(ROMBase . ".hdi")
HDI := ROMBase . ".hdi"
If FileExist(ROMBase . ".ccd")
CCD := ROMBase . ".ccd"
If FileExist(ROMBase . ".hdm")
FDD := ROMBase . ".hdm"
If FileExist(ROMBase . ".25")
GDC := "f3"
Else
GDC := "73"
IniPath := A_ScriptDir . "\np21x64w_lb.ini"
OrigIniPath := A_ScriptDir . "\np21x64w.ini"
FileRead, Ini, %OrigIniPath%
TmpIni := FileOpen(IniPath, "w")
Loop, parse, Ini, `n, `r
{
If InStr(A_LoopField, "HDD1FILE")
TmpIni.WriteLine("HDD1FILE=" . HDI)
Else If InStr(A_LoopField, "CD3_FILE")
TmpIni.WriteLine("CD3_FILE=" . CCD)
Else If InStr(A_LoopField, "FDD1FILE")
TmpIni.WriteLine("FDD1FILE=")
Else If InStr(A_LoopField, "FD1NAME0")
TmpIni.WriteLine("FD1NAME0=")
Else If InStr(A_LoopField, "DIPswtch")
TmpIni.WriteLine("DIPswtch=3e " . GDC . " 7b")
Else If (A_LoopField = "")
Continue
Else
TmpIni.WriteLine(A_LoopField)
}
TmpIni.Close()
RunWait, %A_ScriptDir%\np21x64w.exe /f /i "%IniPath%" "%FDD%", A_ScriptDir
FileMove, %IniPath%, %OrigIniPath%, 1

Vous devez le placer dans le même dossier que np21/w (il est préférable de le compiler au préalable en .exe avec Ahk2Exe) et configurer LaunchBox pour qu'il l'utilise à la place de l'émulateur. Laissez les paramètres de ligne de commande par défaut et importez généralement le fichier hdi (s'il est disponible) ou le fichier hdm dans votre bibliothèque.

Le script générera automatiquement un fichier INI adapté au jeu et le lancera. Pour ce faire, il part de quelques hypothèses (généralement vérifiées avec les jeux de la collection Neo Kobe, du moins ceux que j'ai testés).

  • L'extension du disque dur est .hdi
  • L'extension FDD est .hdm
  • Les CD sont au format .ccd/.img/.sub

Il exige que tous les fichiers liés à un même jeu portent exactement le même nom, à l'exception de l'extension. S'ils respectent cette règle, ils seront automatiquement détectés et ajoutés au fichier .ini si nécessaire.

De plus, si vous créez un fichier vide portant le même nom que le jeu, mais avec l'extension .25 (par exemple Rusty.25 placé à côté de Rusty.hdi), la vitesse du GDC sera fixée à 2,5 MHz au lieu de la valeur par défaut de 5,0 MHz. Ceci est nécessaire pour certains jeux.

MEmu:= "Neko" 
MEmuV:= "np2fmgen" 
MURL:= [""]
MAuthor:= ["psmiraglia"] 
MVersion:= "0.1"
MSystem:= ["Sharp X1"] 
;---------------------------------------------------------------- 
StartModule()
BezelGUI()
FadeInStart()

7z(romPath, romName, romExtension, 7zExtractPath)
BezelStart()

Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath)

; Loads Fullscreeen
WinMenuSelectItem, Neko, , Screen, Fullscreen

WinWait("Neko Project 21/W x64 ahk_class NP2-MainWindow Window")
WinWaitActive("Neko Project 21/W x64 ahk_class NP2-MainWindow Window")


Send, {F11 down}{F11 up}
Send, {H down}{H up}
Send, {enter down}{enter up}
Send, {O down}{O up}
sleep 100

Loop, parse, romPath
{
Send, {%A_LoopField% Down}
Sleep, 50
Send, {%A_LoopField% Up} 

Send, {\ down}{\ up}

Loop, parse, romName
{
Send, {%A_LoopField% Down}
Sleep, 50
Send, {%A_LoopField% Up} 


Send, {. down}{. up}
Loop, parse, romExtension
{
Send, {%A_LoopField% Down}
Sleep, 50
Send, {%A_LoopField% Up} 

Send, {enter down}{enter up}
sleep 100

Send, {F11 down}{F11 up}
Send, {E down}{E up}
Send, {R down}{R up}

FadeInExit()
Process("WaitClose", executable)
7zCleanUp()
BezelExit()
BezelDraw()
FadeOutExit()
ExitModule()


CloseProcess:
FadeOutStart()
WinClose("Neko Project 21/W x64 ahk_class NP2-MainWindow Window")
ExitApp
Return
MEmu = "NekoProjectII"
MEmuV = "v0.80"
MURL = ["http://www.romhacking.net/utilities/453/"]
MAuthor = "mz"
MVersion = "0.0z"
MID = "0"
MSystem = "NEC PC-9801","Touhou"

;----------------------------------------------------------------------------
; Notes:
; An alternate emulator for PC-98.
; To enable save state the np21.ini must be modified. Create a new line
; anywhere under [NekoProject21] and write the following on that new line:
; STATSAVE=true
;
; Default PC-98 keys are:
; player 1
; RTY
; FGH
; VBN
; shot - z
; bomb - X
; player 2
; 789
; 456
; 123
; shot - left arrow
; bomb - right arrow
;----------------------------------------------------------------------------
StartModule()
FadeInStart()
7z(romPath, romName, romExtension, 7zExtractPath)
fd1 := romPath . "\" . romName . romExtension

;emupath := "I:\HS\Hyperspin\Emulators\NekoProjectII\np21\" ;s
;executable := "np21.exe" ;s

;romPath := "I:\HS\Hyperspin\RomFiles\NECPC98"
;romName := "2_the Story of Eastern Wonderland"
;romExtension := ".hdi"

; is it case sensitive? If so may have to convert to lower/upper to test
;romName := "Caroll (1990)(System House Oh!)(Disk 1 of 1)" ; single disk game works fine.
;romName := "Misty Flash (1994)(Factory Team-Ten)(Disk 1 of 7)(Disk A)" ;s
;romName := "Card Buster 2 - Fukkatsu no Hijirizuka Shaku (1994)(F-88)(Disk 1 of 2)" ;this type works
;romExtension := ".FDI" ;s



ExitEmu(executable) ; Close Neko. Just Use for debugging. Comment out when done.
RemoveHDDs(emuPath)
ClearFDDEntries(emuPath)
InitializeWindow(emuPath)


If romExtension = .hdi
{
LoadHDI(rompath, romName, romExtension, emuPath)
Run, %executable%, %emupath%
}
else
{
cmdNeko := executable . A_Space . """" . fd1 . """"
;MsgBox, %cmdNeko%
Run(cmdNeko, emuPath)
}



;they also fail not sure what they are waiting on since the window is Neko Project II.
;WinWait("Emulation Window ahk_class NekoProjectII")
;WinWaitActive("Emulation Window ahk_class NekoProjectII")
Sleep, 1000 ; need this otherwise mouse doesn't move off screen
;MouseMove 0,2000,0 ;Move mouse off screen

; Loads Fullscreeen
WinMenuSelectItem, Neko, , Screen, Fullscreen

; If romName = 3th - Phantasmagoria of Dim Dream
; Run, remap_keys.exe, %modulePath%

Process("WaitClose", executable)
; Process, Close, remap_keys.exe

7zCleanUp()
FadeInExit()
FadeOutExit()
ExitModule()


CloseProcess:
;FadeOutStart()
Process("Close", executable) ; WinClose exits fullscreen, but does not close emu
Return


ExitEmu(executable)
{
Process, Exist, %executable%
if !ErrorLevel = 0
{
Process,Close, %executable%
}
}

RemoveHDDs(emuPath)
{
IniWrite, % "", %emuPath%\np21.ini, NekoProject21, HDD1FILE
IniWrite, % "", %emuPath%\np21.ini, NekoProject21, HDD2FILE
}

ClearFDDEntries(emuPath)
{
IniWrite, % "", %emuPath%\np21.ini, NP2 tool, FD1NAME0
IniWrite, % "", %emuPath%\np21.ini, NP2 tool, FD2NAME0
}

InitializeWindow(emuPath)
{
; Should check to see if these exist. before writing probably.
; I think it will write it if it does exist at the end of the file

; Need this window type to access menuitems later. The other two windtypes hide the menu.
IniWrite, 0, %emuPath%\np21.ini, NekoProject21, windtype

; Fullscreen l does not seem to do anything? i wonder if there are other values besides 0 and 1
IniWrite, 1, %emuPath%\np21.ini, NekoProject21, fscrnmod

; Hide np2 tool, Key Display, Memory Map window. Not needed.
; Are those keys case sensitive?
IniWrite, false, %emuPath%\np21.ini, NP2 tool, Windtype
IniWrite, false, %emuPath%\np21.ini, Key Display, windtype
IniWrite, false, %emuPath%\np21.ini, Soft Keyboard, windtype
IniWrite, false, %emuPath%\np21.ini, Memory Map, windtype
}


LoadHDI(rompath, romName, romExtension,emuPath)
{
IniWrite, %romPath%\%romName%%romExtension%, %emuPath%\np21.ini, NekoProject21, HDD1FILE
}

LoadFDI(rompath, romName, romExtension, emuPath)
{

fd1 := romPath . "\" . romName . romExtension
;initializes the fdi open dialog entry
IniWrite, %romPath%\%romName%%romExtension%, %emuPath%\np21.ini, NekoProject21, FDfolder

;Sleep 75ms was working fine on my system, but mine is pimpin. Needs more testing on other systems.
Sleep, 200


; Open the FileDialog to load FDD1
WinMenuSelectItem, Neko, , FDD1, Open
Sleep, 1000

ClipBoard = %fd1% ; Convert to text
Send ^v
Send {ENTER}

; WinWait, select floppy image ;this seems to prevent the other floppy selection from opening?
Sleep, 1000 ;wait for it close

; Now to check if there is a second floppy that should be loaded.
LoadFDD2(rompath, romName, romExtension, emuPath)
}


LoadFDD2(rompath, romName, romExtension, emuPath)
{

fd2 := GetFD2FileName(rompath, romName, romExtension)
if fd2 = "" ;no fd2 that could be found and loaded
Return

ifExist, %fd2%
{
;FDfolder only initializes itself the first time so cannot use that
WinMenuSelectItem, Neko, , FDD2, Open
Sleep, 1000
ClipBoard = %fd2% ; Convert to text
Send ^v
Send {ENTER}
}
}

GetFD2FileName(rompath, romName, romExtension)
{
StringReplace , rn2, romName, (Disk 1 of, (Disk 2 of,
if (ErrorLevel = 0){ ; there is a second floppy

;test to see if it exists
StringReplace , temp, rn2, (Disk A), (Disk B),
file := romPath . "\" . temp . romExtension
ifExist, %file%
{
return file
}

}else
{


}

return "" ;empty string
}



ResetEmu()
{
WinMenuSelectItem, Neko, , Emulate, Reset
}

GetAHKState()
{
MsgBox, % GetAhkStats("lines")
MsgBox, % GetAhkStats("variables")
MsgBox, % GetAhkStats("hotkeys")
MsgBox, %Stat1%
Return
}

GetAhkStats(xxSection="", xxUseWindow=99, xxDestroyAfter=1)
{
xxSectionN = Lines|Variables|Hotkeys|History
If xxSection=
xxSection = History
Loop, Parse, xxSectionN, |
IfInString, A_LoopField, %xxSection%
xxSection = %A_Index%
DetectHiddenWindows, On
SetTitleMatchMode, 2
Gui, %xxUseWindow%:Show, Hide
xxHidWin := WinExist(A_ScriptFullPath " - AutoHotkey v")
xxOldpar := DllCall("GetParent", "UInt", xxHidWin)
DllCall("SetParent", "UInt", xxHidWin, "UInt", (GuiGetHWND("", xxUseWindow)))
WinMenuSelectItem, ahk_id %xxHidWin%,, View, %xxSection%&
Loop {
Sleep, 50
ControlGetText, xxOut1, Edit1, ahk_id %xxHidWin%
If xxOut1<>
break
}
WinHide, ahk_id %xxHidWin%
DllCall("SetParent", "UInt", xxHidWin, "UInt", xxOldpar)
If (xxDestroyAfter)
Gui, %xxUseWindow%estroy
Return, xxOut1
}

GuiGetHWND(xxClassNN="", xxGUI=1)
{
If (xxGUI)
Gui, %xxGUI%:+LastFound
xxGui_hwnd := WinExist()
If xxClassNN=
Return, xxGui_hwnd
ControlGet, xxOutputVar, Hwnd,, %xxClassNN%, ahk_id %xxGui_hwnd%
Return, xxOutputVar
}