Atari800 V0.7 Emulator Released


DaveC

Internal Development
Joined
Mar 4, 2004
Messages
9,208
Another update to this great emu.

Nice splash screen. Antiriad, by the way I like splash screens such as this one where it shows a picture of the system(s) emulated. In my opinion they should all have this theme.

I was a bit confused as there are two versions in the archive. It looks as if they are for different clock speeds, but you have clock speeds selectable now. So what is the difference between the two versions?
 
DaveC posted on Sep 29 2004 at 04:32 AM said:
I was a bit confused as there are two versions in the archive. It looks as if they are for different clock speeds, but you have clock speeds selectable now. So what is the difference between the two versions?

The a800e has cycle exact emulation, but it is slower. A few demos/games do colour changes or move sprites during the drawing of a scanline. This only works properly on the cycle exact version.

So in general you want the a800l one... Unless you are into looking at the old demos.

Thanks,

Mark
 
Last edited by a moderator:
The problem is that if you are using Freelauncher, you can't tell which one is which.

I know - I need to upgrade my firmware, but I'm not sure which one to try...
 
edit: found it myself

Splashscreen by Antiriad
Clock speed selection
Switched to better compiler build/flags (10% faster ish)
Fast forward support (hold left shoulder in default/5200 menu)
State file management (startup in state, rename, delete)
Restructured menu a bit
Fixed a few bugs...

http://www.scrameta.net/a800.html
copy pasted from http://www.gamikaze.org/board/viewtopic.php?t=1560


gruntfuggly: slubmans is really nice :)
 
foft posted on Sep 29 2004 at 07:04 AM said:
DaveC posted on Sep 29 2004 at 04:32 AM said:
I was a bit confused as there are two versions in the archive.  It looks as if they are for different clock speeds, but you have clock speeds selectable now. So what is the difference between the two versions?

The a800e has cycle exact emulation, but it is slower. A few demos/games do colour changes or move sprites during the drawing of a scanline. This only works properly on the cycle exact version.

So in general you want the a800l one... Unless you are into looking at the old demos.

Thanks,

Mark

Oh I get it. Would it be hard to have cycle exact menu selectable? Also do you think it is possible to eventually have cycle exact run full speed at FS0 at 133 ? Or will that be too much work/rewriting, or is the GP32 not powerful enough?

One suggestion, when you do a change system in the menu it would be nice if it autoloaded the keymap. So for example when you change system to 5200 it would automatically load the default 5200 keymap. You could still change to a custom keymap but then you would do it manually like now to override the default.

Also it would be nice when you do a run .bin file directly it would automatically do a reboot and start the game after ROM is selected.

Awesome emu by the way. It really fills a nice niche. It is really great to have 5200 console stuff too. Now all we need is 2600 to have the complete Atari line*.


*Cool off flamers, I am not suggesting anything, just a statement
 
Last edited by a moderator:
Oh I get it. Would it be hard to have cycle exact menu selectable?
It was on my TODO list, but looks painful. There are ~50 #defines in the code, some in complex sections (to me). I could replace many with a runtime check, but the performance impact may be high. The other option is to have multiple complete copies of both in one binary. The main issue with that is preventing variable name clashes.

Also do you think it is possible to eventually have cycle exact run full speed at FS0 at 133 ? Or will that be too much work/rewriting, or is the GP32 not powerful enough?
It should be possible to do, but requires a significant rewrite for core parts of the code. Something I do not intend to do since it will make the branch from the original too large. Never mind not having time...

Getting rid of the screen rotate would be a nice bonus (to all emus). Why did they put it that way up?!

One suggestion, when you do a change system in the menu it would be nice if it autoloaded the keymap. So for example when you change system to 5200 it would automatically load the default 5200 keymap. You could still change to a custom keymap but then you would do it manually like now to override the default.
Thats probably worthwhile, I'll put that in the next one if I remember. I also want to do some kind of simple built in keymap editor.

Also it would be nice when you do a run .bin file directly it would automatically do a reboot and start the game after ROM is selected.
I thought it did. Hmmm.

Awesome emu by the way. It really fills a nice niche. It is really great to have 5200 console stuff too. Now all we need is 2600 to have the complete Atari line*.
I thought there was one? Haven't tried it though.

