AOH :: CECBM2.FAQ

CBM Emulation Frequently Asked Questions


Archive-name: 8bit-emulation-faq/part2
Comp-answers-archive-name: commodore/8bit-emulation-faq/part2
News-answers-archive-name: commodore/8bit-emulation-faq/part2
Comp-emulators-cbm-archive-name: 8bit-emulation-faq/part2
Posting-Frequency: twice a month (monthly to news.answers)
Version: 2.21

  CBM EMULATION FAQ - (Version 2.3 19 June 1995)
  =================

  This FAQ is usually posted twice a month on the 4th and 19th to 
  comp.emulators.cbm.  Since comp.emulators.cbm was set up to remove the
  emulator discussion from comp.sys.cbm, this FAQ will not be posted there.

  Lines preceeded by a '+' have been added or modified since the last version
  was posted.

  The FAQ is in four parts due to its size.
  Part 1 is general information and a list of available emulators.
  Part 2 is questions and answers.
  Part 3 is mostly data.
  Part 4 is basically reviews of various emulators.

  ---------------------------------------------------------------------------

   3. Questions & Answers
   ----------------------

   A section to answer common questions that emulator users pose.  Please
   forward any questions or answers you think would be appropriate for this
   section to the faq maintainer, or just post to the newsgroup!

  3.1 General.


   Q: Aren't the games on the ftp sites copyrighted software, and if so, 
      wouldn't it be software piracy to make these games publicly
      available?
   A: That's a good question, and it is one that gets discussed fairly often
      on the newsgroup.  It is true that most of the games on frodo, etc.
      are still copyrighted, and will still be copyrighted for several
      decades.  However, it is also true that the companies and authors that
      hold these copyrights have not taken any action against the ftp sites,
      which have been in existence for over a year.  
      So, it seems that most copyright holders of old C64 games do not
      especially care about what happens to those games which are not
      selling anymore.  As a result, at this point it is up to your sense
      of morality to decide whether to support these sites.  

      Both major ftp sites keep a list ("00no-no.txt") of files that should
      not be uploaded, since they are still commercially available.  
      Generally, it would probably be a good idea to not upload anything
      commercial dated 1993 or later, since chances are good that that
      software is still commercially available.  Please respect the fact
      that the C64 as a viable games market is not dead yet!

   Q: The ftp sites are down/unreachable.  Can somebody post X to the
      newsgroup please?
   A: No!  If you do, some newsservers will drop this newsgroup!  Besides,
      sending probably copyrighted material around is sure to raise the ire
      of certain individuals/organisations, who might otherwise turn a blind
      eye to the whole emulator concept.

   Q: Why would you want to emulate a CBM 8 bit computer?
   A: 1. Why not?
      2. As an intellectual exercise, to prove it can be done.
      3. Nostalgia.
      4. Convenience - why pull out the 64, disk drive, and monitor, when
         you can just start up an emulator?
