Jump to content
IGNORED

New Atari 7800 Emulator: EMU7800


Albert

Recommended Posts

Atari7800Console.gifA new Atari 7800 emulator titled EMU7800 is now under development by Atari enthusiast Mike Murphy. This work-in-progress requires Microsoft's .NET framework and presently doesn't run 7800 games although most 2600 games play with sound. Most notable in this release is that Andrew Towers' TIA HW Notes paper was used to emulate HMOVEs more closely, allowing infamous Cosmic Ark stars to appear without special hacks. You can download EMU7800 here.
Link to comment
Share on other sites

  • 2 weeks later...

I would be interested in receiving feedback on the operation of the emulator in its current state. It hasn't been widely tested, so I'm curious. I'll be posting a small bugfix release mid-November to fixup a couple small issues, most notably with the open file dialog hanging in some circumstances.

 

Mike

Link to comment
Share on other sites

I don`t mean this as a flame, but... why on earth are you using .NET stuff? That's the least portable and most proprietary travesty I've ever heard of! You don`t need to take it to the extreme I do (I write things using SDL usually so it runs on *anything* including Amigas!) but there must be better ways than writing in a proprietary language (C#) on a totally closed system like that.

 

And no, I`m not a Linux-loving Windows hating megageek, I just like not to be limited to Windows... after all, the more I get tied to Windows, the harder is to get away from the horrid system.

 

Serious question, though - why C# and not nice, portable C++?

Link to comment
Share on other sites

I don`t mean this as a flame, but... why on earth are you using .NET stuff? That's the least portable and most proprietary travesty I've ever heard of!

 

From the EMU7800 Readme file:

 

"You are probably asking, "Why would you want to implement an emulator in .NET for?"

This was an academic graduate capstone project, at UW Tacoma, where I needed to

find a project that had lots of technical risk. Emulator writing is fun too,

so that was a helpful bonus. Before I started this project, I had no experience

in .NET or Win32 programming, no real object-oriented programming experience,

or emulator writing for that matter. So, there was plenty of risk indeed."

 

 

I personally was happy to see an emulator done in C# on the .NET framework. Being an emu author my self this was actually an area that I was just starting to take a look at. Besides there are already portable 2600 and 7800 emulators out there, and since EMU7800 is open source any improvements made to it, can be used to improve the other emulators.

 

Dan

Link to comment
Share on other sites

Actually, I was looking for feedback on how the emulator worked for people... rather than a commentary on the technology choice ;)

 

Ironically, I consider myself quite the "Linux-loving Windows hating megageek." But, I really prefer the programming paradigm of using these managed code environments (.NET/Java) for doing object oriented stuff, and using something more like C for the performance critical stuff... in the interest of productivitity, performance, and portability. I'm basically ignorant of C++, but my impression has been that there has been varying degrees of portability amongst C++ compilers over the years. For example, Visual C++ should be considered a different language, really, than GNU C++. This may have changed in recent years, I dunno. Also, I always thought the C-backward compatibility-ness of C++ was a bit tacky.

 

So if you are really serious about compiled-language performance and portability, I think C is a better choice. And if you are really serious about doing OO, and doing all the type-safe good-to-do sorts of things, these managed code environments are the way to go.

 

While .NET is only available on Windows (basically) now, there is a project called Mono that is attempting to bring .NET to non-Windows platforms. I kind of like programming to a standard that, perhaps someday, will take care of the portability burden for me.

 

I like Java too, but I'm afraid that Sun has abandoned client-side applicability of its system for the obvious commercial difficulty of competing in the client-side software business. As a result, they over-promote the idea that all applications should be server-based. And, they hatch horrid things like EJB.

 

For Micro$oft to abandon DCOM (or COM, or whatever they call their distributed object system) represents a HUGE idealogical shift. For them to give up on a system that has tremendous lock-in potential is pretty serious.

 

