Jump to content

camputers lynx emulator?


craiganderson

Recommended Posts

  • Replies 139
  • Created
  • Last Reply

module now does fullscreen

still a WIP but works 100% perfectly on my system

uses a blockinput command to prevent mouse/keyboard from interfering with loading game

on my system hyperspin and xpadder must be run as an administrator for the blockinput to work, dont know why...just fyi

.

edit: bezel seems to be working well on my system. i had to use the "BezelStart("fixResMode"" option.

(i am not a bezel expert)

http://www.hyperspin-fe.com/forum/showthread.php?31302-Adding-bezel-support-A-step-by-step-Walkthrough

.

video of module loading game, bezel enabled

fade turned off so able to see whats going on

Ra96zG8etiA

MEmu = Jynx
MEmuV =  v1.06
MURL = http://jynx-emulator.tumblr.com/
MAuthor = craiganderson
MVersion = 1.0
MCRC = 
iCRC =
MID = 
MSystem = "Camputers Lynx"
;----------------------------------------------------------------------------
; Game Info
; Moonfall: The french (fr) rom seems to work better that the other two.
; Dungeon Adventure: The name of the rom must include "Dungeon" or "dungeon." The module changes the display setting if either of those words are in the rom. And  you need the "combined" rom for it to work. PM me if u need it.
; Full screen can be set in HLHQ
; If RUN is not being typed on the screen in the games that need it, increase the value below in the module from Sleep, 6000 to maybe Sleep, 8000 (see text below in module).
;----------------------------------------------------------------------------
BlockInput, On
StartModule()
BezelGUI()
FadeInStart()
7z(romPath, romName, romExtension, 7zExtractPath)

settingsFile := modulePath . "\" . moduleName . ".ini"
Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
BezelStart("fixResMode")

Run(executable, emuPath)

WinWait("Jynx ahk_class #32770")
WinWaitActive("Jynx ahk_class #32770")

If InStr(romName, "Dungeon") or InStr(romName, "dungeon")
{
   WinMenuSelectItem, Jynx ahk_class #32770, , Display, Level 9 game colours
   Sleep, 10
}
else
{
WinMenuSelectItem, Jynx ahk_class #32770, , Display, Normal Lynx colours
   Sleep, 10
}

Sleep, 500

WinMenuSelectItem, Jynx ahk_class #32770, , File, Run TAP file ...

WinWait("Open Lynx TAP file ahk_class #32770")
WinWaitActive("Open Lynx TAP file ahk_class #32770")
Sleep, 1000

