Welcome, Guest. Please login or register.

Author Topic: Amiga emulator development  (Read 4907 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Amiga emulator development
« on: July 08, 2003, 02:29:36 AM »
OK, shifting my focus here, from the hardware forum for my posts on this topic..

For those who have not caught my earlier thread, I am going to start develoment on an Amiga emulator.  It's a hobby project which means a couple of things:

1.  No guarantees whatsoever are likely to be given as to fitness of purpose, etc, etc.

2.  It will develop as fast or as slow as it needs to be in order for other things in my life to get proper attention.

3.  It will be totally FREE and come with a licence likely very similar to the one with AROS, Mozilla, etc.

The Spec:

It is my intention to emulate every model of Amiga that was officially released in the UK.  I intend to do so "cycle exact" and allowing 'naughty' applications to "hit the hardware" (they won't be, of course, but they'll never know - trust me!).  I also intend to allow those so inclined to tweak at will with relative speeds, functionality of chips, and so on, such that they can make "Super 1200" "Custom A500" and so on configurations if they wish.. up to and including running the emulator at the highest speed their system allows a high priority thread to run at.

OK, so what WON'T it do?  It won't run on Windows 9x (That is 95, 98, 98 SE & ME so we are clear).  It probably won't run on NT4 and below either, but I'll see.  Why?  Mostly because I use and develop for NT5 (2000 & XP) but also because 9x is simply unstable anyway, attempting to develop a complex 'low level' emulator that runs on it seems like a really difficult job and risky proposition for the system.  It also will be targetted at x86 chips, obviously.  I intend to implement any optimizations for such things as MMX, SSE, 3Dnow!  and so on, that I can, so faster, newer processors will be worth having.  But it ought, when finished, to run on any machine you were able to get 2000/XP onto.  It also WILL NOT BE AN OPERATING SYSTEM REPLACEMENT.  You will need a (presumably!) legal copy of an NT5 based OS to run it.  I MAY develop a port for 9x when I am satisfied with the NT version, but don't count on it.. and you really would be well advised to either get NT or switch families altogether, e.g. OS X (which is very good, but which I do not currently target).

Right.. so you read all the disclaimers and still think you might be interested?  In fact you think you'd like to help perhaps, but don't know how?  This bit is for you:

I welcome any constructive comments and criticisms.

I am more than happy to set up a small team, so long as we can contact each other reasonably easily.  Within Europe is fine, outside of Europe and I have to wonder about feasibility, but I won't ignore it out of hand (sorry yanks!).

If you feel you want to support financially (well, you MIGHT!!) hold fire, because at present there are no costs associated with it, e.g. hosting, it is purely my hobby.  I really do program for fun as well as work.

OK, so are not a coder, you are interested and you now know that you cannot help me with cash (well, you can if you really want, but it is not needed!) so is there anything else you could do to help me?  Sure, read on some more...

I am not much of artist.  Buttons, loadscreens, that kind of thing I can certainly use help on, though probably not until quite late into the project.  Although being there at the start has a lot of merit.

Once off the ground, it will need testing, preferrably on every possible harware/software combination.  So people prepared to simply download, install and then attempt to 'break' it can also be very helpful.

Finally, encouragement, if in fact this is something you do want to see happen, should not be underestimated.  Especially as regards any feature you feel strongly about, lest it get overlooked.

Well, after that mini-essay I feel as though I have said every that needs to be.. I am however undoubtedly wrong.. so please, let me know!  :¬)

John

edit:  turned on email notification, since it seems sensible.
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: Amiga emulator development
« Reply #1 on: July 08, 2003, 02:36:24 AM »
Are you sure this is a worthwhile endeavour? It seems WinUAE already provides a good level of hardware compatibility.

That aside, one technicality caught my (sleepy) eye.
I would assume cycle exact emulation would preclude technologies such as JIT since Chipset v CPU dependent timing issues are lost in the translation.
I dunno if this is really a problem or not but it could affect time critical writes to your virtual chip ram/custom chip regs...
int p; // A
 

Offline bhoggett

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1431
    • Show only replies by bhoggett
    • http://www.midnightmu.com
Re: Amiga emulator development
« Reply #2 on: July 08, 2003, 02:43:26 AM »
With all due respect, the phrase "re-inventing the wheel" comes to mind.

Perhaps it would help if you described what you believe to be wrong with WinUAE and how your project would improve on it.

The WinUAE Home Page
Bill Hoggett
 

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #3 on: July 08, 2003, 02:49:34 AM »
It's a hobby :¬)  How worthwhile is any hobby?  Heh!

As for JIT, I don't intend to use it.  Indeed since my first musings, I think I have pretty solidly decided on an x86 native/NT 5 targetted application.  In part because of such issues, but also because it will have all the functionality I want from the project, while being pretty easy for me to code.  If people violently disagree with my reasoning, I will certainly rethink it... but failing that, what I said earlier stands - NT5 on an x86.

As for WinUAE - I use it.  It's pretty good and I have no intention of 'slagging it off'.  However, infallible it is not.  And the point of my project is different, I think to theirs.  Mine is more for personal enjoyment and experience, than providing an emulation solution for all former Amiga users (the original vision, pretty much, of the UAE team).

