There doesn't seem to be a fdconfig.sys or config.sys file in the JPC I downloaded here.
How do I access it?
@c-square, thanks for the information.
But I need frame advance to be on W,
savestates on 1,2,3,4,5,6,7,8,9,0
and loadstates on F1-F10.
I find having to press CTRL+Fx very unintuitive and slow.
I will try to ask Ilari.
I'm following the "Doing the BIOS section" guide.
If I want to press F5, JPC-rr asks me each file [Y/N?].
There are more than the five the guide mentions...
Do I want to press Y on all of the files?
It seems the guide says to skip the autoexec.bat.
Should I press N on that one? Is that a good thing to do, or might there be drawbacks?
I'm doing the BIOS startup section.
The game is paused at 1000ms and Virtual Keyboard is in focus.
I press on my own keyboard
c
:
enter
s
t
a
r
t
r
e
k
enter
This input is then buffered and typed at around the ~1500ms timestamp.
But it is not typed out immediately. Each character takes 40ms.
Is this normal behavior or too slow?
Yet in another attempt where I skipped the 2nd autoexec.bat, it was typed out immediately?
Could it be the typing is slowed down if I buffer too many keys?
fdconfig.sys is part of your FreeDos floppy image that you use to boot the system. It's not a file on your hard drive.
If it's vital to change the hotkeys, try changing them in /datafiles/extramenu. Be sure to make a backup copy first before making any changes, and note that there are non-ANSI characters in that file, so you may need a special editor to edit and save the file properly.
By pressing F8, you can say Y or N to each line. When I do this I get (and my responses):
dos=high[Y,n]? Y
lastdrive=z[Y,n]? Y
buffers=20[Y,n]? Y
files=40[Y,n]? Y
device=himem.exe[Y,n]? Y
FreeDos ...
HIMEM ...
shell=... autoexec.bat[Y,n]? N
FreeCom ...
A:\>\autoexec.bat [Yes=ENTER, No=ESC] ? (I hit the ESC key)
A:\>
and it's ready for me to start changing directory and start the game.
(Remember to run "ctmouse /r32" if you need mouse support)
That's correct. To frame advance or use save states, you need the emulator window active. To type, you need the virtual keyboard window active. You quickly get used to switching between the two.
Yes, you can skip Autoexec.bat. There's nothing in there you need.
Usually on the dos screen, multiple letters can be typed in one frame. Keep in mind, running ctmouse will halt your typing for a short while as it loads (unless you can get all your typing in before it starts loading).
Normally, I've been able to complete boot up and start the game loading in under 1,000 ms. Remember, you can buffer commands like F8, and the "Y"s.
Also, I wouldn't worry about the boot up too much. No one really is going to be judging if the boot up screen is optimized.
By using /r32, you set the mouse movement to be linear instead of exponential, in other words no mouse acceleration. That’s vital for accurate mouse movements, and the mouse support I added needs it to be linear.
Link to video
I'm worried that I might have set up the wrong device... I think I set it up to use Sound Blaster Pro. The sound is definitely inferior to what I'm used to with the CD version.
The game (Floppy) sounds fine with Sound Blaster Pro on DOSBox. Maybe it's a video encoding problem.
Or JPC doesn't like Sound Blaster Pro.
---
EDIT:
So I made a HD image of the game which is set up to use the Sound Blaster (instead of Sound Blaster Pro) and it sounds better.
Is it possible to sync my movie with the new image?
I get an error "Bad JRSR archive magic in [moviefile]".
EDIT:
I was able to load a savestate from the previous image, on the new image.
I will try to dump a new video.
EDIT:
The new video has static noise, too.
No change from the previous video.
Perhaps I wrongfully assumed that I loaded a state from the previous image on the new image?
I don't know how to check which image is used.
In the Assemble window, the new image is listed.
---
EDIT
I had asked here how to make the emulator read+write, in order to go on after loading a savestate from a pre-existing movie file.
But "Truncate Event Stream" in the dropdown menu does what I wanted.
---
Nice work! Looks like you're getting the hang of things. :)
Yeah. Unfortunately Sound Blaster Pro isn't supported, only Sound Blaster.
It is possible to switch images. At the top of your movie file, you'll find a line like this:
+HDD 6795020dbf3164cbe1d6b3fe9d41b0e4
Switch the string after +HDD with the code from a save or movie from the new image.
Note, this only works with movies, not savesates, and by switching images, it's highly likely your movie will desync somewhere after the swtich.
To my knowledge, it doesn't work with savestates. A savestate is a memory dump, so it will always load its original image.
The assemble window has no relation to the currently running image.
Huh, I've never used that. I'll have to look into it.
Movies are always read+write. Movies play back, you can always insert new commands while they are playing. Note you can't delete commands from a movie however. In practice, I never use movies except when I want to dump to a video file. Savestates are better for managing progress, and easier to use.
Finally, since it sounds like you're really starting to get into it now, some important advice: At every step in your TAS, be sure you are absolutely satisfied with your current progress before moving on to the next part of the TAS. JPC-rr TASes are a huge pain to refactor, so you'll save yourself a lot of frustration by making sure it's perfect on your first pass.
Hmm.. I deleted the "Sound Blaster Pro" image and selected the "Sound Blaster" one in Assemble, so I thought that was enough to switch.
But you're saying the emulator somehow still loads the old image. If it does, then I can see why the audio is still crap.
---
About the read+write thing, my problem was as follows:
I lost my leading savestates, so I played back the movie and got new savestates.
But when I loaded those states, the emulator would play until the movie's original end each time.
I deleted the movie file and the savestate's backup file, but it didn't fix the problem.
The "Truncate" option worked for me though.
I'm restarting the TAS, this time with an additional line, as per slamo's suggestion
set BLASTER=A220 I5 D1 H5 T6
Test recordings had me believe this line fixes the audio problems in my previous videos.
I managed to save 4 seconds in the tutorial fight. But when I recorded a video of it, the audio problems are still present.
Have I used bad parameters in the set BLASTER line?
Is the line case-sensitive? I have written it lowercase as such: set blaster=a220 i5 d1 h5 t6.
What should I do now?
Perhaps it is a glitch in the game, I'm going so fast the game cannot initialise audio stuff? In my test recordings, I was playing slow and casually, hence the audio ended up being normal in those recordings.
Link to video
So this is my 3rd test recording, playing the game casually and slow.
Link to video
All of my test recordings had perfectly normal audio.
I now just need to find out what goes wrong in TAS that makes the audio bug happen.
"Truncate event stream" simply removes all input events beyond the current point in the loaded movie.
Savestates will always have all their input events. When loaded as a movie instead of a savestate, it will play to the end of the savestate's event stream. The savestate itself will retain its event stream even if you truncate the currently running movie. To change the savestate, overwrite it with a new save after truncating.
It does what I needed.
I had loaded a state from 400 ms before the end.
I "truncated". This made JPC show that the movie length is now until the current point, and it does not do the 400 ms of input.
I saved new states and continued.
I pinpointed the issue with the audio bug.
When using dumpconvert, the output tells me it sets to 1 channel (= the section on the BIOS screen), then to 2 channels (= the game). I assume it means it switches from mono to stereo. Somehow this information is lost or not interpreted correctly by VLC / MPC.
All my test recordings had started after the BIOS screen was done with and the game already started. It uses 2 channels and never switches. And audio is fine.
All my TAS recordings included the BIOS screen, so it uses 1 and then 2 channels. Audio is messed up.
So encoder will have to create a dump of the BIOS, then of the game and merge the two.
I can now continue TASing.
I found a small dialogue skip bug in Mission 3.
Normal behavior
Normally you fight and destroy the ship,
then dialogue appears,
then you orbit the planet automatically,
more dialogue appears,
then you can open up the Kirk menu and beam to the station.
The glitch
But I found you can destroy the ship,
and on the frame the dialogue would start I press O to orbit the planet manually
(this uses the default "orbit planet cutscene" as opposed to the "mission specific cutscene", which is faster by about 0.6 seconds),
Now, when you arrive at the station, the skipped dialogue would appear and you would orbit the planet (automatically), again.
You can, however, open the Kirk menu before this happens, allowing you to beam to the station.
EDIT:
I was suspicious, because I feared if I do this skip bug, the skipped dialogue might still come up later.
So I played through the mission and I was right. It did come up again.
It sent me straight back to the station.
You can basicly play the same mission twice.
So this bug will not be used in TAS.
Too bad. I'm in the same situation where I thought I had a great skip for my QFG2 fix run just to discover it won't work out. Fun at first, but disappointing in the end.
Keep hunting, though! I'm sure there's more to find out there.
While playing the Floppy version on Dosbox, a message came up rather unexpectedly along the lines of "insufficient memory, cannot play music or sounds anymore" and the game became mute. This happened 30 minutes into playing casually. I'm afraid something like this could happen late into the TAS.
I found some little things:
- You can use other characters on certain things in order to operate a device or open/close a door. Sometimes this allows you to do two things at the same time (for example, in mission 3 use Spock on the synthesizer machine while Kirk places the polyberylcarbonate inside it).
- Pathing is not optimal, so you will want to click on the screen (multiple times) to make Kirk walk straight to where he is needs to go.
___
Mission 3 synthesizer bug:
a) Have Kirk put in the polywhatevercarbonate or the cure sample.
Have another crew member use the synthesizer controls.
Have Kirk pick up the thing that he put in, at the correct timing.
This allows creating the proper end product while also picking up the source material.
For example, put in cure sample.
Have Spock use the controls to make a hypo out of the cure sample.
Kirk can pick up the cure sample and the hypo will still be created.
b) Have a crew member use the synthesizer controls.
Have Kirk put in the polywhatevercarbonate or the cure sample, at the correct timing.
This makes it so that two things are in the output slot at the same time.
You can pick both things up.
If you keep both things in, if you use the synthesizer controls again, it will erase one of the two things (perhaps only the newest one is kept).
Both of these exploits are useless for runs, although they are interesting.
___
Mission 4 Distress signal skip
Normally you have to travel to (4)Harlequin,
fight enemy ships,
then you pick up a distress signal from Mudd and travel to (5)Harrapa and beam over.
You can, however, directly go to (5)Harrapa.
Upon doing so, your crew will still tell you "We have arrived at Harlequin".
You can orbit and beam over - if you're too slow, dialogue will come up about enemy ships approaching.
I will check if this can be used in TAS.
I was able to contact Ilari on IRC.
ST 25th Anniversary uses CD-DA for the music. CD-DA is not emulated in JPC-rr.
So even if we could use the CD version of the game, it wouldn't help with the music.
He also said that the problem with getting the CD to work in the first place is that most of the floppy images of FreeDOS used for booting don't contain CD-ROM drivers.
I'm looking into seeing if I can make a boot image that would offer this functionality.
I'll keep you guys updated.
I found a few bugs, see my previous post.
The mission 4 one seems highly interesting. I will check if it has bad side-effects later.
The TAS is now in mission 4.
3min 30sec ahead of the speedrun.
@DrD2k9, thanks for your investigation.
I have also talked to Ilari and received the same information.
I'm sorry I didn't post about it.
UPDATE:
I've successfully created a FreeDOS boot image (based on the most recent FreeDOS 1.2 release) that automatically recognizes the CD drive for JPC-rr. As an added bonus, it loads ctmouse with the /r32 linear settings by default.
There are a few catches:
*The boot image is a HDD image, not a floppy image.
*Unfortunately, I still cannot get Star Trek to work properly.
Any progress is progress!
I'm going to try some other CD based games and see what I can accomplish.
MAJOR UPDATE (at least in my opinion it's major):
I've been playing around with getting CD games functioning in JPC-rr.
I've created a new FreeDOS boot image (HDD instead of floppy) that installs the CD-ROM driver.
Then I made a CD image of Warcraft (well the data portion at least--JPC doesn't support CD-DA discs).
I then assembled JPC with the following settings:
*The new FreeDOS boot image mounted in the hda slot
*A blank 256mb disk image mounted in hdb slot
*the warcraft data CD image mounted in the CD-ROM slot
*changed boot device to hda instead of fda
I was able to perform a full-install of the game from the CD to the blank drive and run it.
Further, I was able to then dump the drive with the installed game on it to a new disk image and then re-import that dump for a new mountable game image.
I can run the game from this new game image as well (even using the floppy FreeDOS boot image) as seen below: The mouse movement is weird on this because it uses the old floppy FreeDOS without the corrected ctmouse command.Link to video
Sorry about the odd sound (it may be resulting from using a different boot disk than what I installed with).
I don't yet know about games that need to access the CD drive for data during gameplay, but this is at least a good start.
In my opinion, this may be a big step toward getting many other games to work with JPC-rr.
Still can't get Star Trek to work though....but I'm not giving up yet.
Very nice, DrD2k9! Thanks for working on this. This knowledge will benefit us all.
Are you considering a Warcraft run?
And sounds like you're making great progress, MUGG. Keep chugging away, and a reminder to make sure everything is as you want it before moving forward.