home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AXF_64_a31.lha / README < prev   
Text File  |  1995-10-01  |  11KB  |  253 lines

  1. WHAT:
  2. Emulator of C= 64 for Amiga computers with 68020 or higher. $15 ShareWare.
  3.  
  4. WHY:
  5. Because A64 (both 2.0 and 3.0) sucks IMO. And I think the Amiga deserves
  6. good emulators like the PC has. (Update: I've seen Frodo now - good try,
  7. but way slower than mine... I think I can beat it.)
  8.  
  9. HOW:
  10. First you need 3 files: "C64.BASIC" (or "Basic ROM"), "C64.KERNAL"
  11. (or "Kernal ROM"), and "C64.CHARSET" (or "Char ROM").
  12. These must be exactly 8192, 8192, and 4096 bytes big.
  13. These are just dumps of real C= 64 roms. They are not included for legal
  14. reasons, but I think several other emulators actually include them. You can use
  15. the same ROM files that Frodo uses too.
  16. Put these files in the current directory or in the same directory you store
  17. the executable (only helps for KS 2.04 and higher).
  18. You can now start the emulator. You can LOAD files that are in RAM: or C64:
  19. (assign it where you have you your files). The fileformat is the same as
  20. A64. Disk images are not supported (yet). Use 'LOAD "FILENAME",8'.
  21.  
  22. The keyboard is mapped nearly 100% like a real C= 64 so the keys wont
  23. always match the Amiga keyboard. The RESTORE key is not mapped at all.
  24. The joystick port of your Amiga maps to the right C= 64 joystick port on
  25. default, but this can be changed (see below).
  26.  
  27. Hires character mode is the only mode supported.
  28. Multicolour sprites supported, but colours not set right.
  29. Sound is supported if you have the sound library from A64. (NOTE: There is
  30. a bug in the library that can affect you sometimes...)
  31.  
  32. There is no restart option, you have to quit the emulator with the ESCAPE
  33. key.
  34.  
  35. Special keys:
  36. Escape    Quits AXF-64
  37. (All the rest on the numerical keypad)
  38. *    Waits an extra frame before continuing emulation
  39. /    Swaps around the joystick ports on the C= 64
  40. )    Uses Amiga mouseport as 2nd joystick port (both are still swappable)
  41. (    Resets C= 64 (might not work 100% yet)
  42. +    Switches on/off input handler's eating of key events. The C= 64 will not
  43.     get any input when the Amiga gets input.
  44. -    Switches on/off auto-sync. In 'off' position no frames are skipped.
  45.  
  46.  
  47. SPEED:
  48. Faster than Frodo, but slower than A64. My 4000/040 runs mostly 1:1 compared to
  49. a real C= 64. Bank switching is slow if mmu isn't used. 030 users might find it
  50. enjoyable though. If the graphics conversion lags behind it will skip screen
  51. refresh until it catches up (or until it feels it has to redraw).
  52. Unlike many other emulators (but like Frodo!) the relative speed of the
  53. screen update and the cpu speed does not change, it will always run
  54. internally like a 1MHz PAL C= 64, and never faster than a real C= 64.
  55. (Later versions will have adjustable speeds here.)
  56. 68040 (and probably 68060 too) users get wildly faster bankswitching if
  57. enforcement.library is available (and opens ok).
  58.  
  59. WHY SELECT AXF-64:
  60. It does a few things that A64 doesn't. It can do raster bars. It can do
  61. raster interrupts and screen changes on a per line basis. It was made with
  62. big cpus in mind. It bangs the screen hw to get faster and closest possible to
  63. a real C= 64 in appearance.
  64.  
  65. TODO:
  66. VGA(doublescan) screenmode. Screen works, but sprites are yet unknown.
  67. Multicolour character mode. I have ideas and all, but I need to test a little
  68. to see if I can make it fast enough.
  69. AGA support. Try to use other algorithms to reduce chip bus activity.
  70. Full sprite support. I have code and ideas for that too.
  71. Bitmap modes.
  72. All timers. I have ready code for that too.
  73. Support disk images.
  74. Make different screen update modes for different configurations.
  75.  
  76. New in Alpha 15:
  77. Oooops! Sorry to all who downloaded Alpha 13. It relied on my patched Kernal
  78. to sniff LOADing :(((. Fixed now.
  79. Copperlist building logic improved.
  80. Code simplified giving smaller size and more speed (a case of blowing the
  81. 040 caches methinks).
  82.  
  83. New in Alpha 16:
  84. Redid the bankswitch logic for the VIC II chip. Seems to work better now,
  85. but I still have some unresolved cases for what to do when $D000 ram is
  86. banked in.
  87. Looked at raster interrupts, and they don't look good :-(.
  88. I got it a little better, but it still needs work...
  89.  
  90. New in Alpha 17:
  91. Fixed raster interrupts. Seems to be working 100%.
  92.  
  93. New in Alpha 18:
  94. Fixed bug in LOAD patch (returned wrong end of file address).
  95. Basic programs still bugs :( (but a little less...).
  96. Swapped '<-' and 'DEL' key on request.
  97.  
  98. New in Alpha 19:
  99. Fixed idiotic bank switch bug.
  100.  
  101. New in Alpha 20:
  102. Sound. Frodo 1.3 used 6581SID.library so I took a look at its code (since I
  103. don't have any documentation for the library :( ) and added sound to AXF-64.
  104. Finally added a systemfriendly vertical blanking interrupt.
  105. There are still bugs... someplace code is written over. Basic gets fits over
  106. integers becoming floats. Timer interrupts are plain bugged.
  107.  
  108. New in Alpha 21:
  109. Hires(320 pix resolution) sprites on AGA machines. No multicolour or size
  110. doubling yet, and sprite colours aren't handled yet.
  111. Fixed bad assembler bug that was writing over code so that opcode $00
  112. (BRK == breakpoint) gave an Enforcer hit and didn't work. The included
  113. "enforcement.library" is just for debugging (and 68040 running Enforcer)
  114. and can be deleted if you want (else put it in Libs:).
  115.  
  116. New in Alpha 22:
  117. Fixed a wild write to chipram that also fixed a timer and interrupt problem.
  118. Fixed timer interrupt handling. Fixed raster interrupt clearing problem.
  119. Now the example programs that come with Frodo have stopped crashing, but they
  120. don't look perfect yet.
  121.  
  122. New in Alpha 23:
  123. Auto speed adjust. If more than 1 frame is used to emulate 1 C64 frame then
  124. only border colours are updated until enough frames have been skipped.
  125.  
  126. New in Alpha 24:
  127. enforcement.library debugged and now working. Uses 68040 MMU to writeprotect
  128. memory and to remap addresses (gives _fast_ bankswitching), and also to map
  129. memory pages containing same data to only a single page.
  130.  
  131. New in Alpha 25:
  132. Added input.handler for keyboard operation. May have bugs because my machine
  133. freezes for no good reason some times (after quiting AXF-64).
  134.  
  135. New in Alpha 26:
  136. AXF-64 would initially start informing 6581sid.library of '$00' writes to all
  137. SID registers, which is now fixed.
  138. Bug that hindered hw access optimisation found; slightly faster code now.
  139. Preparations for full sprite emulation in AGA.
  140. Amiga cursor keys checked for and mapped to right_shift_key + down/right key.
  141. Optimisation: Now only eats 1 byte when fetching instruction instead of 2 as
  142. it used to do.
  143. Optimised instruction jumping.
  144. Horrible memory stomping bug found (which also fixed some timer interrupts).
  145. Bug in opcode $F5 fixed (SBC ZP,X).
  146. Emulation of stack use optimised.
  147. Indirect addressing optimised.
  148. Instruction jumping optimised further.
  149. Basic works... (yeah! opcode $F5 I guess)
  150. Hopefully fixed megacrash that made odd stuff happen in level 3 interrupt (did
  151. give 6581sid.library's interrupt a chance to run before it was properly
  152. initialised. Sounds better now too.).
  153.  
  154. New in Alpha 27:
  155. Multicoloured sprites (but still not multiplexed).
  156. Column select bit in $D016 is now handled.
  157. More undocumented opcodes handled (Mega Apocalypse starts now).
  158. Found serious bug in 6581sid.library. I recommend that you remove this library
  159. from your machine. Use Frodo as a reference to check the interrupts list
  160. after using it (with ARTM or similar tools).
  161. Runs ok from WorkBench now.
  162. Unreleased addon to save history of 6510 program, and to later compare with
  163. other run of same program under different setups.
  164. Killed serious bug that crashed your machine _hard_. (Forgot to restore A6 after
  165. OS call.)
  166. Fixed ugly bug in opcode $75 (ADC zp,X). Pacman is now working again.
  167. Will search for the ROM files using Frodo's names too.
  168. Begun work on support for border opening: Screen is not filled with last byte
  169. of bank in border, but it is opened.
  170. Fixed bug in enforcement.library.
  171.  
  172. New in Alpha 28:
  173. Corrected bug in opcode $E7. And another one in $E7. (Blue Max starts! But the
  174. bugged keyboard makes it unusable...)
  175. Corrected keyboard. Blue Max is playable.
  176.  
  177. New in alpha 29:
  178. Fixed 24/25 column stuff.
  179. Fixed black colour that was set to background colour.
  180. Fixed border opening.
  181. Fixed raster interrupts (again - sigh). Most example programs with Frodo works
  182. ok now.
  183. Triplebuffered bitmaps again. Scrolling is ok now (Revenge OTMC too).
  184. TODs implemented.
  185. Faster handling of read/write to ROM/hardware.
  186. Added keys for extra joystick/joystick swapping/reset/input stream change.
  187. Fixed bank switching when MMU is used.
  188.  
  189. New in Alpha 30:
  190. Blacks out when impossible graphics mode combinations are used (like a real
  191. C= 64 does).
  192. Multicolour colours displayed correctly (at least it is every 8th line), but
  193. still drawn in hires. Uridium and Super Gridder look ok now.
  194. Auto frame-skip improved (turned off cache to test it. Severely bugged). Stars
  195. in Uridium still wont stand still.
  196. Did some more mmu stuff.
  197. Multicolour character mode implemented. A bit slow.
  198.  
  199. New in Alpha 31:
  200. Added opcode $4F. Wizard of Wor works.
  201. Fixed some undocumented opcodes (I hope), added most others (correctly I hope).
  202. Up'n'Down works.
  203. Found out that my scroll/bitmap stuff isn't synced as I thought.
  204. Removed unused code/variables and optimised some of the graphics code.
  205. Slightly faster setting of N bit.
  206. Fixed some bad cases of 6510 memory writes.
  207. NMI handling improved (but still no NMI generators).
  208. Starts up with all black screen (like a C= 64 does).
  209. Moved screen one line up (now starting at line $32), and moved sprites one pixel
  210. to the left.
  211. Slightly shorter copperlists, and bitmap not on in border if not opened.
  212. Fixed opcode $CB(I hope). Fixed many undocumented opcodes.
  213. Made simple monitor like disassembler for hooking in later.
  214. Fixed auto-sync finally.
  215.  
  216.  
  217. Known problems:
  218. - I don't have a total, complete reference for all the 6510 instuctions! :-(
  219. - If you try "FOR X=1 TO 50000:NEXT X" then it takes much longer time than it
  220. should. A test with pure 6502 code shows much more sensible results.
  221. - Will bug your machine if it finds 6581sid.library. If all you wish for is
  222. sound then use the library and do a reset after you finish using AXF-64.
  223. - If your machine is too slow to draw a C= 64 frame in 6 frames then you will
  224. still get "jumping" graphics every 6 frames (or n*6 frames depending on machine
  225. speed).
  226. - Wizball has unknown problems.
  227. - Lode Runner uses bitmap mode and therefore doesn't display.
  228. - Uridium has wrong graphics for your shots. Still unknown why.
  229.  
  230.  
  231. Thanks to Christian Bauer for pointing out that pflush (a1) takes a logical
  232. address (and not physical as I turned out to be using). Also thanks to him for
  233. the indepth DC00-DC03 explanation. 
  234.  
  235.  
  236. ShareWare:
  237. The quality has now reached a level where I am beginning to take ShareWare
  238. registrations. This program is ShareWare in the real old-fashioned way; you
  239. get the whole thing for free right now, and you're supposed to show up some
  240. $$$ if you find it worth using. If you do not think it is worth $15 then delete
  241. it and forget it. If you register I'll send you the latest version on a floppy
  242. disk and you will see your name in glory on a thank-you list included with
  243. future versions. If you have an email address I'll also send you updates by
  244. email. Suggestions from registered users will take priority.
  245.  
  246.  
  247. -Børge Nøst (borgen@hstud4.cs.uit.no might work. Try snailmail if all else fails)
  248. Boks 218
  249. 9001 TROMSØ
  250. NORWAY
  251.  
  252. (Hei FunCom, hvis dere synes dette ligner noe så leter jeg fremdeles etter jobb :)
  253.