Further, I have a plain 1.7GHZ Celeron P4 system. Not very high-end; I think the CPU costs something like $50 these days. It's not a "real" P4, I guess, because the CPU doesn't have much on-chip cache. But think about this, 1.7 GHZ!! Gigahertz!! Because my system is "cache crippled", I am more likely to see performance problems from accessing large data structures and poor access patterns than from less-than-most-efficient code. So looking to the near future, there will be plenty of CPU power available to plow through all the managed-code stuff without penalty.

 

Admittedly, I was doubtful in the beginning that a managed-code system could run an emulator. But, I found the biggest bottleneck was pushing updates to the display. Games that didn't have complex display updates, I could get to run full-throttle at almost 200 FPS. One aspect of this project was to see how well .NET could perform, and it did exceed my expectations.

 

Anyway, I think I've blabbered on long enough. Believe it or not, I am not really a Micro$oft lover. I still am amazed they were able to sell that entire line of crappy Windows 9x systems, and I never liked Visual Basic or Visual C++ and the associated COM-based programming models. I'm also amazed that they seem to have gotten it right with .NET, and am afraid they'll find some way to screw it up.

 

Also, it wasn't my intent here to encourage an advocacy flamewar. I simply wanted to explain my rational, which ultimately rests upon personall preferences and value judgements regarding the practice of programming.

 

Mike

Link to comment
Share on other sites

Oh, that's not a flamewar. Believe me that wasn`t even a light roasting compared to some of the flamewars I've seen (heck, I read comp.sys.amiga.advocacy for a while. You used to need an asbestos suit in there).

 

For what it's worth, C++ *is* standardised. In fact, ANSI C++ was standardised a few years ago, and all the compilers fell in line... except one. Guess which one? Yes, MS VC++. However, even that (the .NET version) is now in line so you don`t need to worry.

 

If your emulator will run on a standard XP installation, though, I`ll test it out on my Opteron when I get chance... could be interesting. It would have been nice to try it on my AmigaOne too though (even though it's only running Linux until I get AmigaOS 4 .. real soon now. :) )

Link to comment
Share on other sites

  • 1 year later...
Yeah, it should be able to run on XP.  I don't have XP myself, but I would expect that it would include the .NET runtime.  If not, its a free download.

 

BTW, I've posted a follow-up release fixing a couple of UI bugs and cleaning up the distribution a bit.  

 

Mike

 

It works on XP Pro Build 2600 just fine. Ironic that the windows build number is 2600 eh?? :D

Link to comment
Share on other sites

I have an technical issue. Under Win2k, when I quit the program, the program doesn't actually quit. The windows go away, and it doesn't show on the taskbar anymore, but it's still a running process in the processes menu of task manager. You can keep running and quitting it, all the time leaving yet another instance of it in the background. :|

Link to comment
Share on other sites

I have an technical issue. Under Win2k, when I quit the program, the program doesn't actually quit. The windows go away, and it doesn't show on the taskbar anymore, but it's still a running process in the processes menu of task manager. You can keep running and quitting it, all the time leaving yet another instance of it in the background.   :|

 

Are you hitting the "quit" button or just hitting the X in the upper right hand corner? If you hit quit it should exit properly.

 

Mitch

Link to comment
Share on other sites

Are you hitting the "quit" button or just hitting the X in the upper right hand corner? If you hit quit it should exit properly.

 

It seems that you're right. :) If I hit quit, it quits properly, if I hit the X it doesn't.

 

Now to figure out why I seem to have a habit of quiting with X instead of quit. :P

Link to comment
Share on other sites

  • 2 weeks later...
I have an technical issue. Under Win2k, when I quit the program, the program doesn't actually quit. The windows go away, and it doesn't show on the taskbar anymore, but it's still a running process in the processes menu of task manager. You can keep running and quitting it, all the time leaving yet another instance of it in the background.   :|

 

Are you hitting the "quit" button or just hitting the X in the upper right hand corner? If you hit quit it should exit properly.

 

Mitch

I fixed this bug, exe is attached.

 

Matthias

emu7800.zip

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