home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 224
/
224.d81
/
t.e1
< prev
next >
Wrap
Text File
|
2022-08-26
|
11KB
|
369 lines
u
A B O U T E M U L A T O R S
by Professor Dredd
aka Ken Kill, Jr.
There are people doing something
to help preserve our C-64 heritage.
Since the hardware not being
manufactured, they're doing it with
software. By the time the Pentium chip
was released, PCs had grown powerful
enough to do this. All the hardware
functions of the C-64 can be
"emulated" by a PC program.
Emulation means to simulate or
mimic. In this case it means that a PC
program takes the same data that would
normally go into a C-64 circuit and
provides the same (or close enough)
output that the original circuit would
have. Doing this takes a lot of
computing power because the integrated
circuits of the C-64 are fairly
complex devices. These PC programmers
have "reverse engineered" (analyzed
and made educated guesses about) the
logical functions of these integrated
circuits and written programs to
provide the same functions.
What are the main integrated
circuits of the C-64 which must be
emulated to create a software C-64?
You don't need to know these but for
the curious they are:
6510 - a 6502 compatible
microprocessor with an on-chip
bi-directional I/O port and enhanced
DMA function. Considered the "heart"
of the C-64, this is the integrated
circuit that performs calculations,
executes programs and runs programs.
CIA (6526) - The two Complex
Interface Adapters are the main I/O
circuits of the C-64. They provide
interfaces to the keyboard, serial
port and user port. One of the CIA's
also provides important memory
configuration data for the VIC-II
chip. The TI/TI$ clock in BASIC is
"ticked" by a timing circuit within
one of the CIA's.
VIC-II - This Video Interface Chip
provides the video output you see on
your TV or monitor. The VIC is
sometimes considered to be a
"co-processor" because it is capable
of grabbing control of the system
buss from the 6510. This is done
with a DMA operation (VIC is given
the highest DMA priority over all
other devices) and actually slows
the system down because the 6510
must be temporarily halted. The time
required for the VIC to do its work
depends on how many sprites are
currently onscreen. Processing speed
can actually be increased by about
15% by disabling the VIC chip with a
POKE.
PLA - The Programmable Logic Array
chip controls the memory map
configuration and provides an
interface for certain functions of
the cartridge port. It tells the
6510 what device (RAM, ROM, I/O) is
mapped to what areas of memory. For
the most part the functions of the
PLA itself are hardwired and cannot
be changed. Thus the possible system
configurations are limited to a
small number and are well known (see
p. 260 of the Commodore 64
Programmer's Reference Guide)
SID - The Sound Interface Device is
the chip that makes all the
spellbinding music and sound effects
you enjoy in your favorite games.
Essentially it is a dedicated
digital to analog converter with 3
programmable outputs. Its
flexibility and ease of use far
exceeded the sound devices used on
other computers of its time. This
chip is the one feature which drew
many people to the C-64. It was also
used in non-computer sound devices,
and there is even a PC sound card,
the HardSID, that allows you to use
multiple SID chips to produce sound
from the PC.
It is worth noting that emulator
programmers have more difficulty with
the SID than the others. This is
because during the manufacture of the
SID, certain inconsistencies caused
each one to be slightly different. Not
every SID produces EXACTLY the same
sounds. Also, there was at least one
revision in the chip's architecture
that caused sound output from some
programs to vary greatly (or not work
at all) between different C-64s.
Additionally, the motherboard layout
of the C-64 itself changed many times
over the years and the SID output was
occasionally affected. Trying to mimic
all these changes and inconsistencies
would make for an excessively complex
and SLOW emulator program.
ABOUT CCS64
Now that you know what an emulator
does, let's look at a specific case,
CCS64. There are other Commodore 64
emulators available. I have chosen to
focus on CCS64 because it provides the
fastest and most accurate emulation of
a real C-64. CCS64 is regularly
updated and always includes the latest
features in emulation. Here are the
URLs of the most common emulators:
CCS64 - The BEST!
http://www.computerbrains.com /ccs64/
V.I.C.E. - Good for Windows users.
Also emulates other Commodore
computers.
http://www.cs.cmu.edu/%7
Edsladic/vice/vice.html
C64S - No longer updated. Might work
better for slow PCs.
http://www.phs-edv.de/c64s/ind ex.htm
Anyone looking for Macintosh-based
emulators for ANY computer should
try:
http://emulation.net/
or
htt
p://www.auto.tuwien.ac.at/^rlieger/Po
wer64
[NOTE:] The easiest way to find these
emulators on the Web is to use
Google.com or Yahoo.com. Type in
"emulator" and the desired name.
The CCS64 manual recommends a
Pentium processor or better. This
seems to imply a 100Mhz or better
machine. Obviously, the faster your
PC, the faster you'll be able to run
the emulated C-64. If you're using a
486 or a slow Pentium, it is
recommended that you try "CCS64 V 1.09
Dos" or one of the older emulators
written for slow machines. To get
maximum speed from any emulator, you
should boot your PC into DOS and run
it from the DOS prompt. This will
remove the overhead of Windows, which
wants to act as a "middle man" between
the program and your PC's hardware.
While I've attained acceptable
emulation speeds under Windows with my
P133, your mileage may vary.
To install CCS64 on your PC, just
download the appropriate version.
Which one you get depends on your
system. Most people will want "CCS64
V2.0 B Dos, Win 95/98 - PMODE/W". It
works well under either Windows or DOS
and provides the latest features.
CCS64 is distributed in a PC-style
PK-ZIP archive (.ZIP). Unpack it using
PK-ZIP (mine is called "pkz204g.exe")
from the DOS prompt or by using WinZip
in Windows. Unpack the entire archive
to a single folder on your "C:" drive
in an easy to find place (mine is
located in the folder "C:\Program
Files\CCS64\32"). To make it easy to
find CCS64 in Windows, make a shortcut
to it by right-dragging the folder to
the desktop and selecting "Create
Shortcut Here" from the context menu
that pops up.
CCS64 is now fully installed and
most people will be able to use it in
its default configuration. To start
the emulator, double-click the file
ccs.exe or ccs64.exe (depending on the
version you downloaded.) If CCS64
doesn't start or you get an error,
consult the documentation files
"ccs64faq.html" and "ccs64.html" for
help fixing your Windows problem.
That's it, your ready to play!
CCS64 BEGINNER OPERATIONS
You now see the familiar C-64
BASIC sign-on screen. The first thing
some of you will want to do is change
the screen resolution to your liking.
Go to the "Video" menu by pressing
ALT-V. Use the up/down arrow keys to
highlight "Screen Mode" and select the
new resolution with the right/left
arrow keys.
[*** Warning! ***]
Not all monitors are designed to
display every possible resolution! It
is conceivable (in theory) to RUIN
your monitor by selecting an invalid
"Screen Mode". If you select a mode
that looks trashed, just hit ALT-Q and
then press ESC to quickly exit CCS64
and return to normal. I've
experimented with all modes on 4
different monitors and never ruined
one. If you leave your monitor in an
invalid mode too long, you're taking
an unnecessary risk. Refer to the
CCS64 Manual for more info.
Use the F4 - "Test" option to test
the new "Screen Modes" as you select
them. Your display mode will be
changed for a few seconds and then
automatically return to the previous
resolution. Use arrow-left and
arrow-right to select the "Screen
Mode" you want to try, then use F4 to
test it. When you find a "Screen Mode"
that looks good to you hit ENTER to go
back to the C-64 screen and use it. If
the new mode still does not please
you, use ALT-V and try again u