Posts for slamo


1 2
7 8 9
16 17
Post subject: Re: First TAS, learning JPC-RR (Prince of Persia)
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
DavidN wrote:
The way I understand it - is this all correct? - A "movie" in TAS terms is not a video file like it sounds, but a list of recorded keyups/keydowns/etc that you piece together using a TAS-appropriate emulator. - The emulator records these key inputs as you play or step through the game, and you can "rewind" to a previously saved state at any time and re-record from there. - To get the final TAS, you set the emulator going and play back the movie (i.e. set of keypresses), dumping the screen output to disk to eventually transform into a video file.
This is the right general idea.
So I think I'm on my way, though there are a couple of things I'm unsure about: - Can you alter the amount of time in ticks/ms that pressing F will skip forward? Prince of Persia runs at ~12fps, and hitting F five times per frame is beginning to give me RSI :) - Giving input to the game as I step through seems to be a rather cumbersome process of switching focus to the onscreen keyboard, pressing the key down, making sure the emulator window is focused again and hitting F to advance. Is there a faster way - perhaps by sending a frame-advance signal to the emulator without the window having to be focused?
Both of these can be solved by customizing the menu. If you look in the datafiles folder you'll see a file just called "extramenu". This is a list of commands you can customize in the "Extra" dropdown menu in JPC-rr. You'll notice there are already some hotkeys to toggle certain keys so you don't have to go back to the keyboard window, and you can add some more if you want by using the same format as the other hotkeys (list of key numbers is here: http://tasvideos.org/EmulatorResources/JPC/KeyNumbers.html ). You can also customize a hotkey to advance the emulator by a certain amount of time. Copy the format of "Run 0.2s" and just change the hotkey and value after "trap-timed" to whatever you want (the time is in nanoseconds).
- Is there a way to step backwards or do I have to just be more careful about when I choose to save state? :)
You can't step backwards, but you can make snapshots that you can run the movie from instead of just playing the whole movie back. The way I do this is I save a snapshot, advance a frame, and then overwrite all of my hotkeyed savestates after that. From there you can TAS normally, and if you want to play back everything after the snapshot you made, load it with the option "Snapshot (preserve events)". You have to be careful about doing this, because the rest of the TAS must derive from that snapshot if you want to play it back from there, but if you use my method you shouldn't have any problems. Good luck, and there are plenty of us to help you out with this difficult emulator, so just let us know if you have any more questions.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
It was requested that I test out a few DOS games that didn't work in JPC-rr, so I made a video. Setting this up is fairly easy, and it's the same hardware as the Win98 setup, just with the 75 MHz Pentium. I booted off the standard JPC-rr FreeDOS disk and it had no complaints. Note the set blaster line - you must set the IRQ to 7, or else there will be some conflicts. Link to video
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Flash Player 9 works in Windows 98, so I tried out some Flash games. Link to video They all work, but not very well. Very laggy with lots of missed/held inputs. EDIT: I should mention some details: this is running on the Pentium MMX 233. It's running at 100% most of the time, with it dipping down into the 60s during some gameplay, especially in Super Meat Boy.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
A couple of thoughts on PCem: * Incredibly easy to use. The menus are all easy to follow and setting up the hardware is very simple. * You need a pretty good PC to run the best processors available on it. I'm finding some audio choppiness if I run at 233 MHz, and this is the result of my computer running PCem slowly, not PCem running the game slowly. Lowering the processor speed can make some games more playable. * File management is extremely simple. Nothing weird like chd files. PCem uses .img files that can be opened, added to, and extracted from in WinImage. Floppies and CDs can be mounted easily via menus during emulation. Some things I tried: * Diablo 2 - Runs perfectly fine. Had some audio choppiness but I lowered the CPU speed and that fixed it. * Lego Racers - Predictably, it runs perfectly. FMVs and gameplay run fine. * Deus Ex - Playable on lower CPU speeds, but the framerate isn't perfect. Upping the CPU speeds improves the in-game framerate but slows the game down for me (runs at 60-70%) * Game Maker games - I tried a few old indie games too. Anything made with Game Maker 6 and beyond won't work because it needs DirectX 8 and I believe no available display card supports that. Older Game Maker games run ok, like Jumper, Jumper 2, and Iji, but newer ones like Runman and Spelunky don't. * Clickteam games - Knytt works, and even later MMF games like Within a Deep Forest run fine. I haven't tried anything older but I imagine those work too. I will try Flash games at some point.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I'm waving the white flag on Flash in Linux in MAME. There are too many technical difficulties in trying to run it on a 486, and even if it were to run, it would be extremely slow and the setup would take a very long time. I'm sure there are better options out there.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Update on the Flash front: I was unable to get a standalone flash player running on DSL, and I believe it's not possible due to some uninstallable packages on this version of Linux, even with the lowest standalone version (9). In the process I did figure out how to connect Linux to the internet inside MAME (some of the slot options are network cards), which made the package installation process not utterly tedious. This doesn't mean that some other distros won't run it. I'm going to try the Red Hat installation from the tutorial next.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I've been trying to run the flash player in Damn Small Linux and ran into the same issue. I'm going to try to install a higher version of the library into the OS and see what happens, but I'm not at all familiar with Linux so this is taking a while. If we can get this working, I feel like DSL is a good option because it's relatively small and runs ok on a 486.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I tested this but never posted about it: Windows 3.1 runs just fine in MAME. Sound works, MIDIs work. Early Windows games will become TASable if rerecording is added. Link to video I'll try running the Flash games once I get everything set up.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I tried at486 with this version of MESS and it's not really working properly. It's one of those ROMs that pops up with a message that it's not completely supported yet. If I try to load it with one of my .chd files it comes up with some indecipherable error message, and if I load it with just the boot disk it doesn't even let me change A: to a floppy drive in the BIOS.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I found this page, which is somewhat helpful in figuring out slot options. http://www.progettoemma.net/index.php?gioco=ct486&lang=en There aren't too many details on what each of these modules are, but searching for each name in the MAME source code should illuminate all of them. It supports numerous graphics cards and sound cards, so getting every DOS game to run shouldn't be a problem. It also shows you can convert the floppy drives to 5.25", and there's even an ISA to IDE adapter so you can possibly add more drives.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
This was requested, so here's a step-by-step tutorial. Creating and using a hard drive image for MAME in Windows This will tell you how to create a virtual hard drive and convert its contents into a .chd file to use in MAME. 1. Open up Disk Management. How to do this will vary depending on your version of Windows, but generally opening a "Run" prompt and typing "diskmgmt.msc" will work. 2. In the menu, click on Action -> Create VHD. It will open up a window called "Create and Attach Virtual Hard Disk". Put in whatever name and location you want for the .vhd file. Also enter the size you want the drive to be, but keep in mind FreeDOS will have issues with larger drives. Leave everything else as it is and press OK. 3. You should now see a new disk in the Disk Management window with the size that you specified. It will say "Disk x", with "x" being a number that depends on how many hard drives you already have loaded. Make note of this number, as it will be important later! Right click this new disk and click Initialize Disk. In the next window, select MBR (Master Boot Record) and click OK. 4. Now right click where the new disk says "Unallocated" and click on New Simple Volume. This will open the New Simple Volume Wizard. Click next until you have to assign a drive letter, and give it whatever drive letter you want. In the Format Partition section of the wizard, make sure you format it under the FAT file system. You can also name the volume whatever you want. Click Next and then Finish. 5. You're done with Disk Management now, and you should have a new drive available with the drive letter, size, and volume name that you specified. Open it in file explorer and copy over whatever files you want into it. 6. You'll now want to go into a command prompt and get to your MAME folder. Make sure you have chdman.exe in this folder, as it's the utility you need to make .chd files. In the command prompt, put in:
chdman createhd -o name.chd -i \\.\PHYSICALDRIVEx -c none
A couple things you'll have to change here: for name.chd, that will be your file name, and you can change that to whatever you want. Also, remember the disk number from step 3? Put that in after PHYSICALDRIVE (eg if it said Disk 1, put in \\.\PHYSICALDRIVE1). The "-c none" parameter means that the drive will not be compressed, which you need to specify, otherwise ct486 won't like it. Run the batch file and it will make your .chd file. You don't need to specify cylinders or anything like that, chdman will figure that stuff out for you. 7. You now need to get ct486 to recognize your new drive. In the batch file you use to launch MAME with ct486, load in the new .chd with either -hard1 or -hard2. If you have not already created a batch file, find yourself a boot floppy image and just use the following:
mame64 ct486 -ramsize 64M -hard1 name.chd -flop1 floppy.img
Run the batch file and launch MAME. 8. While the memory is initializing, hit the DEL key to open setup. If this is your first time booting, you will be forced to open it anyway. Choose "Auto Detect Hard Disk" and let it look for your new drive. It will find it in the C drive if you chose hard1 or D if you chose hard2. After it's detected all the hard drives you loaded, escape from this screen. If this is your first time booting ct486, you'll definitely want to go to Standard CMOS Setup and assign drive A to match the floppy size you used for the boot disk. You also want to go to Advanced CMOS Setup and change the System Boot Up Sequence to "A:, C:" so that it boots from the floppy first. 9. Select Write to CMOS and Exit and the system will reboot. Once the system is booted go to C: or D: to make sure your files are there. If so, congrats!
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
feos wrote:
Slamo, can you make a MAME recording of you playing Quake with SB16?
Link to video You'll notice it takes a while to load up. It's all functional, though.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Hee hee. Quake runs in it. Not very quickly, but it runs. I wonder if there's a way to up the clock speed. I got sound working too. It turns out MAME already has Sound Blaster support built in there somewhere. To activate Sound Blaster 16 just throw this parameter into your launch batch file:
-isa5 sblaster_16
And put this in your autoexec.bat or just manually put it into the command prompt:
set BLASTER=A220 I5 D1 H5 T6
(is it bad that I can type that from memory now?)
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I got Monster Bash to run on this. No sound yet, but I'll get to that next. Most importantly I figured out how to import your own hard drives into MAME. There's a "chdman" utility that comes with MAME that you can use to create hard drive images. Now it doesn't allow you to import folders directly, but if you create a virtual hard drive and put your files in there, it will happily convert that volume to a chd file. It MUST be FAT formatted and you have to specifically tell chdman not to compress it, or else it won't work. When you're in the CMOS setup you can ask it to auto-detect hard drives, so you don't have to manually enter the cylinders and all that stuff. This page helped me figure it out: http://www.thekillerinstinctproject.com/kiproject/chdman.html
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I'm in the same boat as DrD2k9. I've never used MAME in my life, but if this is a way to get DOS into Bizhawk, then I'll do whatever it takes. Good thing I have a long weekend coming up. I noticed all the posted videos use PC speaker, so we'll have to see if we can get proper sound working in this as well.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I should have been clearer about this, but my primary goal is not to create a playaround, but rather finishing one player mode as fast as possible. This might not square with my desire to increase the CPU divider, but I feel like increasing the CPU speed is a superfluous way to save time (there is precedence for this, as increasing CPU speed lowers loading times in other games) and the lower speed will not only make the run more watchable, but it will also make the TASing process less tedious. I also feel like the speedrun goal will still be entertaining. The combination of the difficulty, the AI randomness, and the robot variety should make each battle fairly different and not just spamming the same move over and over again. I want to thank everyone that's given feedback so far. Here are the options I want to go with: * Fight mode - Hyper: Like Radiant said, this should obviously be enabled since it improves the special moves. * CPU - Ultimate: There was a pretty strong consensus on this, so the highest difficulty will be unlocked. * One round per fight: For a speedrun this seems like a no-brainer. Since I have the blessing of Nach I want to go all out with the advanced options. Here's what I'm thinking, I'm not overly familiar with fighting games, so let me know if any of these are stupid: * Rehit mode ON: This lets you juggle enemies in the air, as long as you keep hitting them with different moves. Should be fun to have on. * Throw range 0%: I'm not sure about this one. My guess is that disabling throws will make the fights faster since they take up more time. I might change this one after testing. * Jump height 80%: Minimizing the jump height should give more time to hit the opponent? * Hit pause 0: Removes any slowdown during hits or blocks, should definitely be set to zero. * Vitality 80%: Will minimize the amount of health the opponent has. * Knock down NONE: Will cause knockdowns after certain hits. Probably don't want this. * Block damage 35%: Lets you cause damage through blocks, this should help if the AI is being stubbornly defensive.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
DrD2k9 wrote:
slamo wrote:
Some more failures: Monster Bash (Tried this a long time ago, never posted it. Runs at about half-speed for some reason)
During assembly, setting the system to force 60 fps under 'VGA frame rate method' speeds up Monster Bash. But it still doesn't emulate at normal speed. Think this is a BIOS issue or an emulator issue?
I think it's pretty safe to say that any issue in running a game in JPC-rr is an emulator issue. I'm not sure it's worth trying to run anyway because I had serious sound issues (brown note during intro, plus it needs EMS for good sound)
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Well, here's my test encodes of the two CPU speeds I tried. (ignore the artifacts, they don't show up in the emulator) Default CPU divider: Link to video Higher CPU divider: Link to video I think the second one is more watchable and is closer to how I remember playing the game, personally.
Patashu wrote:
Is a symmetrical effect (both players die faster) considered to 'make the game harder'?
I would say this is a lateral move in terms of difficulty, since it applies to both players.
Post subject: One Must Fall 2097
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I've been looking into doing One Must Fall 2097, which works now that the DOS extender crap has been figured out. If you're not familiar with it, it's a highly customizable fighting game with giant robots. The problem with the amount of customizability is that it's tough to nail down a good standard for how to set it up. I'm looking for feedback on a few things. The only reference I have is the speedrun.com page, in which they've recently taken interest in the game and set up some standards (some I agree with, some I don't) * Game speed: I think I have this one about figured out, but feedback is welcome anyway. OMF2097 is highly influenced by CPU speed - just go into DOSBox and play around with cycles to see how extreme it is. I did a test run at the default CPU divider and found it to be a little too fast for my liking. The speedrun community has a standard of 14500 cycles in DOSBox, which seems to be a good watching speed. I used a DOS benchmarking utility in DOSBox with their configuration and then fiddled with the CPU divider in JPC-rr until I matched the DOSBox benchmark. The game now runs at about the same speed as the other speedruns, but if you have a different opinion on this let me know. * Difficulty: The community uses Champion difficulty, which is the highest you can set it without codes. However, there are button combinations that can unlock higher difficulties. The submission rules say that this is allowed so I'm leaning towards doing the highest unlockable difficulty. * Number of rounds: The community uses the "best of 3" format. I think that's kind of arbitrary, other than being the default setting. Since this is a speedrun I think it makes sense to just do one round per fight. * Nova: Nova is an uber-robot that would obviously be the fastest robot to use, but it's only unlockable via a code in the selection screen. I'm leaning towards not using this, at least not in a standard any% run. * Advanced options: There is a special options screen that you can access either through a command line parameter or via a code in the main menu. I don't know if this is permissible or not, it would be nice to have a judge weigh in on this. If it's allowed, there are a few settings in here that would shorten fights, such as lowering everyone's vitality and allowing for some damage to pass through blocks. These settings are designed to not cheapen the game too much (for example, vitality can only be set as low as 80%, not 1% or something stupid), but I still don't know if tinkering with the game parameters like this would be allowed. So you can see there's a lot to think about. Any feedback would be appreciated, even from people who have never played this game before.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
MUGG wrote:
I don't know what any of this means and I'm not sure how to set it up, but just letting you know I had trouble getting Mice Maze to run in the past because of some error. I wonder if this breakthrough fixed the error...
I took a look at it and it's not DOS4GW related. You'll know if it is because a couple lines about DOS4GW will show up in the command prompt. Mice Maze looks like it has some issues with the FPU and it also uses some invalid instructions, so there's nothing that can be done at this time.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Abuse doesn't work, unfortunately. It uses DOS4GW but even with the new method it throws processor exceptions.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
DrD2k9 wrote:
Awesome work! Any idea if this will change the games' behaviors at all?
I haven't tested it enough, and I doubt anything would change, but we'll see what happens. The games I got working at least appear to be running properly.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Relevant thread I just made: http://tasvideos.org/forum/viewtopic.php?p=469654#469654 I've gotten Wacky Wheels and One Must Fall 2097 to work properly using this method. Some other games hang up on loading screens, but at least we can get a little more out of this.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
I've had a bit of a breakthrough with running some games in JPC-rr. This is not a solution to every game, but it's opened up a few more possibilities. Some games use the DOS4GW extender, which JPC-rr doesn't always seem to agree with. However, there's an extender that actually works: http://dos32a.narechk.net/index_en.html To use this, delete the existing DOS4GW.EXE file, copy over DOS32A.EXE, and rename it DOS4GW.EXE. Then you can import the image with the new extender. (If the game has DOS4GW built into its executable, you can force it to use DOS32A by doing "DOS32A xxxxxxxx.EXE") I've successfully gotten a couple games to work that didn't work before. This will cause some games to boot and then get hung up on loading screens, but it's a good start.
Experienced Forum User, Published Author, Reviewer, Expert player (2394)
Joined: 5/21/2013
Posts: 414
Some more failures: Monster Bash (Tried this a long time ago, never posted it. Runs at about half-speed for some reason) Creepers (Also tried a while ago. Kind of works, but arbitrarily freezes sometimes) Elder Scrolls: Arena (needs EMS. Try running EMM386 in JPC-rr for a fun message) System Shock (int 15h) The Incredible Machine (no idea? Just a black screen with no error messages)
1 2
7 8 9
16 17