-
Notifications
You must be signed in to change notification settings - Fork 1
neozeed/uae-archive-uae-0.1
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is version 0.1 of UAE, the Unusable Amiga Emulator for Un*x systems. 1. <stddisclaim.h> Copyright 1995 Bernd Schmidt. This program is freeware. You may do whatever you want with it for personal use. Permission is granted to redistribute this program free of charge, provided it is distributed in the full archive with unmodified contents. You may not port this program to Windows or any other so-called operating system made by Microsoft. There are no warranties of any kind for this program. If you use this program, you do so at your own risk. The author is not responsible for any damages that might result from using this program. The program is not supposed to do anything useful. Don't expect it to work, and you won't be disappointed. 2. What you need to get it to work - a Un*x system with the X Window System. - a C++ compiler. I use gcc; version 2.6.x will do, 2.7.0 will do better. With some modifications it can be made to compile with gcc 2.5.8. Since only very few elements of C++ are used in the source, it should be possible to create a C version with minimal effort as well. - a Kickstart ROM file. I use 1.3, other versions may work, too. I've successfully tested UAE on the following systems: - Pentium-90, Linux 1.2.7, X11R6 (XFree86 3.1.1), GCC 2.6.3 - a while ago, i486DX2-66, Linux 1.1.>80, X11R6, GCC 2.5.8 - HP Apollo, HP-UX, X11R5, GCC 2.6.0 - Sun Sparcstation, X11R5, GCC 2.6.0 You see, it's fairly portable; it doesn't even rely on endianness. What you need to enjoy it: - some programming skills to fix the bugs and add the missing features. - a CPU that is roughly 30 times faster than a Pentium 90. To build UAE, first unpack it to an appropriate directory (e.g. /usr/src/uae on a Linux system), cd into it and type "xmkmf" to create the Makefile. Then, do "make" to compile everything. Warnings can be ignored; there should be no errors. Some systems (the ones at my university) have a broken imake that generates bogus Makefiles. For this, an examples Makefile is provided which can be modified to suit your system. After compilation, you'll need to install the ROM image. This must have a size of exactly 512K and should be an image of the addresses 0xF80000-0xFFFFFF on your Amiga system. You can dump it with any debugger that deserves its name, and transfer it to a PC with a tool like CrossDos or MessyFS (or a serial cable). It must be called kick.rom to be recognized. You can also install a disk image file. This must be called wb13.adf (Amiga Disk File), and should be a raw image of the data on the floppy disk: 11x2x80 sectors == 901120 bytes. This will not buy you anything, since floppy disk support is broken. The Kickstart will recognize that there's a disk in the drive and try to boot from it, and therefore will not show the startup logo. Since showing the logo is all the Kickstart ever does with the emulator if there's no disk in the drive, you won't see anything at all, so don't install that disk file. You can then execute the file "uae". It should load the Kickstart and open a large X Window. UAE starts up in the builtin debugger, you can single step through the Kickstart if you want, but you can also type "f 1" to make it run forever or until you press ^C, whichever comes first. 3. Current state of UAE This program is only half-finished, that's why it is called the Unusable Amiga Emulator. The following parts are already mostly complete: - MC68000 CPU: Almost done, some rare instructions (ABCD, ...) are not emulated yet. I'd like to make this a 68020 emulation, but I need more info than I have about the special registers (MMU etc.) Maybe it will one day run Linux/68k! - Blitter: If there's no bug, it ought to be complete. - Copper: Not much to emulate here :-) - Timers: I think these are fully working, too. Not done properly: - Playfield (display) hardware: Only black & white graphics, no dual playfield support, no HAM. - Sprites: None. - Sound: None. - Mouse, Keyboard, Joystick: None. - Timing: The CPU and blitter cycles are counted, but I have not bothered yet to adjust the timing to match the characteristics of a real A500 - Floppy disk: Broken. I never modified disk.cc after creating it. It is not debugged and does not work. Currently, this program can only display the Kickstart logo (hand holding WB disk). If the disk support were working, it would probably boot and could be made to execute some demos correctly. 4. Future I have only very little spare time to work on this program. So, any help is welcome. If you fix any bugs or implement new features, please mail me any of these enhancements (see below for address). If they are any good, I will include them into a new version of the emulator. You'll be credited for any of your changes that make it into the source. Various approaches how to write an Amiga emulator have been discussed in comp.emulators.misc, comp.emulators.cbm and comp.sys.amiga.emulations. This implementation tries to emulate the behaviour of the Amiga hardware. This hardware is supposed to be an A500 with Old Chipset, KS1.3 and 512K chipmem. Extending this to ECS should be no problem, a 68020 emulation should be possible as well, AGA may be tricky. I don't see a reason why newer Kickstarts should fail with the emulator, please try it. It should be possible to speed the thing up quite a bit. Currently, it is 30 times slower than it should be on my Pentium-90. I am sure this can be improved by a factor of at least two. But currently, I think it's more useful to work on compatibility instead. Bugs: - When the Kickstart tries to boot from a floppy, it doesn't seem to do the Right Things. That may be a bug in the floppy support, or in the 68000 part. - Somehow, I don't like what the Kickstart does with the copper lists when the system is initialized. COP2LC points at some location where no copper list is found. That may be a bug in the Kickstart, but I think that's unlikely. 5. The author's address crux@pool.informatik.rwth-aachen.de or, via snailmail Bernd Schmidt Schlossweiherstrasse 14 52072 Aachen Germany
About
The original public release of UAE 0.1 ported to SDL
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published