+     5. You don't have to worry about your hardware breaking or your disks
+        going bad.

   Q: Is there a way to read C64 disks on an IBM PC drive?
   A: No.  The PC's disk controller is too "dumb" to be able to be
      programmed to read non-MFM disks.  The C64 uses GCR.  This limitation
      is why the PC cannot read Amiga disks either.

   Q: So, how can I get my C64 disks from the C64 to the PC, then?
   A: One possibility is to set up a NULL MODEM cable between the 64 and
      the emulator machine, and use a serial transfer.  If you have a 1571 or
      1581, then you can use either the Big Blue Reader (BBR) or the Little
      Red Reader (LRR) to read/write DOS formatted disks.  BBR is commercial 
      and can still be bought, and LRR is a freeware version of BBR.

      There are packages available that allow you to access a 1541 drive 
      from your emulator machine, eg Trans64.  It requires a special
      cable that connects to your PC's parallel port.  The schematic for
      this cable can be found in the docs for most emulators, and in the
      transfer programs themselves.

      It is possible to read/write DOS formatted disks with a 1541, which 
      requires a small hardware modification to the 1541, and a program 
      like 1541-dos.  

      Finally, utilities like 64NET allow you to copy files from the 64 
      to the PC's disk drives, and as a matter of convenience allow you to 
      access your D64 files from the 64.
 
   Q: Which is the best emulator?
   A: You really know how to start a flame war, don't you?  :)
      Opinion varies, naturally.  Since the major emulators are all share-
      ware, your best bet is to download those that interest you and
      register the one you like the most.

      The main two PC emulators used are C64S and PC64 (aka C64NEU & MC64).
      C64S is good, emulates borders correctly and so forth, but some think
      that it's way to expensive.  Others say that PC64 is too unwieldy to
      use.

   Q: Has game X been converted to filetype Y and uploaded anywhere?
   A: Your best option is to have a look in the index files kept on each
      site. (00index.txt)

   Q: Would somebody please upload my favourite program X to an ftp-site?
   A: There's an unofficial "Most Wanted" list moderated and updated by
      Lane T. Denson (rim_0002@frank.mtsu.edu or Pancake1@aol.com).
      Please read that list if you are looking for a particular program and
      can't find it - email Lane if you want to add a program.  Feel free to
      reduce the list by uploading something that's been requested!  :)

   Q: How to use more than one disk at a time on either PC64 or C64S?
   A: Have both disks in your dir, for instance:
         disk-1.d64
         disk-2.d64
      when the game asks for disk 2, hit F9 and change disk to disk-2.d64 or
      whatever the diskname. When hitting enter on the disk, it will change it.

   Q: How do I get a listing of what's contained in my C64 games archives?
      The utility DIR64.EXE works similar to the DOS dir command, but goes
      into D64 and T64 files and lists their contents. It also lists the
      PC64/P00 files with their full 16 char name. To get a complete listing
      of all your C64 programs, type
         dir64 c:\ /s >c64.dir
      at the DOS command line. You can then look into C64.DIR with a text
      browser when you search a certain C64 file.

   Q: Can I use a joystick and/or gamepad?
   A: Yes, in the commercial versions.  Otherwise you will have to settle
      for keyboard emulation of the C64 joystick.

   Q: Can somebody post me the BASIC and KERNEL ROM code in order to get my
      C64 emulator working?
   A: Grab the file roms02.zip from /pub/c64/emulator on frodo etc.
      It has all the ROMs you need to get X64 working.

   Q: Does anyone know if there is an msdos based utility in existance that
      will convert a C64 .LNX file (Created with Lynx 17, Ultimate Lynx Etc.)
      into a .D64 Image (C64S)?
   A: If you have C64s Version 1.1b (the latest) registered or unregistered
      you can use it to dissolve .LNX files. Put the .LNX file on a .d64, 
      then get a copy of Lynx for the C64 (you can get it from ftp.funet.fi).
      Then simply run Lynx on the .LNX file.


  3.2 C64S.

      Note that most of these answers have been provided
      by C64S author, Miha Peternel, to comp.emulators.cbm.

   Q: Is there a program out there that will allow me to capture
      screens from one of the C64 emulators and dump it into a PCX file?
   A: In C64S, hitting PRINT SCREEN puts a .bmp file (C64S0000.BMP) into
      your emulator directory.  Alternatively you can use a "screen
      grabber" utility such as Screen Thief (st101.zip).

   Q: How do I run other .d64 files with the C64S emulator demo version 1.0c?
   A: Just rename the .d64 file you are interested in to testdisk.d64.  It
      will work just fine under c64s10cd.

   Q: OK, but how do I get multi-disk games to work in C64S shareware v1.0c?
   A: Patrick (pcwitteman@et.tudelft.nl) writes:
      Create a number of sub-directories, containing the .d64 files of the
      game you want to play in the c64s10ed. rename them all to testdisk.d64
      (use trans64 1.14 to create the new format). Use the subst command in
      DOS to substitute those sub-dirs with drive letters.
      For example: subst e: c:\c64s\disk2
      When your game asks you to change the disk, use the CD command in
      the alt-F9 disk menu to change the disk and press E. Then return to
      the game and press space or whatever to continue loading.

      Keep in mind that none of this is necessary with C64S v1.1b, since 
      it allows you to select any disk you want.    

   Q: Which is faster, PC64 or C64S?
   A: C64S reaches 100% speed on a 486-33, but with a lowered frame rate.
      On a 486-66 it runs at 100% with 1/1 or 1/2 frame rate, depending on
      the program. Of course, you can set the speed to maximum which is
      up to 500% on a 486-66 with screen refresh disabled, that is 250%+
      with lower frame rate like 1/17. I wish VGA's were faster.

   Q: There are some objects on the screen that you will just pass through
      as if they didn't exist.  I noticed it on Miner 2049'er and Jumpman.
      Is this fixable or just a bug?
   A: Read the docs! If the screen refresh is not set to Original, some games
      may not detect all collisions correctly.

   Q: What's in store for the next version of c64s?
   A: The new version will come out as soon as fastloaders work ok. This
      is the most critical emulation problem at the moment, I think most
      of you will agree. Apart from that many graphics problems will be
      solved as well.

      The new version will also introduce a new .D64 format (it will
      use/make the old one, too), so a disk image will also contain GCR
      coded tracks where necessary (for the correct loading of copy-
      protected programs).

   Q: Shouldn't it be possible to stick all the C64 games in one HUGE .T64
      file, and thus have easy access w/ descriptions to all the games?
   A: Theoretically it is possible; however, for practicial reasons (DOS is
      low on memory etc.) C64S limits the maximum number to 64. 



  3.3 PC64.

      Note that most, if not all, of these answers have been provided
      by PC64's author, Wolfgang Lorenz, to comp.emulators.cbm.

   Q: I don't know how to use the fire joystick with the keyboard..
   A: Fire is <Right Ctrl>, and the directions are the white arrows.  Don't
      forget to turn <Num-Lock> off.

   Q: Can you use a printer with PC64?
   A: You can connect the devices 4..7 either to a device like PRN or a DOS
      file.  There are 4 code mappings CBM -> ASCII:
         channel 0 = big letters, channel 7 = small, rest = unchanged
         all big letters
         all small letters
         leave everything unchanged
     If you want mapping *AND* graphics, you can open 2 files with
     different channels (e.g. 7 and 1).

   Q: Can PC64 do PC speaker sound?
   A: Sorry, no. The SID voices 1 to 3 are mapped to the Adlib FM part of a
      Soundblaster compliant card, and the samples over $D018 go to the DSP.

   Q: Is there a way to get an analog IBM compatible joystick to work in pc64?
   A: IBM analog joysticks on a game card and C64 digital joysticks on the PC64
      cable are supported only in the registered version.

   Q: Do ISEPICed files work with PC64?
   A: ISEPICed files work with PC64 if they not on a D64 disk image but simple
      P00 files. The loader tries to read some location in the floppy via "M-R",
      and if this fails it will load the data file with the standard 
      routines.

   Q: How does the sound support work?
   A: PC64 maps SID voices 1 to 3 to Adlib and digitized samples to
      Soundblaster DAC. Voice synchronisation, ring modulation and filters
      aren't supported. The Adlib sounds a little different from the original,
      but the tunes are cleaner than the sample approach of C64S, C64Alive and
      SIDPlay. Digital drums and noises sound good, but digitized speech has
      timing problems if the <Options / Timing / Update screen every x.
      vertical refresh> is higher than 1. It sounds like a croaking raven
      then. <g>

   Q: I would like to know whether you can re-configure the keys used for
      the joystick.
   A: In version 1.x, there is no way to change the keys for the joystick
      emulation.  But you can map both joysticks to the keyboard in the
      <Options/Joysticks> dialog and exchange the keyboard between the players.

   Q: How many PC emulators include the actual 64 ROM images, including
      Microsoft BASIC?
   A: Personal C64 (ftp.rz.uni-hildesheim.de /pdsoft/pub/c64/emulation/pc64
      pc64e112.zip) comes with several system ROMs:
        r1.64k, r2.64k, r3.64k different revisions of kernal
        original.64k           kernal r3 with load default #8 and short RAM test
        sx64.64k               kernal from SX 64
        64ersys1.64k           extended kernal from 64'er magazine
        exosv3.64k             another extended kernal from 64'er magazine
        original.64b           Microsoft Basic V2
        original.64c           4K character ROM
        vc1541.64d             16K VC1541-I floppy ROM

      I've asked both the German sites of Commodore and Microsoft if they will
      allow me to distribute their ROMs with PC64. One week later, Commodore
      Germany directed me to Commodore USA. After this time I didn't hear
      anything from the two companies. So I decided to deliver the ROMs without
      explicit permission.  This strategy can be changed at any time, because
      PC64 has a built-in feature to read the ROMs from a connected C64
      (the <Manager / Read ROMs> command).

   Q: Can you please list the extra commands / features of the two kernal
      replacements that come with PC64?
   A: I don't know much about EXOS V3 as I'm mostly working with the 64'ER
      SYSTEM V1. Its features are:
      - Fast loader, about 6 times (useless on the emulators <g>). You need
        a second ROM for the 1541.
      - Additional keys:
        F1 = (directory)
        F2 = sys4096*
        F3 = list<CR>
        F4 = old, restores Basic programs after reset
        F5 = <CLS>run<CR>
        F6 = off, disables extensions
        F7 = load<CR>
        F8 = dev#8/9, sets default drive
        Ctrl+CursorDown = go to last screen line
        LeftShift = Stop scrolling
      - Shift+Run/Stop default is floppy
      - "Wedge", i.e. floppy commands and status with @
      - The 1541 @ replace bug has been fixed

   Q: How can I set PC64 up with Linux dosemu?
   A: This is an excerpt of the PC64 user manual (thanks to Marko Makela):
        Linux dosemu
      The emulator has been used on Linux with kernel versions 1.1.64 to 1.1.73
      and dosemu 0.53.35.  If you get a newer version of dosemu, you may need to
      upgrade the Linux kernel as well.
      This instruction assumes that dosemu is already running.  Note that the
      configuration file /etc/dosemu.conf must be edited to allow graphics.
      Disable the video BIOS shadowing and use the setting "allowvideoportaccess
      on". Uncomment the "video" line that corresponds to your display adapter.
      You should be able to start PC64 from the DOS command line, just like you
      would do in MS-DOS.  If you want to use the joysticks or the L64 link, you
      may need to edit /etc/dosemu.conf to grant access to the corresponding I/O
      ports.  The sound is not likely to work, even though you grant access to
      the AdLib or Soundblaster registers.  The SoundBlaster registers are at
      0x210-0x29f, depending on the jumper settings.
      ports { 0x201 }                      # analog joystick
      ports { 0x378 0x379 0x37a 0x37b }    # LPT1
      ports { 0x3bc 0x3bd 0x3be 0x3bf }    # LPT2
      ports { 0x278 0x279 0x27a 0x27b }    # LPT3
      ports { 0x2bc 0x2bd 0x2be 0x2bf }    # LPT4
      ports { 0x388 0x389 }                # AdLib
      Note that there is a bug in dosemu: If a DOS program is running in
      graphics mode, and you switch to another console with Ctrl+Alt+Function
      key (F1-F8) and back to dosemu, the graphics screen will not be updated.
      If you haven't set the option "VGA card on local bus" in Options /
      Desktop, you have to press ESC and F5 after switching back to PC64 in
      order to refresh the C64 screen.

   Q: I have not gotten sound to work..
   A: Look into <Options / Sound>. What does the detection say? Is the Adlib
      there? I'm using the original detection algorithm from Adlib, but if it
      doesn't work, I can add another switch to <Options / Desktop>. This is
      treated as an error, and errors will continue to be fixed in Version 1.x.

   Q: How can I load the p00 files that I have converted from the tape
      imaes(the .t64)?
   A: <Manager / New>, select the directory with the cursor keys, press <tab> to
      go into the file list, select the program and press <enter>. Or associate
      the extensions .P00, .C64 and .D64 with PC64.EXE if you are using a DOS or
      Windows shell.

   Q: How can I speed it up?  I have a dx280 and donkey kong is running a
      little slow compared to c64s.
   A: Both Donkey Kongs from Nintendo and Ocean don't use heavily scrolling so
      you should get about 200% with a 486DX2-80. PAL is about 4% slower than
      NTSC. If you have set <Options / Timing / Update screen every nth vertical
      refresh> to 1, set it back to 2. The setting 1 is only necessary for 0.5%
      of the games. You may also try to increase the <Options / Timing / Limit
      6510 performance to n percent> from 100 to 110 or somewhat.

   Q: I sometimes get the same error (CPU jam) when I run C64S (usually on EA
      games) ... Is this a problem with fastloaders or disk copy protection?
   A: There are certain illegal opcodes ($02, $22, ...) which halt the 6510
      CPU. Neither IRQ nor NMI can change this state, only a RESET works.
      When the emulators encounter such an illegal opcode, they print out
      an error message (PC64 uses some of the opcodes as ROM traps).

      If a CPU jam happens, first copy the disk image back to a 1541 and run
      the program on a real C64. If it doesn't work, it's either a copy
      protection or your disk image has been crippled. Some transfer programs
      between 1541 and PC do not use checksums.

      If the program runs on a real C64 but not on PC64, it is using C64
      features which aren't emulated yet. Try it then on C64S or C64Alive.
      The quality of the emulation in PC64 1.x will no longer be improved
      because all energy now flows into Personal C64 2.0 for Windows. The
      new versions 1.12, 1.13 and so on contain only bug fixes and
      solutions for hardware conflicts.

      You can easily detect a fast loader in PC64: Run the program and wait
      till it hangs, then press ESC once. Nothing happens? Then it has a fast
      loader. You must press ESC again to go back to the desktop. If the first
      ESC works, restart the program with SHIFT+F5. Wait 2 seconds and press
      ESC. Now watch the protocol: Are there many red lines "Userport und
      serieller IEC-Bus werden nicht unterstuetzt"? Then again, it's a fast
      loader. You can go to the next and previous error with F4 and SHIFT+F4.

      If it has no fast loader, it could hang in an endless IRQ loop. Press I
      to go to the next IRQ event. Is the command above a RTI? If yes, the
      program either uses some undocumented trick to issue an EOI or it is
      timing dependent. As the disk access on the emulator is so much faster,
      a program which expects an IRQ to clear $DC0D in the meantime will not
      always run. I'm trying to make PC64 2.0 more compatible so that most of
      the programs will run. PC64 2.0 will probably come out in Fall '95.

   Q: I can't get Impossible Mission to work right.
   A: Impossible Mission works if you increase <Options / Timing / VIC report
      new line at x percent> from 80 to 100. This is automatically done if the
      name of the game is IMPOSSIBLE MISS. and you start it from the manager.
      If your Impossible Mission has another name, PC64 will remember the
      settings the next time and set the 100 percent itself. Just run it from
      the manager and not by typing in LOAD"IMP*",8 by hand.

   Q: What are all the timing settings(what do they do and mean?)...
   A:

                     Update screen every nth vertical refresh
      A C64 updates the screen 50 (PAL) or 60 (NTSC) times per second. One
      Update is called "vertical refresh". As the VIC consumes 80% of the
      emulation time, you can increase speed by increasing this value. If
      you set it to 60, the screen updates once per second. Then you get 500
      percent on a 486DX2-66. This is only useful for applications. For games,
      use settings between 1 and 5. The default is 2 which means 25 fps
      (frames per second).

                       Limit 6510 performance to n percent
      A C64 is always 100 percent fast. The emulator will run as fast as
      possible, e.g. 150 percent on a 486DX2-66 with schreen refresh 1:2.
      To get original C64 speed, you should set this value to 100 percent.
      The PC will then waste the 50 percent difference between 150 and 100
      with waiting.

                          Use VideoCounter algorithm #n
      If a game doesn't scroll correctly (Boulder Dash, Rambo, 1942), then
      try settings 2 or 3.

                        Start of interrupt consumes n cycles
                       VIC[12h]: Report new line at n percent
      The first setting is for Raster IRQ, the second for Raster Polling.
      Change them if there is a single wrong line at the beginning or at
      the end of a screen switch (scolling region <-> non scrolling region
      or text <-> graphics) or if there is a single flickering line. The
      shortcuts are <Ctrl+Grey+/-> and <Alt+Grey+/->.

                             Enable char and sprite DMA
      Takes away 43 cycles from the CPU on a bad line and 2 cycles for
      each visible sprite in the current line. Switch it on if a game uses
      C(h?)opper Bars, i.e. every raster line has another background. It
      will also remove ghost sprites on some games.

                                       Video
      Leave that to PAL and switch it only to NTSC if a game doesn't run.
      PAL consumes less time for VIC emulation.

                                      Real time
      If the emulation doesn't run with 100 percent, you can set certain
      IO chips to work with real time. I.e. if you run with 500 percent
      and your program uses IRQ music, you can hear it at original speed by
      selecting real time for Timer 1A.

                           Default for new emulator windows
      If you click this checkbox and press OK, the current settings will
      be the new default settings for all unknown programs, e.g. <Emulator /
      New>. Otherwise only the settings for the program in the title bar
      of the dialog box will be saved.

   Q: Are there plans to optimize some of the code?
   A: The code is already written in optimized 32 bit 386 assembler. As the
      big performance killer is the VIC, you can increase <Options / Timing /
      Update screen every nth vertical refresh> to 3 or 4.