Mark

P.S. I'll do something about them looking the same in the next version. For now just use an icon/fxe editor to change it one of them!
 
Before I download it, are the Atari 5200 controls engineered any better for games like Pole Position, where you have to center the stick? Having the emulator self-center the stick would be an awesome idea that would make a lot of the old Atari 5200 games even more playable than they were on the system itself (I know, I have one).
 
jmetal88 posted on Sep 30 2004 at 08:46 PM said:
Before I download it, are the Atari 5200 controls engineered any better for games like Pole Position, where you have to center the stick? Having the emulator self-center the stick would be an awesome idea that would make a lot of the old Atari 5200 games even more playable than they were on the system itself (I know, I have one).

The emulation of the 5200 stick is very poor. If you have any suggestions to improve it then let me know... How do you map a digital stick to an analog one in a decent way? How long its held done? Maybe the way to go is adding an xbox controller to the USB port:)

Mark
 
Last edited by a moderator:
Well, I'm not sure about with software, using a digital stick to emulate an analog, but I have seen it done in actual hardware. Basically you would set up some resistors that would supply almost, but not quite, the amount of current required to go one direction or another, and you would supply exactly halfway inbetween that amount for a centered position.

In other words, if full right was a signal of 5v and full left was a signal of 0v then digital left should probably be set at around 4v and digital right at about 1v, depending on the level of sensitivity you want it to receive. Centered would be at 2.5v in this case. (I hope I've got my facts straight up thru this point.)

In your emulator, I would say assign a value that tells the emulator to go however much of full up, down, left, or right that you want it to go, and also a value to send to the emulator that centers all the other values to accomodate for a centered stick when the stick is not being pressed in any particular direction.

I hope what I've tried to explain here helps.
 
foft posted on Sep 30 2004 at 08:55 PM said:
jmetal88 posted on Sep 30 2004 at 08:46 PM said:
Before I download it, are the Atari 5200 controls engineered any better for games like Pole Position, where you have to center the stick? Having the emulator self-center the stick would be an awesome idea that would make a lot of the old Atari 5200 games even more playable than they were on the system itself (I know, I have one).

The emulation of the 5200 stick is very poor. If you have any suggestions to improve it then let me know... How do you map a digital stick to an analog one in a decent way? How long its held done? Maybe the way to go is adding an xbox controller to the USB port:)

Mark



For the stick You maybe could do this

When the stick is centered on the GP32 it would be like it is centered on the 5200. When you move the GP32 stick in a direction it would move that way but medium or slow speed. Then when you hold down a shoulder button (or any other button you choose) it could speed up to a faster speed until you let off of the shoulder button then it would go slow again. you could have a .txt file that would go with each game that could be edited to tailor the fast slow values (how slow , how fast) for each game. The txt file would be the ROM name with a .txt extention.

Before when I said it would be nice to have it autoreset I meant for disk .atr images, I was mistaken. I guess you would have to have that as a different menu item that would be like" load and run disk image".

Also one simple thing you should have the menu selector so that it "wraps". For example if the selector is on the first item instead of pressing down a bunch of times until it reaches the bottom, you could just press up and the selector will go to the bottom and work its way up. If you are at the bottom and you press down selector would appear at top and work its way down. This would be helpful as the reboot options are at the bottom, while the loading selections at the top. Right now if you keep pressing up it will go up until it reaches the top of menu and then stop.

Also is it possible to know which 5200 games are one chip and which are two chip? many times I will guess the wrong type and it will crash. Maybe when a game is loaded you could have the emu check a data file by the name that was selected and pick the right option automatically. There are not many 5200 games so that wouldn't be too much. You could have that data file a txt file so it could be user edited if the ROM names were renamed.

I know this is a lot of stuff so here is a condensed list that you could cut and paste into your notpad if you don't want to forget.

-Analog speed with 2 speeds by using shoulder. speed settings in txt for each analog type game.

-menu option "load and run .atr"

-wrapping menu selector.

-5200 one/two chip game data file for auto setting.

-"Change system" in the menu autoloads the keymap for that system.

there are alot of ideas here. I can't code so unfortunately I can't help implement them. If these ideas help you than that is the best I can offer.

Thanks much.

