Paulo Peccin Posted April 20, 2012 Share Posted April 20, 2012 Hello, I would like to introduce a new 2600 Emulator that I created: http://javatari.org Its a relatively new project, but is already working pretty decent. Open source and pure Java based, so it is multi-platform. It has some unique features like a network multiplayer mode and a nice console-like GUI. Any feedback is appreciated! Regards, Paulo 2 Quote Link to comment Share on other sites More sharing options...
trent Posted April 20, 2012 Share Posted April 20, 2012 Cool! Haven't had much time to play with it yet, but I notice I'm having a bit of difficulty with most games. Can't get any over 4k to work. Does the emulator not support bank switching? Can't wait to try out multiplayer mode! Quote Link to comment Share on other sites More sharing options...
snstay Posted April 20, 2012 Share Posted April 20, 2012 i just downloaded it and tried it out. works pretty good but i cant seem to find the ire button. Still cool though! Scott Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 20, 2012 Author Share Posted April 20, 2012 Cool! Haven't had much time to play with it yet, but I notice I'm having a bit of difficulty with most games. Can't get any over 4k to work. Does the emulator not support bank switching? Can't wait to try out multiplayer mode! Not all bankswitching methods are supported, but you should have no problem to launch about 95% of the roms... Which ones you tried and are not working? Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 20, 2012 Author Share Posted April 20, 2012 i just downloaded it and tried it out. works pretty good but i cant seem to find the ire button. Still cool though! Scott The controls are explained in the project webpage: http://javatari.org and in the readme.txt file. The fire button is "Space" or "Insert" or "Delete" for Player1. For Player2 the fire button is "A". You can switch P1 and P2 controls with "ALT-J". Regards, Peccin Quote Link to comment Share on other sites More sharing options...
snstay Posted April 20, 2012 Share Posted April 20, 2012 Yeah i know now lol. I downloaded it without scrolling down for the instructions. Just gose to show read everything first. Thanks Scott Quote Link to comment Share on other sites More sharing options...
maiki Posted April 20, 2012 Share Posted April 20, 2012 Your emulator does not start on my computer. I have Java installed (You have the recommended Java installed (Version 6 Update 31).) Windows XP SP3. Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 20, 2012 Author Share Posted April 20, 2012 Your emulator does not start on my computer. I have Java installed (You have the recommended Java installed (Version 6 Update 31).) Windows XP SP3. Hi maiki, Can you please send me some additional info? Any error message that appeared? Is your computer really launching the executable JAR file? Maybe you try to run the emulator via command line, so you can see what error messages are shown: java -cp javatari.jar main.Standalone Thank you, Peccin Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted April 20, 2012 Share Posted April 20, 2012 Are there any restrictions on the ROM file names? For example-- no spaces, no extra periods (e.g., program.bas.bin), no parentheses or other "special" characters? Quote Link to comment Share on other sites More sharing options...
maiki Posted April 21, 2012 Share Posted April 21, 2012 Maybe you try to run the emulator via command line, so you can see what error messages are shown: java -cp javatari.jar main.Standalone Thank you, Peccin Now it works! But if I double click on that JAR file nothing happens. This is what it wrote when launched from a command prompt: Microsoft Windows XP [V. 5.1.2600] © Copyright 1985-2001 Microsoft Corp. java -cp javatari.jar main.Standalone Sound Mixer Line: com.sun.media.sound.DirectAudioDevice$DirectSDL@147c5fc Sound Output buffer: 1024 Sound Input buffer: 1536 Could not create desired BufferStrategy. Switching to default... Backbuffer accelerated: true PageFlipping active: false Fetching Cartridge file: Fishing Derby (1980) (Activision) (PAL) [!].bin Fetching Cartridge file: Space Jockey (1982) (Carrere Video) (PAL) [!].bin Fetching Cartridge file: Sky Jinks (1982) (Activision) (PAL) [!].bin <<<<<<<<<<<< EXIT >>>>>>>>>>>>> Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 (edited) Maybe you try to run the emulator via command line, so you can see what error messages are shown: java -cp javatari.jar main.Standalone Thank you, Peccin Now it works! But if I double click on that JAR file nothing happens. This is what it wrote when launched from a command prompt: Microsoft Windows XP [V. 5.1.2600] © Copyright 1985-2001 Microsoft Corp. java -cp javatari.jar main.Standalone Sound Mixer Line: com.sun.media.sound.DirectAudioDevice$DirectSDL@147c5fc Sound Output buffer: 1024 Sound Input buffer: 1536 Could not create desired BufferStrategy. Switching to default... Backbuffer accelerated: true PageFlipping active: false Fetching Cartridge file: Fishing Derby (1980) (Activision) (PAL) [!].bin Fetching Cartridge file: Space Jockey (1982) (Carrere Video) (PAL) [!].bin Fetching Cartridge file: Sky Jinks (1982) (Activision) (PAL) [!].bin <<<<<<<<<<<< EXIT >>>>>>>>>>>>> Good it worked! Maybe your computer is not configured to launch JAR files on double-click. Peccin Edited April 21, 2012 by Paulo Peccin Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 Are there any restrictions on the ROM file names? For example-- no spaces, no extra periods (e.g., program.bas.bin), no parentheses or other "special" characters? Not that I know of... :-) But I did not test all possible scenarios. Anything the "File Open" dialog is able to open should work. Peccin Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted April 21, 2012 Share Posted April 21, 2012 Are there any restrictions on the ROM file names? For example-- no spaces, no extra periods (e.g., program.bas.bin), no parentheses or other "special" characters? Not that I know of... :-) But I did not test all possible scenarios. Anything the "File Open" dialog is able to open should work. Peccin The reason I asked is because some programs work fine, but others don't. I tried renaming a program, but it didn't make any difference. One possibility-- the emulator doesn't handle "illegal" opcodes yet? Yes? No? One of my little demo programs, written and compiled with batari Basic, doesn't run correctly at all, and the batari Basic compiler includes illegal opcodes. Although on second thought, I don't see how that's the problem, because my demo is written using inline assembly, so I know its main kernel doesn't include any illegal opcodes. Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 Are there any restrictions on the ROM file names? For example-- no spaces, no extra periods (e.g., program.bas.bin), no parentheses or other "special" characters? Not that I know of... :-) But I did not test all possible scenarios. Anything the "File Open" dialog is able to open should work. Peccin The reason I asked is because some programs work fine, but others don't. I tried renaming a program, but it didn't make any difference. One possibility-- the emulator doesn't handle "illegal" opcodes yet? Yes? No? One of my little demo programs, written and compiled with batari Basic, doesn't run correctly at all, and the batari Basic compiler includes illegal opcodes. Although on second thought, I don't see how that's the problem, because my demo is written using inline assembly, so I know its main kernel doesn't include any illegal opcodes. Humm.... No, it still does not support illegal opcodes. Does the ROM you are trying use bankswitching? Which method? Can you send me the ROM? Can you try running the emulator via command line as explained above so you can see the log messages? Maybe it will tell us a little more if you turn "Debug mode" on. Just press "ALT-D" and the emulator should throw more messages to the log. Of course, if it is not completely crashed! :-) Peccin Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 Guys thank you for all the feedback! Please keep it coming! But please bare in mind that you are the first people testing this emulator. And the very first people that really know about the subject. Until last week, it was only myself throwing some ROMs at it to see if it worked as I was developing it. The emulator had not seen the "world" until 2 days ago! I am sure there are many scenarios that the emulator has not yet been exposed to. It is still a newbie. :-) I started this project motivated by pure pleasure in programming and passion for old game consoles. And for the challenge. I was not even an active member of this forum before, and did not know much about the 2600 architecture before I started, so I really am a new kid on the block. I did not imagine it would even come this far! And I am very happy about it. There are many things still to be tested, tuned and implemented. And excuse me about my English. I am not a native English speaker. Peccin Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 21, 2012 Share Posted April 21, 2012 I just tried it and the sound effects don't seem to be all messed up like they are with . Will this be able to work online? If so, if you can get it to work with games like Seaweed Assault, I could put Seaweed Assault on my Seaweed Assault page and let people play it right on my web site. Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 I just tried it and the sound effects don't seem to be all messed up like they are with . Will this be able to work online? If so, if you can get it to work with games like Seaweed Assault, I could put Seaweed Assault on my Seaweed Assault page and let people play it right on my web site. Yes, it could work! First I have to convert the GUI of the emulator to an applet format. I see your ROM is 32K. Which bankswitching method do you use? Is it like the more common ones? Peccin Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 21, 2012 Share Posted April 21, 2012 I see your ROM is 32K. Which bankswitching method do you use? Is it like the more common ones? I use "32kSC" in the game code, but I'm not sure what the official method is called. It might be F4SC, but maybe someone with more brains can verify that. Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 Cool! Haven't had much time to play with it yet, but I notice I'm having a bit of difficulty with most games. Can't get any over 4k to work. Does the emulator not support bank switching? Can't wait to try out multiplayer mode! trent, The cartridge format detection of the emulator is still very simple. It only supports the most common BANKED formats from 2K up to 16K. Now Im adding 32K support for Random Terrain... :-) If your ROM uses the "sliced" bankswitching method, you must add "[sLICED]" to the filename or it will not work. The same goes for PAL ROMs. You must add [PAL] to the filename, or you can switch video standards in real time via "ALT-V". Peccin Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted April 21, 2012 Share Posted April 21, 2012 Can you send me the ROM? Sure, it's attached. It displays "480 colors" by mixing the 128 NTSC color palette. I think I was wrong about the illegal opcodes-- I forgot that I call the "SLEEP" macro to sleep for an odd number of cycles, which means (since I didn't include the "no illegal opcodes" option) that it uses at least one illegal opcode. 480Colors.bin Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 21, 2012 Author Share Posted April 21, 2012 (edited) Sure, it's attached. It displays "480 colors" by mixing the 128 NTSC color palette. I think I was wrong about the illegal opcodes-- I forgot that I call the "SLEEP" macro to sleep for an odd number of cycles, which means (since I didn't include the "no illegal opcodes" option) that it uses at least one illegal opcode. 480Colors.bin I see... So the illegal opcodes must be the problem here. You know, I thought that illegal opcodes were not used that much. :-( Until now I only tested the emulator with commercial titles. I should add support to them. And by the way, what you mean with "no illegal opcodes option"? Are you generating the program with some kind of compiler, script, engine, or something like that? Thank you! Peccin Edited April 21, 2012 by Paulo Peccin Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted April 22, 2012 Share Posted April 22, 2012 You know, I thought that illegal opcodes were not used that much. I don't know how common they were back in the day, but some of them are rather popular with homebrew programmers because of their usefulness. And by the way, what you mean with "no illegal opcodes option"? Are you generating the program with some kind of compiler, script, engine, or something like that? I compile my batari Basic programs with the batari Basic compiler, and my assembly programs with the DASM assembler-- which is also what batari Basic uses to assemble the compiled code into machine language. DASM doesn't have a "no illegal opcodes" option per se, since it will assemble whatever opcodes you use in your programs. However, the SLEEP macro (written by Thomas Jentzsch) will use the illegal opcode instruction "NOP 0" to wait 3 cycles-- unless you define a "NO_ILLEGAL_OPCODES" constant in your program, in which case the SLEEP macro will use the "BIT VSYNC" instruction to wait 3 cycles. Since I did *not* define a "NO_ILLEGAL_OPCODES" constant in my program, each time I used the SLEEP macro to wait for an odd number of cycles it caused a "NOP 0" instruction to be used. Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 23, 2012 Author Share Posted April 23, 2012 Ok SeaGtGruff, thanks. I never tested a Batari-generated ROM before. I guess I will have to add illegal opcodes support for the to start working. Peccin 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 23, 2012 Share Posted April 23, 2012 Thanks for working on this. This is the kind of higher quality online emulator I've been waiting for. 1 Quote Link to comment Share on other sites More sharing options...
Paulo Peccin Posted April 24, 2012 Author Share Posted April 24, 2012 (edited) Guys, do you think my emulator could enter the list of Atari 2600 Emulators here at AtariAge? It is mentioned at Wikipedia already! :-) Peccin Edited April 24, 2012 by Paulo Peccin 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.