+  Q: So, what can I expect in v2.0 of PC64?
+  A: PC64 2.0 will run in Windows 95, Windows NT or OS/2 3.0, and is due 
+     out around the fall of 1995.  Here's what's in store: 
+
+     - individual keyboard and joystick mappings for each program
+     - fast-loader support
+     - some GCR-based copy protection support
+     - .t64 support
+     - realtime X1541 cable support
+     - assignment of both PC joystick buttons possible
+     - new program storage format that defines whether to use NTSC or PAL,
+       you can put a textfile in with documentation, etc.
+     - ..and much, much more (as soon as I find out what.. <g>)

      All programming efforts now are going into PC64 2.0; there may be an
      interim version to fix some bugs.



  3.4 Other emulator specific.

   Q: I have problems extracting the files from AMIGA .lha sidtune archives,
      which I downloaded from Ami-Net or <frodo.hiof.no>, on my PC running
      DOS ! Further I can't get SIDPLAY to accept the extracted files !
   A: Consult the FAQ to SIDPLAY. It is available in the latest SIDPLAY
      package or by asking the author <3schwend@informatik.uni-hamburg.de>
      to send you the latest version (SIDPLAY v1.25b handles fixed
      *.INF/*.info files).

   Q: Has anyone been able to get the A64 emulator for the Amiga running?
      Every time I start it up, the system crashes.
   A: What version? If it's V2, then it always crashes under Kickstart 3.1.
      V2 works under Kickstart 3.0, but not if you use the OCS/ECS chips
      (using AGA scrambles the display :-P). Can someone please fix this?
      To be sure of getting A64 to work you have to use Kickstart 2.0.

   Q: Anyone ever get C64 Alive working?  I can't seem to figure out what to 
      call the ROM files, and the docs are of no help.
   A: (Part 1) You don't have to call ROM files, just type 'c64alive.exe' - if
      this doesn't work - for me it works fine - there must be some other
      problem like the extended video mode (on my Speedstar 24 (ET4000)) C64S
      does not run instead ...
      BTW, c64a09ah.zip is a shareware demo version that terminates after 5 min.
      (Part 2) Load NO drivers except himem.sys.  It worked fine from there.
      It only loads single files, and in raw format which trans64 converted
      fine.  (from George A Neal <gneal916@netcom.com>)

   Q: I'm running A64 v3 on my AGA machine and the sprites are messed up!
   A: Questronix fix: Set your sprite pointer to lo-res.
      BETTER FIX: Use the PD utility KILLAGA to trick your Amiga!
         1) From the CLI, type ED A64!     (Be sure to specify directory!)
         2) Type    KILLAGA A64            (specify directory of KILLAGA)
         3) Save A64!                      (In same place as A64)
         4) Go into ICONEDIT and save A64!.icon as a PROJECT
         5) Go to Workbench and get info on A64!. Enter ICONX as the default
            tool.

   Q: I'm having some trouble getting Trans64 to work.
   A: Don't just press the "test" button once, press it ten times and 
      if any one of the test's fail then adjust your delay. I use 10 because
      if your delay is not long enough it will show up in one of the 10 tests.
      I have the delay set to 40. The machine I have is a 486 DX/2 66 and
      my parallel port comes off one of these vesa local bus ide multi i/o 
      cards. 
      If I drop the delay to less than 40 then sometimes I get unpredictable
      result with the test.

   ===========================================================================


Make REAL money with your website!

The entire AOH site is optimized to look best in Firefox® 2.0 on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2008 AOH
We do not send spam. If you have received spam bearing an artofhacking.com email address, please forward it with full headers to abuse@artofhacking.com.