Jump to content
IGNORED

New Multiplayer Atari 2600 Emulator


Paulo Peccin

Recommended Posts

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

  • Like 2
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 >>>>>>>>>>>>>

Link to comment
Share on other sites

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 by Paulo Peccin
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by Paulo Peccin
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...