Getting technical, as far as is possible when there is still no code!  The Virtual Custom Chipsets will require some careful (and dare I say it, clever!) coding in order to get the timing right anyway.  The language used probably would not make much difference to REALTIVE timings which is what we are talking about for the time critical stuff, as far as I can see at this point.  C/C++ will of course be faster than Java on an x86, at least with my C/C++ compilers.  So, when you "take all the brakes off" the native version would be quicker at a task than the JVM version.  However, part of the point of the emulator is to give a faithful reproduction of each machine set up, down to the cycle-exact timing level.  So for that it wouldn't matter, as regards speed.

John
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: Amiga emulator development
« Reply #4 on: July 08, 2003, 05:37:16 AM »
how this for an idea...

write a PowerPC emulator for the amiga
that will run pegasos software (MorphOS)

!!!  :-o  !!! basically the same tech. skills are required, except it would be of a bit more use! :-P
 

Offline CodeSmith

  • Sr. Member
  • ****
  • Join Date: Sep 2002
  • Posts: 499
    • Show only replies by CodeSmith
Re: Amiga emulator development
« Reply #5 on: July 08, 2003, 05:52:00 AM »
Not quite what you probably want to hear, but if you want to have a classic emulator that will be truly useful, I would suggest taking UAE's chipset emulation and modifying it so that it hooks into OS4's virtualized memory and whatever equivalent of that MOS has.  That will let old, harware-banging programs like scala work on the JIT emulators on AmigaOnes and Pegs.

It's not quite what you want to do, but it will be a lot less work than building an emulator from scratch, and it is something that is truly needed.
 

Offline CodeSmith

  • Sr. Member
  • ****
  • Join Date: Sep 2002
  • Posts: 499
    • Show only replies by CodeSmith
Re: Amiga emulator development
« Reply #6 on: July 08, 2003, 05:55:04 AM »
Quote

iamaboringperson wrote:
how this for an idea...

write a PowerPC emulator for the amiga
that will run pegasos software (MorphOS)

!!!  :-o  !!! basically the same tech. skills are required, except it would be of a bit more use! :-P

Can't you do already do that with MOL?
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: Amiga emulator development
« Reply #7 on: July 08, 2003, 05:55:34 AM »
...or howabout a new mac emulator for the amiga?
 

Offline Aegis

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 213
    • Show only replies by Aegis
    • http://www.survivorfilms.co.uk
Re: Amiga emulator development
« Reply #8 on: July 08, 2003, 09:27:04 AM »
Gotta say right now I'd rather see PPC emulation for Windows - maybe you could start off with Mac OS X and look at emulating Pegasos/Amiga One once Amiga OS 4 is out?  :-)
Catapultem habeo. Nisi pecuniam amnem mihi dabis, ad caput tuum saxum immane mittam.
I have a catapult. Give me all the money, or I will fling an enormous rock at your head.
 

Offline JoNty

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 174
    • Show only replies by JoNty
Re: Amiga emulator development
« Reply #9 on: July 08, 2003, 10:08:36 AM »
We don't need more emulators for Windows.

A lot of people are gonna be wanting to run old skool games on OS 4.

I'd be more excited about a classic emulator for the Amiga. Sure UAE exists for AmigaOS, but it's about 5000 years old.
 

Offline alx

Re: Amiga emulator development
« Reply #10 on: July 08, 2003, 10:12:07 AM »
I like Codesmith's idea - perhaps contact Hyperion to see how the virtualised memory works?

Offline JoNty

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 174
    • Show only replies by JoNty
Re: Amiga emulator development
« Reply #11 on: July 08, 2003, 10:19:07 AM »
We also shouldn't be promoting the idea of running OS 4 and MorphOS on Windows.
 

Offline Steady

Re: Amiga emulator development
« Reply #12 on: July 08, 2003, 10:34:37 AM »
@Gaidheal:

I say if it is a hobby you are interested in for your own enlightenment, then go for it!!!

Best of luck. The technincal challenge of attempting to get cycle-exact chipset emulation interests me also, so I know where you are coming from.

After all, it is YOUR hobby and you can choose to take that in any direction you want.
 

Offline mesagl

  • Newbie
  • *
  • Join Date: Apr 2003
  • Posts: 5
    • Show only replies by mesagl
Re: Amiga emulator development
« Reply #13 on: July 08, 2003, 01:32:20 PM »
we really need ppc emulation as well. i would love to help  out with the easier parts of coding. From Australia if thats cool. howabout icorporating ppc and 68k emulation without context switching , maybe the emulator can merge ppc and 68k code into virtual instructions or something. Anyway i really think ppc emulation is very important too. Definetly go ahead with it.

cheers
 ;-)
 

Offline Samuar

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 158
    • Show only replies by Samuar
Re: Amiga emulator development
« Reply #14 on: July 08, 2003, 02:55:17 PM »
Can I suggest, as others may have already, look at integrating an existing open source emulator, say UAE, into say, a Linux distribution - so that old programs could be run easily, with all the emulation 'hidden' - making it easier, and giving the feel that the system simply has support for older files natively. such a linux distribution, wud be ideal for the new PPC hardware (a1/pegasos).

It just seems wasteful to put your time and effort into as someone has already said, "reinventing the wheel".
Dell Dimension 5000; Dell Inspiron 1300.