eegt97 Posted January 5, 2007 Share Posted January 5, 2007 NightSprinter, These are also broken on the old version, so at least nothing was broken with carts with the update. I did see where the 128k versions of Baseball, Tank Command, Tower Toppler, and Water Ski work so at least there is another option with those games. I can see where OpenGL(Stella) and Direct3D(Visual Boy) have ways to set bilinear filtering but I don't see how DirectDraw does it and that's what is used in Prosystem. I'm sure there is a way to do it, I just can't find it. Maybe I can throw in a way to scale it in software so at least there's an option. -Brian Quote Link to comment Share on other sites More sharing options...
+stephena Posted January 5, 2007 Share Posted January 5, 2007 I can see where OpenGL(Stella) and Direct3D(Visual Boy) have ways to set bilinear filtering but I don't see how DirectDraw does it and that's what is used in Prosystem. I'm sure there is a way to do it, I just can't find it. Maybe I can throw in a way to scale it in software so at least there's an option. -Brian You shouldn't need to add an option to scale in software. DirectDraw handles the scaling, and will probably do so more efficiently than a home-made blitter anyway, since it's using the 3D hardware. In OpenGL, it's just 2 or 3 commands to change from one to the other. I haven't written much DirectX code in a long while, but I'm sure there's something similar. I removed all that code from Stella when it was ported to SDL, but I'm sure it's still in the CVS history, if you feel like looking. BTW, beware of starting a port; you'll be hounded until it has every possible feature. I think you're beginning to see that now I originally started on Stella the same way, by just adding bits here and there. That was in 2001 Quote Link to comment Share on other sites More sharing options...
eegt97 Posted January 5, 2007 Share Posted January 5, 2007 Your right, it's *dangerous* picking something up! I certainly understand the feature requests. Hell, I updated it so I could have joystick support myself. But definitely at some point very soon, I want to get back to my own project. I'll look a little more at the DirectX thing and maybe at your old Stella stuff and call it done for now... -Brian Quote Link to comment Share on other sites More sharing options...
Hackmann Posted January 6, 2007 Share Posted January 6, 2007 Good news! SDL is a lot easier to use than I remember. After a couple of hours of hacking, I've got ProSystem working on OS X to the point where it'll load Donkey Kong and play through a couple of levels. At this point, it's probably way too early to release any code -- there's no UI, I've only hooked up the keyboard input and graphics, and the display code is kind of an ugly hack. But it's looking promising at least. Unfortunately, I can't seem to take screenshots of SDL apps on OS X, so you'll have to take my word for it right now. Once I hook up the sound, I'll probably try it out on my Linux machine and see if I have any better luck getting a screenshot. Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 6, 2007 Share Posted January 6, 2007 BTW, beware of starting a port; you'll be hounded until it has every possible feature. I think you're beginning to see that now I originally started on Stella the same way, by just adding bits here and there. That was in 2001 SDL is a lot easier to use than I remember. After a couple of hours of hacking, I've got ProSystem working on OS X to the point where it'll load Donkey Kong and play through a couple of levels. You guys are making me think about porting Stella's debugger to ProSystem, or porting ProSystem's emulation core to Stella... how cool would that be? Quote Link to comment Share on other sites More sharing options...
Gregory DG Posted January 6, 2007 Share Posted January 6, 2007 Ya know, if you do nothing else eegt97, I'm extremely happy with joystick support and an accurate palette! If you happen to fix the Direct3D blurring, great, if not... I'm still 1,000 happier with this version than the previous one! Quote Link to comment Share on other sites More sharing options...
Trebor Posted January 6, 2007 Author Share Posted January 6, 2007 ...porting ProSystem's emulation core to Stella... how cool would that be? *Extremely* cool. And to Brian: Awesome work as always - thank you -Trebor Quote Link to comment Share on other sites More sharing options...
Hackmann Posted January 6, 2007 Share Posted January 6, 2007 I really have to give credit to Brian for separating out the emulation core from the OS-dependent layer. Considering how long it's been since I've used SDL, the porting process has been surprisingly smooth. My SDL port's still nowhere in a releasable state: the sound doesn't work right, the display code's still kind of a hack, and there's still no UI. But to give you a glimpse of what I've gotten working so far, I've attached a few screenshots of ProSystem running under Ubuntu Linux 6.10. I'm going to take a break for now; I'll probably try attacking the sound code in a day or two. Quote Link to comment Share on other sites More sharing options...
eegt97 Posted January 6, 2007 Share Posted January 6, 2007 Ya know, if you do nothing else eegt97, I'm extremely happy with joystick support and an accurate palette! If you happen to fix the Direct3D blurring, great, if not... I'm still 1,000 happier with this version than the previous one! No problem, it's frustrating since the blurring should be an easy thing to fix. I think that Hackmann is on to the better long term solution anyway by using SDL. I use it on my emu and it just make things easier to me. I made contact with Greg about the source and what his intentions were. He asked if I could send the binaries and source to him to post on his site as he seems pumped about the joystick update. He indicated he had been slowly working on another version but I didn't a real warm fuzzy about whether or not he would finish. Anyway, I sent him another email asking if he remembered the blurring, if not I'll probably just send what I have for him to post. And Trebor, thanks for your comments as always! Thanks, Brian Quote Link to comment Share on other sites More sharing options...
eegt97 Posted January 6, 2007 Share Posted January 6, 2007 I really have to give credit to Brian for separating out the emulation core from the OS-dependent layer. Considering how long it's been since I've used SDL, the porting process has been surprisingly smooth. My SDL port's still nowhere in a releasable state: the sound doesn't work right, the display code's still kind of a hack, and there's still no UI. But to give you a glimpse of what I've gotten working so far, I've attached a few screenshots of ProSystem running under Ubuntu Linux 6.10. I'm going to take a break for now; I'll probably try attacking the sound code in a day or two. That's sweet! Even just a command line version would be great to use with a frontend. And you don't need to thank me, Greg had already made it easy. -Brian Quote Link to comment Share on other sites More sharing options...
Hackmann Posted January 6, 2007 Share Posted January 6, 2007 That's sweet! Even just a command line version would be great to use with a frontend. Stage 1 is to get it working decently with a command-line interface. If I'm feeling brave, Stage 2 is to see if I can get wxWidgets + SDL to work (since I've always been tempted to try). And you don't need to thank me, Greg had already made it easy. Whoops! Well, anyway, thanks to him for the initial code. Quote Link to comment Share on other sites More sharing options...
Trebor Posted January 6, 2007 Author Share Posted January 6, 2007 (edited) I came across an issue with the controller code. I'll try to explain it as clear as possible. Here's a list of how my controllers appear under 'Game Controllers' under XP: They are setup as follows in order listed: Saitek P880 Pad - Store bought retail USB game controller. Saitek P880 Pad - 2nd controller same model/brand as above listed. Retr - 1st RetroUSB adapter NES to USB connect to an orginal model NES gamepad. Retr - 2nd RetroUSB adapter NES to USB connect to another original model NES gamepad. Retr - 3rd RetroUSB adapter Atari/C64 to USB connected to a new cloned original Atari 2600 controller. Retr - 4th RetroUSB adapter Atari/C64 to USB connected to another cloned original Atari 2600 controller. The "Retr" controllers specific for the NES work great under Nestopia and map without any issues. The "Retr" controllers specific for the Atari/C64 work great both under Stella as well as WinVICE without an issues. All controllers listed above map and work perfectly under MAME and MESS without any issues. In the order listed above, the controllers are recognized under those emulators as J1 thru J6 (aka Joysticks/Pad 1 thru Joystick/Pad 6). However, under ProSystem the Retr controllers do not map properly. ProSystem only utilizes the first "Retr" controller (1st NES controller), although all the "Retr" controllers appear listed in the same order under ProSystem Controller setup: No matter which "Retr" I select from the list it always selects the first "Retr" controller (1st NES controller) Here is the Prosystem.ini file with the 1st "Retr" controller (1st NES controller) mapped and working perfectly: ProSystem_Retr1mapped.zip This is a snapshot of how the 'Input' section appears: If I select any of the other "Retr" controllers from the list the above snapshot/files do not change. Is there anyway to correct this thru the current way controller setup is handle, or is there a way to implement the way MAME/MESS handles the controller devices? In other words, instead of select from a list of controllers and then select from a list of inputs a controller is capable of from a list of inputs, you rather select the input you desire, for example: Controller 1 Up, then actually perfom the action on the controller itself (Pressing Up on the desired controller), for it to register. Sorry, for the long winded post, but I hopefully made this as clear and understandable as possible. -Trebor Edited January 7, 2007 by Trebor Quote Link to comment Share on other sites More sharing options...
+stephena Posted January 7, 2007 Share Posted January 7, 2007 BTW, beware of starting a port; you'll be hounded until it has every possible feature. I think you're beginning to see that now I originally started on Stella the same way, by just adding bits here and there. That was in 2001 SDL is a lot easier to use than I remember. After a couple of hours of hacking, I've got ProSystem working on OS X to the point where it'll load Donkey Kong and play through a couple of levels. You guys are making me think about porting Stella's debugger to ProSystem, or porting ProSystem's emulation core to Stella... how cool would that be? Note that I'm not volunteering to do this right now, but the 2600 part of Stella is really contained in two classes, Console and TIA. The rest of it is CPU and processor emulation, and bankswitch types. If you could create similar classes for the 7800 (Console7800 and Maria?), and assuming there aren't too many differences in the other hardware, it's possibly feasible to integrate this stuff. However, I'm not a big fan of integrating different emulators together, since it often results in a "jack of all trades, master of none" situation. I look at Mess as an example of this. While it emulates many things, the standalone emulators are almost always better. This usually happens because the different systems are so different. But since a 2600 and a 7800 are similar, perhaps it can be done. If someone were really serious about this, and willing to dedicate the time, I'd definitely consider helping with it (assuming it would get approval from Brad). The Stella codebase is definitely well abstracted, and could probably handle it. And one could leverage the built-in GUI code, so that you didn't need to use an external widget library (wxWidgets, MFC, etc). Quote Link to comment Share on other sites More sharing options...
eegt97 Posted January 7, 2007 Share Posted January 7, 2007 However, under ProSystem the Retr controllers do not map properly. ProSystem only utilizes the first "Retr" controller (1st NES controller), although all the "Retr" controllers appear listed in the same order under ProSystem Controller setup: Try this, it saves by joystick index instead of name. Nothing automatic here, you have to set it up. Also, if you keep the ini file, you need to reset all controls to what you want. Might be best to delete Prosystem.ini and start over. I don't have multiple joysticks of the same type, so I couldn't verify that it solves the problem. -Brian Prosystem.zip Quote Link to comment Share on other sites More sharing options...
Ze_ro Posted January 7, 2007 Share Posted January 7, 2007 I'm looking forward to a polished SDL port... a GP2X version wouldn't be too hard after that --Zero Quote Link to comment Share on other sites More sharing options...
Trebor Posted January 8, 2007 Author Share Posted January 8, 2007 Try this, it saves by joystick index instead of name. Nothing automatic here, you have to set it up. Also, if you keep the ini file, you need to reset all controls to what you want. Might be best to delete Prosystem.ini and start over. I don't have multiple joysticks of the same type, so I couldn't verify that it solves the problem. -Brian P E R F E C T ! Works like a charm: Once again Brian - You the man!!! -Trebor Quote Link to comment Share on other sites More sharing options...
Danno Posted January 8, 2007 Share Posted January 8, 2007 I'm looking forward to a polished SDL port... a GP2X version wouldn't be too hard after that --Zero Which would mean that a PSP port would be right behind it. Quote Link to comment Share on other sites More sharing options...
Danno Posted January 11, 2007 Share Posted January 11, 2007 I'm looking forward to a polished SDL port... a GP2X version wouldn't be too hard after that --Zero Which would mean that a PSP port would be right behind it. Zx-81, who coded teh PSPatari 800XL/5200 emulator for the PSP is currently taking a look at the Prosystem source code to see if a PSP version is feasible. Nice. Quote Link to comment Share on other sites More sharing options...
Danno Posted January 14, 2007 Share Posted January 14, 2007 Released Beta: http://forums.qj.net/f-zx-81s-homebrew-rel...tml#post1318955 Quote Link to comment Share on other sites More sharing options...
Hackmann Posted January 15, 2007 Share Posted January 15, 2007 (edited) I've attached an early, alpha-quality port of ProSystem to SDL. Since there's no real UI, most of the options are configured through ProSystem.ini (which is created the first time you run ProSystem) and can't be changed at runtime. The controls are currently hard-coded to the Windows version's default keys, and joystick isn't supported yet. There're also occasional skips in the audio. If you're not scared off yet, then I'd appreciate anyone who can give it a test. It seems to work fine on Ubuntu 6.10 AMD64 and OS X 10.4.8, but in principle it should work on any OS supported by SDL. If work permits, I'll fix up the input code later this week, and maybe even take a crack at a wxWidgets GUI. (Edit: for some reason, the board software doesn't think I actually mean it when I try to attach a .tar.bz2 file, so I've added a .zip extension to the end. Be sure to rename it after downloading it!) prosystem_sdl.tar.bz2.zip Edited January 15, 2007 by Hackmann Quote Link to comment Share on other sites More sharing options...
Tom Posted January 16, 2007 Share Posted January 16, 2007 Works ok so far on my Debian box. One thing I noticed and really annoyed me: You're writing ProSystem.ini to the current directory, and when one launches the program from another working directory again, that directory will end up with a ProSystem.ini too. Quote Link to comment Share on other sites More sharing options...
Hackmann Posted January 16, 2007 Share Posted January 16, 2007 Whoops -- I forgot that the location of the configuration file was hardcoded. I've hacked together a small change to Console.cpp which writes the configuration file to ~/.prosystemrc on UNIX and OS X -- it's still hardcoded, but at least it goes somewhere useful. Drop it in the sdl/ directory and recompile. I'll figure out something better (e.g., letting you control the location of the config file with a command-line parameter) once I deal with the input code. (Note: again, the attachment has an extraneous .txt extension, since apparently .cpp files are forbidden.) Console.cpp.txt Quote Link to comment Share on other sites More sharing options...
Tom Posted January 17, 2007 Share Posted January 17, 2007 (edited) I've hacked together a small change to Console.cpp which writes the configuration file to ~/.prosystemrc on UNIX and OS X -- it's still hardcoded, but at least it goes somewhere useful. This is perfectly OK, and should imo be left in as default location for the configuration file. Edited January 17, 2007 by Tom Quote Link to comment Share on other sites More sharing options...
Danno Posted January 17, 2007 Share Posted January 17, 2007 How's the compatibility on the linux boxes? Is it running Ninja Golf, Mean 18, Ace of Aces, or Kung-Fu Master correctly? The PSP port taht Zx-81 did has some spotty compatibility problems, and if this one doesn't, it might be easier to port from a Linux port than the conversion he made from Windows. Quote Link to comment Share on other sites More sharing options...
Tom Posted January 17, 2007 Share Posted January 17, 2007 (edited) Haven't tested these ROMs yet, but considering the fact that both emulators originate from the same code base it's likely that Hackmann's Version has the same problems. Edited January 17, 2007 by Tom Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.