Loop {
	ControlGetText, edit1Text, Edit1, Open Lynx TAP file ahk_class #32770
	If ( edit1Text = romPath . "\" . romName . romExtension )
		Break
	Sleep, 100
	ControlSetText, Edit1, %romPath%\%romName%%romExtension%, Open Lynx TAP file ahk_class #32770
}
ControlSend, Button1, {Enter}, Open Lynx TAP file ahk_class #32770

WinWait("Jynx ahk_class #32770")
WinWaitActive("Jynx ahk_class #32770")
Sleep, 6000 ; increase this value if RUN is not being typed on the games that need it.
SetKeyDelay, 50
Send, {r down}{r up}{u down}{u up}{n down}{n up}{ENTER down}{ENTER up} 

Sleep,100
If Fullscreen = true
{	
Sleep, 10
WinMenuSelectItem, Jynx ahk_class #32770, , Display, Full screen
}

Sleep,1000
BlockInput, Off

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


CloseProcess:
FadeOutStart()
Process, Close, Jynx-Windows-64bit.exe
Process, Close, Jynx-Windows-32bit.exe
Return

the Jynx.isd file

<?xml version="1.0" encoding="UTF-8"?>
<INISCHEMA>
<INIFILES>
	<INIFILE name="%ModuleName%" required="false">
		<INITYPE>Module</INITYPE>
		<SECTIONS>
			<SECTION name="Settings" required="false">
				<SECTIONTYPE>Global</SECTIONTYPE>
				<KEYS>
					<KEY name="Fullscreen" required="false" nullable="false">
						<KEYTYPE>Boolean</KEYTYPE>
						<DESCRIPTION>Enables/Disables Fullscreen</DESCRIPTION>
					</KEY>
				</KEYS>
			</SECTION>
		</SECTIONS>
	</INIFILE>
</INIFILES>
</INISCHEMA>

Link to comment
Share on other sites

Hi Craig

If you can give me a shortlist I will see....

I know I need to get back to looking at a combined TAP for Colossal Adventure...

EDIT - Done looking at COLOSSAL. The checksum on file 3 is blatantly wrong. If I fudge this to the right value, I can get it to load.

I've also realised that these TAP files are a bit dodgy - some are short by 1 byte, some have an extra zero byte at the end. I've had to put in an additional byte to bring the short files up to the size indicated in the file header. The "long" files are already on the Net, and actually affect other games - DonkeyKong is too long by 1 byte for example.

So I have had to improve Jynx to be aware of this extra 0 at the end of some files, because this breaks when joining TAPs together! I really don't think the TAP format was done very well at all, too many slightly odd things about it for comfort.

In any case, I have COLOSSAL running, but I cannot tell if it will crash part way through - the file with the dodgy checksum may be trying to tell us something, after all! In which case there's nothing I can do about it. :(

Will keep you posted.

Jonathan.

Link to comment
Share on other sites

Great news Jonathan, adding support for 6845 is very nice.

Yeah I'm on XP, and everything is running fine here.

If the current tap files have problems, maybe you could upload a pack with the fixed ones to mediafire or something if you don't want to include them with the emulator?

How exactly are you merging the multiple tap files together btw? Can I simply merge them using the DOS copy command or does it need something else to done?

Were you able to check Mazeman and Power Blaster? They are not tagged as bad dumps on TOSEC, but they don't seem to work on Jynx, they both work fine in Pale though. Quest and Panik also don't work, but they are tagged as bad dumps, still might be worth looking into them to see if it might not be some other issue in the tap file.

Link to comment
Share on other sites

Great news Jonathan, adding support for 6845 is very nice.

Yeah I'm on XP, and everything is running fine here.

If the current tap files have problems, maybe you could upload a pack with the fixed ones to mediafire or something if you don't want to include them with the emulator?

How exactly are you merging the multiple tap files together btw? Can I simply merge them using the DOS copy command or does it need something else to done?

Were you able to check Mazeman and Power Blaster? They are not tagged as bad dumps on TOSEC, but they don't seem to work on Jynx, they both work fine in Pale though. Quest and Panik also don't work, but they are tagged as bad dumps, still might be worth looking into them to see if it might not be some other issue in the tap file.

Brolly: Does PALE run extremely fast on your system?

On mine (WIN 8.1) it runs the games so fast they are not playable. And this is even after playing with all available settings to slow things down.

If I can figure a way to slow it down, I could use it as a backup for these other games (and make videos, etc)

thank you

craig

thanks

Link to comment
Share on other sites

Works fine on my XP machine, it does run too fast on my i7 with Win7, but after changing the speed on the emulator it runs at a normal speed. If Jonathan can fix the issues with tap loading in those games there's probably no need for Pale anymore. Unless there are any specific games for the 128K which I don't think there are, not dumped anyway.

Link to comment
Share on other sites

Hi Brolly

Jynx is very strict at parsing TAP files. Also, the TAP format appears to be badly specified. Some have an additional "0" at the end, some have an unnecessary "A5" at the front. Also, some are too short by 1 byte!

I have looked at MAZEMAN, and the file appears to be much larger than necessary. This is suspicious. If I truncate the file to the length it expects, it works (I think).

I will look at power blaster later.

I said to Craig I will upload the fixed TAPs somewhere, so you can get them, including the fixed COLOSSAL adventure.

Jonathan.

Link to comment
Share on other sites

Craig - Thanks!

Colossal and Dungeon do wrap from the bottom of the screen back to the top when displaying text. The Lynx didn't scroll.

I am going to re-release Jynx because I have notice that it does not run on some systems because of a missing MSVC DLL. So I will statically link the MS library, and re-release.

Jonathan.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...