Ps. the Atari2600 that I use is VCS32. It is ok except that compatibility is very low, many games don't work.
 
Last edited by a moderator:
What do you mean they don't do anything? Do they save and not load? Do they not save? Confused...

Mark

It doesn't appear to be saving. Do I NEED the keyboard to enter a savestate name for it to work?
 
carlgeorge posted on Oct 1 2004 at 04:51 PM said:
It doesn't appear to be saving. Do I NEED the keyboard to enter a savestate name for it to work?
Nope. Just select one of the entries other than "type name". Your /gpmm/a800/state directory does exist right?

Mark
 
Last edited by a moderator:
foft, what do you think of the above ideas? Good? bad? What is your take?
 
DaveC posted on Oct 1 2004 at 04:32 AM said:
For the stick You maybe could do this

When the stick is centered on the GP32 it would be like it is centered on the 5200. When you move the GP32 stick in a direction it would move that way but medium or slow speed. Then when you hold down a shoulder button (or any other button you choose) it could speed up to a faster speed until you let off of the shoulder button then it would go slow again. you could have a .txt file that would go with each game that could be edited to tailor the fast slow values (how slow , how fast) for each game. The txt file would be the ROM name with a .txt extention.
Yeah I thought something like that might help. I'll have to get some 5200 games to try it with though. I never had a 5200 - only a series of XEs (and an 800 for a bit), so I'm not used to it.

I'd probably use the keyboard map though, rather than a seperate file.

DaveC posted on Oct 1 2004 at 04:32 AM said:
Before when I said it would be nice to have it autoreset I meant for disk .atr images, I was mistaken. I guess you would have to have that as a different menu item that would be like" load and run disk image".
I agree... Also I want to make the save states store which disk image was loaded.

DaveC posted on Oct 1 2004 at 04:32 AM said:
Also one simple thing you should have the menu selector so that it "wraps". For example if the selector is on the first item instead of pressing down a bunch of times until it reaches the bottom, you could just press up and the selector will go to the bottom and work its way up. If you are at the bottom and you press down selector would appear at top and work its way down. This would be helpful as the reboot options are at the bottom, while the loading selections at the top. Right now if you keep pressing up it will go up until it reaches the top of menu and then stop.
That should be easy.

DaveC posted on Oct 1 2004 at 04:32 AM said:
Also is it possible to know which 5200 games are one chip and which are two chip? many times I will guess the wrong type and it will crash. Maybe when a game is loaded you could have the emu check a data file by the name that was selected and pick the right option automatically. There are not many 5200 games so that wouldn't be too much. You could have that data file a txt file so it could be user edited if the ROM names were renamed.
Can't you just save the state once you selected the right one? I presume if it could be automated the atari800 developers would not have had two options.

Thanks for the suggestions. I will add at least some of them in the next release! I only do work on this emulator every few months when I'm in the mood... Got another interesting electronics project to do first. That said I might get bored one evening!

Thanks,

Mark
 
Last edited by a moderator:
Sure, I hope this will help make the emu nicer as it is great to have as is now.

One thing though I would not have it autosave parameters like last disk used etc. That wears out the smc
(limited writes) and could corrupt it if the batteries give out when saving. I would make it manual or have an option to toggle auto save states on or off.


Regards,
Dave
 
DaveC posted on Oct 1 2004 at 11:39 PM said:
One thing though I would not have it autosave parameters like last disk used etc. That wears out the smc
(limited writes) and could corrupt it if the batteries give out when saving. I would make it manual or have an option to toggle auto save states on or off.

Good point... Though the limit is pretty high -> I have copied over Atari800 soooo many times while developing!

BTW If you do want to start in a specific state then you can use "startup like this" in the manage states menu.

I did actually mean just in the normal manual save states though. For some reason the current inserted disks are not stored. I think it would make sense to put that in.

Mark
 
Last edited by a moderator:
DaveC posted on Sep 29 2004 at 04:32 AM said:
Nice splash screen. Antiriad, by the way I like splash screens such as this one where it shows a picture of the system(s) emulated. In my opinion they should all have this theme.

Glad you like the artwork Dave! Remember that often the emulator author dictates what they want for their artwork though.
 
Last edited by a moderator:
Back
Top