Commodore Free Magazine 
Issue 14 November 2007
www.commodorefree.com
Free to download magazine
dedicated to Commodore Computers
Available as Text Html PDF and
Commodore 64 D64 disk image 


Editor

November, bonfire night and
remembrance Sunday;
For me they both go hand in hand,
this is because I think of all
the services in remembrance
Sunday not just people who have
fought in wars. In an ideal world
we wouldn’t have a war and would
be able to talk out our problems
over the table.
It seems odd that a lot of wars
are started by differing faiths
and religions, the armed forces
are there to ensure all our
safety and give there lives to
ensure we are safe. 

So to are the Fire service,
police doctors nurses, they all
to some degree risk there lives
for ours. Recently 3 firemen were
while they tried to rescue and
put out a fire in the UK. 
I
thought of these as well as
everyone else for the 2 minutes
silence. It isn’t much but I wear
a poppy and give 2 minutes of my
time to remember the services
skill commitment and dedication
to our safety. 

Thanks 

Another packed issue and the
First Commodore Free competition
see page 5 For details of how to
enter 
.

HOW CAN I HELP COMMODORE FREE
Ok the best way to help would be
write something about Commodore
(yes for the observant I spelled
the company correctly this time)
_grin seriously though articles
are always welcome, 

WHAT ARTICLES DO YOU NEED 
Well they vary contact me if you
have an idea but I am looking for
Tutorials  (beginners and
Expert)


Experiences with Commodore
Why I love Commodore machines
Interviews  maybe you have
access to a power user


Thanks Nigel
www.commodorefree
commodorefree@commodorefree.com

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

Contents


Editor and Contents
Page 2


NEWS
General news

Midi news

Competition
Commdore poseter

TUTORIALS
Beginners guide to the 64

INTERVIEWS 
Lord Ronin 
Steffan Egger 
Fotios 
Mark Mc Dougall
Andrew Bourhill 
Jozef Lasziop

NFORMATION 
Commodore 64 Hardware 
Dtv Modding 

PROGRAMMING 
Hex files 


===============================
News


A Recent email from Robert
Bernardo


Hello, FCUG members,
I thought our table at this
year's Nov. 3-4 Vintage
Computer Festival 10.0 would be
the capper for the year 2007!
I was wrong! 

Gigantic surprise! Former CEO of
Commodore Business Machines, Jack
Tramiel, will be making a rare
public appearance! Yesterday I
received a message on the
answering machine from Karen
Tucker, CMO/VP of Public Programs
for the Computer History Museum
in Mountain View (San Jose area)
,and California. 

Here is part of what she said:

... I thought you might be happy
to know that the museum is going
to have a celebration of the
impact of the Commodore 64 on
December 10. It's kind of a 25th
anniversary celebration, and Jack
Tramiel will speak as well as
Steve Wozniak and William C.
Lowe, the father of the IBM PC,
and Adam Chulaniak (sp?) who was
the Amiga guy at Commodore, and
we're still settling on the
moderator. But I thought that if
you are still part of the Fresno
Commodore User Group... that you
guys might want to make the trip
down to Mountain View for this
event on December 10.


The exact title of that night's
program is "The
Impact of the Commodore 64: A 25
Year Celebration"
.
Here are the specifics: 


Location: Computer History
Museum, 1401 N. Shoreline Blvd,
(exit from the 101 Freeway)
Mountain View, California 94043
Phone: 650 810-1010 


Time and format of the event:
Monday, Dec. 10
6 pm - 7 pm -- Museum member's
reception with the guests. Beer,
wine, and hors' doeuvres served.
7 pm - 8:30 or 9 pm -- First

words/speech by Jack Tramiel,
panel discussion, question-and
answer session Afterwards,
informal chit-chat and possible
autographs 


Admission -- for the reception,
free to museum members ($65
membership) for the event, free
general admission ($10 donation
requested)
Seating capacity -- 400 


Webpage -- Karen remarks that
they are "stupidly slow" at
updating the events' page at 


http://www.computerhistory.org/ev
ents/


but assures that the event "is
really going to happen..
.
definitely"

Guests on the panel discussion 
-


Jack Tramiel (pronounced /tra
mel/, Karen tells)
,
former CEO of Commodore Business
Machines 


Steve Wozniak of Apple fame 


William C. Lowe, father of the
IBM PC 


Adam Chowaniec, former vice-
president of technology for
Amiga at Commodore Business
Machines 


John Markoff, moderator of the
panel discussion and New York
Times reporter and author of the
computer history book, "What the
Dormouse" 


Others to speak/appear 
-


Leonard Tramiel, former vice-
president of software
development and v.p. of advanced
technology at Atari Corporation 


Jeri Ellsworth, engineer behind
the CommodoreOne and the C64 DTV 


Media recording - photography (no
flash), videography, and audio-
taping permitted. Possible
webcast from Liquid Computing of
Canada (Chowaniec's current
company), which is sponsoring the
event. 



Here are Karen's answers to some
questions 
-
On Oct 27, 4:45 pm, Joe C. wrote:
> +Do members get
preferential/guaranteed seating? 


Members receive preference but
there is no guaranteed seating. 


> +Will tickets be made available
before the day of the event? 


There will be a link on the CHM
website for signing up, and an
email announcement will be sent
to the CHM mailing list. 


> +Is Karen the point person for
media pass requests? 


The point person for media is Bob
Stetson at 
stetson(at)computerhistory.org 


I met with Dale Luck, Amiga
software engineer, on Nov. 4 at
the Vintage Computer Festival
10.0.. After congratulating him
and teasing him a bit on his
recent marriage, I mentioned that
Jack Tramiel would 
be speaking at the Computer
History Museum on Dec. 10.
Surprised, he remarked that he
didn't know anything about it. 
I
described the event to him and
the times. I mentioned that Adam
Chowaniec would be there, and he
said that knew Adam. Dale was
interested in going to the event
and would tell other Amiga
engineers, too. 


Truly,


Robert Bernardo 


Fresno Commodore User
Group 


http://videocam.net.au/
fcug 


The Other Group of
Amigoids 


http://www.calweb.com/~r
abel1/


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

News


Just a quick message to let you
know that there's a new C64 MIDI
program called MyMIDI which
includes support for the FB-MIDI



interface.
A .d64 image is available for
download from the following URL.


http://noname.c64.org/csdb/releas
e/?id=56275


MyMIDI requires a C64 with MIDI
interface and a MIDI keyboard.
MIDI keyboard notes are displayed
on the screen and played by the
SID chip.


Many thanks to 6R6 coding this
program.


Regards
Fotios
http://www.c64net.com/fotios/


my-midi 0.2:
By GRG/SHAPE October 2007


Features:
Midi-keyboard data output to your
screen.
And also data input to music
player.


C64 Key functions:


1 : Single voice play along
2 : Three voice play along
(first 3 keys at a time)
3 : Concate (First in first
out)
4 : 1 voice Arpeggio (127
keys with 10 fingers)
F : Toggle filter on/off
B/SH+B : Set band
X : Set resonance
H : Hardrestart type ( 1 
=
hardest 
)
W/SH+W : Waveform
A/SH+A : Attack
D/SH+D : Decay
S/SH+S : Sustain
R/SH+R : Release
+/-: Select arpeggio speed
MIDI key functions:
(This depends on your midi
keyboard ofcourse)
Keys : Play note on
C64
Pitch Bend Wheel: Bend frequency
on C64
Modulation Wheel: Set filter
cutoff
Volume Slider : Set pulse


Modulation Wheel & Volume Slider:
There are 128 possible
controllers on a MIDI device. 



These are numbered from 0 to 127.
Some of these controller numbers
are assigned to particular
hardware controls on a MIDI
device. For example, controller 
1
is the Modulation Wheel. 
Other controller numbers are free
to be arbitrarily interpreted by
a MIDI device.
In this program Pulse control is
assigned to 7, and filter cuttof
is assigned to 1.


User defined interface:
You can customize the registers
in case you
have a interface not on the list.
Control register : Register for
talking with your interface
Status register : Register tells
me if a byte is ready.
Tx data : This is the
send byte register.
Rx data : This is the
receive byte register.
Reset midi : Used with
control register - Resets your
interface
Enable midi : Used with
control register - Set count
division and enable midi.
Enable midi Irq : Used with
control register - Set count
division, enable midi and set irq
line.


Fetching data is done through the
irq interrupt.
That means this program doesnt
work with interfaces connected to
a nmi line.


Known Bugs
If the midi keyboard sends too
much data,
the screen output routine will
not be able to keep up with
the data received. It will just
print what currently is in
buffer.


If the 1Voice arpeggio program
hangs on a note - Press H to
reset player.


My Setup:
C64 (6581 sid chip)
FB-Midi Card rev.1a in C64
cartridge port. ( my midi
interface 
)
M-Audio Keystation 49e ( midi
keyboard 
) 


Commodore Free



Commodore Free now has a Message
board
Commodore Free magazine message
board. 22:34


A forum for the readers to share
ideas or experiences. It can be
found at
http://commodorefree.proboards104
.com/index.cgi
Although not 8 bit friendly sorry


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


Commodore Poster Competition


Win one of these superb posters
kindly Donated to Commodore Free
magazine by
www.vintagecomputers.net
http://www.vintagecomputer.net/po
ster_detail.cfm


The poster will be delivered to
the winners house Free of charge
below are some details about the
poster taken directly from the
Website


History of Commodore Computers
Poster
Poster Dimensions 24" x 36"


I have for sale "The History of
Commodore Computers" poster which
is the culmination of three years
of work and research. The
Commodore systems have been
professionally photographed
specifically for this poster and
the photos appear nowhere else. 


This poster is ideal for any
vintage computer fan, Commodore
Computer collector, classic or
vintage memorabilia display. This
is a limited edition poster and
will not be re-printed!


Poster includes hi-resolution
images of rare and hard-to-find
systems including the KIM 1, PET
2001, PET 4016, PET 8032, VIC-20,
C-64, C-64C, SX-64, C-128, 
C
128D, B-128, CBM 256-80, P-500,
Plus/4, C-16, C-116, VC-20, Amiga
500, and selected diskette
drives. 


$19.99



USA Ship $3.00


$19.99
Canada Ship $5.99


$19.99
International Ship $7.99 


What do I have to do to win one
of these superb posters?


Imagine I have made a Time
capsule and It will be buried
deep in the ground for our
ancestors to find. The capsule
will contain news papers
magazines and videos that are
current to the present day. 


What Commodore items should be
buried with the Capsule, also
what other everyday household
items could be included? The size
of the capsule will be as large
as a house at this time it’s 
a
fictitious exercise, and
everyone’s house size is
different. 


The best entry to the competition
will win the poster 2 runners up
will have there text printed in
the magazine, so feel free to
include a picture of yourself 


Send the article and pictures to
me via email plain text emails
would be preferred but I can take
most formats of text if you are
in any doubt feel free to check
via email


commodorefree@commodorefree.com


Many thanks to
www.vintagecomputers.net for the
poster donation, the quality of
the posters are superb I look
forward to the submissions of
text; articles can be as long as
you like but less than 2 pages
would be preferred 


The closing date will be the end
of February 2008, so you have
plenty of time to get pen to
paper, 


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


THE Absolute Beginners guide to
the Commodore 64 



WARNING 
Some items in this article
involve opening up your machine
and testing electrical
continuity; while this should be
a safe process ensure the machine
is Powered off and unplugged,
also earth yourself this can be
done by connecting a cable to
your wrist and to a radiator or
through the purchase of 
a
Commercial earthling kit,
computers are susceptible to
static electricity 


You follow the following article
at your own risk and Commodore
free and indeed I can’t be held
responsible for problems caused
by following this Article as 
a
result of damage to yourself
others and any electrical
equipment. 


My New Commodore 64 Computer


Commodore 64 history in brief


 Introduced at the winter
Consumer Electronics Show in
January 1982
 The machine is listed as
the highest selling personal
computer in the Gunnies book of
records
 The machine was redesigned
to make a reduced cost version
this was the Commodore 64C system
released around 1986 featuring 
a
more streamline designed case
and surface mounted chips to
reduce costs
 The C64 uses a 8-bit MOS
Technology 6510 microprocessor.
 The C64 had 64 kilobytes of
RAM, only 38 KB is available for
the Basic programmer to access
 The VIC-II, produced
graphics and could display 16
colours, also eight hardware
sprites
 The sound chip, SID, had
three channels, each with its own
ADSR envelope generator, and with
several different waveforms, ring
modulation and filter
capabilities

 There are two versions of
the SID chip. The first a 6581,
which is to be found in all of
the original "breadbox" C64s, and
early versions of the C64C and
the Commodore 128. It was later
replaced with the MOS Technology
8580 in 1987 they both use
different voltages and are not
interchangeable 
Retro Classic
So you obtained a Commodore 64
for whatever reason and the
machine came with no instructions
or manual just the Commodore 64
and hopefully a power pack in the
form of an external "brick" you
may be new to the system or
returning to the machine after
years of inactivity. The
Commodore 64 is a well loved
machine, it does contain some
faults but most enthusiast choose
to ignore them or class them as
quirks rather than hardware and
software bugs. I still remember
the day I received my Commodore
64, mainly because it was
Christmas day, but also
remembering going to a Computer
exhibition 
with my father in London and
seeing Geos operating system and
purchasing Geos and a 1541 floppy
disk drive, this could of course
be remembering 
a
great childhood, I prefer just to
remember my commodore 64 and me
and dad wowing over Goes and
thinking we must buy a printer
for this system.


Question
What can i do with this machine
how is it supposed to be used and
is there still support 


Fear not! Applications, games and
even new hardware is appearing
all the time for one of the best
systems ever created, but we
don’t want to dwell on that for
now what we want is to know the
system is working and then see
what "bits" we have 


New starters
Lay all the parts out in front of
you lets see what you have
hopefully you will have at least
these items



TV to connect the machine to
other wise you wont be able to
view a picture 


Commodore 64 itself This may be 
a
new designed Commodore 64c or the
older more rounded shape 


Picture of original 64


Picture or the redesigned 64 the
64c


Tv/Av lead 


Commodore power supply 


TV Connection
While the Commodore 64 can
connect to a domestic TV via the
aerial socket the picture isn’t
as good as a dedicated Av
connector, (more about this
later)
Plug in the power supply to the
C64 the connector should only fit
one way round and its location is
on the right of the machine with
the keyboard facing
you, also here you will notice 
2
joystick ports and a power switch
(on/off) ensure the switch is off
.
Now connect the Tv / av cable to
your commodore machine, this will
connect to the Commodores
modulator located at the rear of
the machine 


The modulator converts the
digital signal produced by the
machine to an analogue format for
display on a standard domestic
television via the Arial socket.
One thing to be aware of is that
different countries have
different standards, for TV
signals and for power, so if the
Commodore 64 came to you from
England and you are in the U.s.
a
the TV signal isn’t compatible
and the power requirements are
different, England or the UK. Use
a Pal tv signal and U.s.a use
NTSC so you would need a TV that
can handle the different format.
The other thing is that U.s.a use
110volts of electricity from the
wall socket usually on a 2 pin



plug whereas the UK. use 240
volts on a 3 pin plug (live,
neutral and earth) 


Now connect the other end of the
Av cable to the tv and select an
unused channel, tune on the
Commodore 64 at the wall socket
and at the machines switch (by
the joystick port) now turn on
the tv press the unused channel
and follow the tv instructions to
manually tune to a tv signal with
luck you should find the
commodore screen slowly fade into
picture as you start to tune in.


Nothing is working
Ok don’t panic if this isn’t
working first we need to check
the Commodore 64 is receiving
power, in the u.k. the plug that
goes to the mains has a fuse this
need checking to ensure its
working, then look at the
commodore 64 there will be 
a
POWER light this should be
glowing red, if not then you
could try a friend and swap
power supplies but also be aware
the Commodore 64 has a fuse
inside this could be blown and 
i
have been given 3 or 4 machines
where this was the only fault,
its a clear glass fuse similar to
the picture below, 


test it with a multimeter or take
it to an electrical specialist
for a replacement they should be
only a few U.k. pence, i was
charged 10 pence for 
a
replacement, and the guy in the
shop even kindly tested it for
me. See the how to use 
a
multimeter for continuity testing
section. 


Still dead? 
depending on the model, the old
brown Bread box machines used
socket mounted chips, look for
the SID chip it should be as
shown in the picture below
This could have blown and while
the machine will work without the
SID chip albeit without sound it
wont work with a blown one, so
carefully remove it with
a chip extractor or with 2 flat
bladed screwdrivers remove the
sid chip and then screw the case
back together now try powering on
and tuning the picture if 



you have a picture now you now
you have a dead Sid chip, try
eBay for a replacement ensure its
the exact same model of sid
remember there are two 
main revisions 6581 and 6580 they
are NOT interchangeable 


TV/Monitor
As described at the start of this
article, using the aerial socket
on a tv isn’t the best picture
quality the Commodore can
produce, on the rear of the
machine 
is a AV??? Socket various cables
have been made allowing the
Commodore to connect to modern TV
and Av equipment, for example
your 32" plasma TV that may not
have an internal tuner, only
Scart and Composite connections
try looking on Protovisions
website as they sell various
cables, also eBay sellers have
Commodore 64 to scart cables as
well as svideo and composite 


Picture of Commodore to Av cable
Variants available for a few
pounds, If soldering is a skill
you possess you could even
produce your own try looking here
http://pinouts.ru/Video/C128C64CV
ideo_pinout.shtml


and here 


http://pinouts.ru/VideoCables/C12
8toScartSVideo_pinout.shtml 


for some ideas how to produce
various cables.


Picture of a Commodore to Scart
cable


As shown in older versions of
Commodore free various boxes
exist that will take a composite
signal and create a picture
viewable on a TFT Pc screen or 
an old CRT screen, the Crt
screens are the big tvs the TFT
are the slim sexy models, looking
on eBay the Commodore 1084s
monitors that were one 
favourite with Commodore users
seem to be going for around £20


U.k. pounds really its better to
use the money to purchase 
a
cable, i purchased a cheap
TV with Av sockets on the front
and plug the Commodore into this,

the picture is excellent the
cable cost me £5 UK. from eBay
and the TV cost me £89 new


how to use a multimeter for
continuity testing.
A mulimeter can be obtained for 
a
few pounds the one I use cost me
£3 u.k. pounds I am not an
electrician so we are not going
to be doing anything fancy like
testing circuits For Basic fault
finding a continuity test can
save time and money 


Set the multimeter to the ohm
setting. now touch the two probes
together and you should hear 
a
noise and the display will
change, this confirms that
continuity or electrical current
is flowing round the device, open
the two probe contacts and the
display will drop back to zero,
showing us there is no continuity
This can now be used on fuses
Touch 1 probe to one end of the
fuse and the other probe to the
other end of the fuse if the
multimeter makes a noise or the
display changes we have
continuity or current flowing
through the fuse if the display
doesn’t change then the fuse is
dead. You can use this to check
the fuse in the plug of the
Commodore 64 and the internal
glass fuse (I am sure there is 
a
technical name for this fuse but
I don’t know what it is)


Opening up the Commodore 64
This depends on the model but the
basics are really the same.
Ensure nothing is plugged into
the machine. Turn the machine
over on your lap so the keys are
facing down and the under side is
now facing up, 


You will need a small cross head
screwdriver to remove the screws
from the base of the machine,
Locate the screws as shown they
should come out quite easily.
Turn the machine over carefully
noting where the screws fall out
Also worth checking is that all
the chips are secure by gently
pressing them into there sockets
(if they are socketed 
)


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


Interview with
Lord Ronin from Q-Link


<CF> could you tell the readers
about your self?


 <LR> Leading question {G} Well
at this time I am 57 in body and
still stuck at 18 in mind.
Fanatical Commodore User, pipe
smoker, martial artist, cat
petter and Role Playing Gamer. Oh
yeah I am also into mountain man
recreation and Middle Ages
recreation stuff.


<CF> That creates a few more
questions to ask. First though
who or what is Lord Ronin and if
you would, tell us your real
name?


<LR> Yeah man, I thought that
would make more questions. {G} OK
then, man I have to remember my
original name. Right then, in the
mundane world I am
Sensei <term for a martial arts
instructor> David Otto Edward
Mohr. As for Lord Ronin from Q-
Link. That is my Inet handle, my
BBS handle, my writers handle and
the handle that I use at Sci-Fi
cons. 


Ah, I can see the question in
your eyes, even at an 8 hour time
difference. Where did Lord Ronin
originate? Well it is the name of
my fist Dungeons & Dragons
character. Made back in 1978ce.
Gained the title of Lord when he
progressed to a specific level.
When I went onto Q-Link in early
1995ce.The handles that I wanted
where all taken. Didn't want to
be Warlord 124.So I took the name
of my first RPG character. Later
after the murder of Q-Link. 
I
added the "from Q-Link" part. The
rest just sort of grew.


<CF> Where do you live in the
World?


<LR> Lovely Mossyton, or better
know to the world as Astoria



Oregon inthe states. Small little
coastal community. Where the
normal sky is grey.Remember we
don't tan in the summer, we rust.
{VBG}


<CF> Tell us about your first
Commodore and how you received
it.


<LR> That is a long one to
answer. OK being short as
possible. My frist ever PC was 
a
Commodore 64, with a Sears SR
3000 monitor, couple of weak
joysticks, one 1541 drive, an
Okidata 120 printer a few factory
disks in boxes and a disk box of
"Arkhive" disks. Can tell you
that one of the first three games
that I played was the factory
AcroJet game. All of us 


in the kibbutz played it. Till we
eventually destroyed the disk in
some manner. Didn't know about
making back ups at that time.


But unlike many users of the C=
PC platform. I didn't score mine
up in the 80s. In fact I didn't
have a computer in the 80s, not 
a
TV. Just long sessions of Role
Playing Games. And an
understanding wife at the
time{BG}. In fact I was really 
a
computer phobic. However me mum,
down in Grants Pass, ah that is
about 400 miles from me. She had
joined the
literacy group. In short she was
teaching adults to read. 


This was in the 80s. Well one of
her students was into the
Commodore 64. Don't ask I haven't
a clue as how a man can operate
the Commodore and not be 
able to read. She got semi bit by
the Commodore bug. Scored up 
a
MPS-803 printer,


the 64, thrid party monitor and
one 1541 disk drive. Several
disks from little companies. Many
for her diet 
and diabeties care. A nice
computer desk. OK not that nice
cause I can't set it up for left
handed.
She kept on bugging me about the
computer. Wanting me to score one
up. At that time I was working on



the road, as a fund raiser for
Oregon
Special Olympics. 


Yeah the telemarketer scene. At
least it was state licensed and
bonded. One day, I was at her
place helping her out while 
I
worked in the area. She listened
in, as I was running a Gamma
World game for some of the other
guys from the phone room. That
was the start of her wanting me
to try out a carer in writing.
Bugged me about that as well.
Said that she was going to pick
up a computer for me.


Nothing happened for several
years. Save that I became
permanently disabled. Got 
a
divorce, remarried and moved to 
a
better place. Mum still
kept on about the writing and the
computer. As we moved the Game
store to a new location in town.
Setting it up actually. I got the
word from the police, that she
was in the hospital. 


Quintuple bypass, and they had to
jump start her about three times
on the operating table. She
wanted to see me. OK I found 
a
ride, went the trip to see her.
Already had the keys to her
place. Her puppy had been taken
by friends. Saw her at the
hospital. 


She was still loopy, more tubes
in her than my 1936 radio. Kept
on about two things. Her out of
body experience, and that stupid
computer. She beggd me to take
it, from the storage shed. Was
supposed to be a Channukha
present. But it was a late one.
OK I grabbed it to make her
happy. Put it in a micro Toyota
pickup truck. Which we came to
call a Tonka toy. Drove the 400
miles back.


Set it up on the coffee table and
started to see what it will do.
So it is all her fault that I am
a Commodore fanatic. {LOL} This
happened in March of 1993ce. She
lasted in fairly good health till
around 1996ce. Then I had to make
another trip there and collect
the items she had willed to me.
Yuppers, she gave me amongst



personal treasures, her entire
Commodore
system.


<CF> Speaking of writing. You
have done some writing for
Commodore Free and other
publications. Can you tells us
what you write and what you
use to write your documents?


<LR> First off, I do not think of
myself as a writer. If it wasn't
for the Commodore. I wouldn't be
writing anything. Self taught
typist on the Commodore. Because
in my generation, only girls and
poufs and those looking for an
easy credit, took typing class.
Man I wish I had done that
instead of fencing class. At
least the most used keys are
under the left hand. I only have
two fingers that work on the
right hand.


Now I was an English editor for
Go64 in years past. Did some of
the Prose Quest for Fender at
Load Star, was even asked to send
in a second story.
Trivia on that one. A fast rush
job, based on Classic Traveller
RPG. But it got me a few fan
letters. {G} I also started the
RPG section for Commodore Scene.
www.commodorescene.org.uk


Did a few stories and loads of
Geos stuff for RevDave at
LoadStar. www.eloadstar.com
But I think the stories where too
adult. Though based on the games
as he requested. Geos Stuff
didn't seem to pass muster. I was
the NTSC English editor for the
disk magazine SceneWorld.
http://sceneworld.c64files.com/in
dex.php


I also did a spot as the retro
reviewer. Those articles may not
see publication till issue 16 is
ever released. OK I also am the
managing editor of the Commodore
MaiLink. That is the bimonthly
newsletter of the international
group. Meeting Commodore 64/128
Users Through The Mail. Generally
called in short the "MTTM". Been
around since about 1987ce. Though
truth be told. Since the loss of
my HD and the ability to print or
upload files. I have not been as



active in that job as I once was.


I did a spate for the newsletter
for the Eugene Oregon C= users
group. Helping out the editor,
Pnacolada. 5C's, a user group in
Las Vegas Nevada, gets from me
disks of submissions from time to
time. As they make a disk format
newsletter. I also write stories
for the local users group. They
are bad and drawn out and mainly
the mature to adult level. At
least that is my opinion. Which
is not shared by some of the
local members.


I use two writing tools. Most of
the time it is EdStar II from the
Load Star pass around issue #105.
This does all the work that needs
to be in stock C= SEQ format. The
other tool that I use is GeoWrite
with GeoPub and at one time Post
Print. IF a copy needs to be in
something else than Geos.I use
wrong is write v8.1 to convert it
to say PET or ascii.


<CF> A claim that you have made,
is that you are the worlds most
fanatical Commodore user. Would
you explain that to us?


<LR> OK that is an easy one. 
I
own several commodore systems.
About 50+ 541 drives, half 
a
dozen or so 1581s, over a dozen
1571s, pair of FDs, a CPU with 
a
full 16mb of RAM. Over 3000
floppy disk. That is the 41/71
style. Not counting a few hundred
1581s and FDs. AT the moment 
I
have 
a
128DCR with the SCPU and a 4+GB
HD, awaiting configuration for
the returning BBS and the local
users group library. Sitting next
to me. In the shop I have another
128DCR with a 1581 and a FD
attached. That I use daily in the
shop. Lets not go to the SX-64s,
the Vic-20 or the C-16. I haven't
played with them yet {VBG}
.


I do own an Amiga 1200, Amiga
500, and an Amiga CD/TV. But
since our Amiga guy ripped us off
in 2006ce. We no longer have
Amiga material or anyone to help
set up that 1200 with the new
chips etc. AS of this time, 
I
also own a linux system. Which 
I
am learning how to use. To show



its status, I have named it
"kajira"
. 


This is the word for Slave Girl
in the Gorean language from the
John Norman Gor series. Main
intention is to be able to
connect it to the 128DCR.


In order to preserve C= files to
a CD.
In short, the Commodore is my
primary daily PC. I use the
kajira for mundane things like
paying bills online and going to
places that lynx or The Wave on
the C= and vcsweb, won't let me
enter. I've been flamed on
several lists, like comp.sys.cbm
for using a Commodore. Lost my
10 year position at the OSFCI
when there was a bit arguement
about computer platforms. 
I
stayed true to the C= and becasue
I couldn’t see the forms in .PDF.


I lost out on my voting rights,
membership and the lot. Even the
committee position I held for the
convention that year. I am still
true to the Commodore. Knowing
that it is the world’s greatest
PC. But I have also been called
biased, oh yeah and opinionated,
not to forget the ever populat,
"not with the times", although
no-one has been able to
satisfactorily explain that
lemming mentality. {VBG}


<CF> We understand that you are 
a
part of a local users group, and
that you run or did run a BBS.
Can you tell us more about that?


<LR> OK, the simple questions
with the long drawn out answers.
/me sipping the coffee and
lighting the pipe again for the
long report. Well is rather
simple in actuality. On hollowed
in 93ce. A guy that I used
to work with at a ship building
plant. Popped into my store down
town. This with his kids for the
shop owners candy giving. 


He saw me in front of an amber
screen with a breadbox 64. I had
recently bought a collection from
a business friend. He told me
about the users group. How they
had recently stopped being a copy
party group and became an



official users group. Gave me the
number of the president, and left
for other stores telling me about
the loads of software that he and
the group had.


Thought about it for a bit, like
about a month. Made the call and
found out that the people who 
I
knew to be in computers, that 
I
didn't want to meet <ex-wife and
new husband>. I went to the
December meeting and joined up in
93ce. My adopted son Mark Reed,


a.k.a. Lord Alberonn and now the
thieving sho-vah. Joined in
January of 94ce. Make this part
short. If I knew then what I know
now. I wouldn't have joined!
Round Robin discussion for
officers, get the monthly disk
for the C= and for the Amiga, see
the demos and split for smeag
knows what else. 
In a short time I became the
Editor of the newsletter. Having
some prior experience in an
international middle ages
recreations group. Along with
other experiences. Anyway, the
newsletter was one sheet of
paper. Meeting notes, officers
and next meeting time and place.
Folded over and the opposite side
was the address wrapper. My first
issue was 4 pages long. Got yeled
at for spending that much money.
Though the Newsroom programme 
I
used did give more than what ever
Amiga system was used. Fast
forward to today. We are trying
to return to the 20 page booklet
format with post print. When we
have a working printer. Till then
it is a 12 pager on a dot matrix
printer.


I also wormed my way into being
the C=128 Librarian. As I was the
only one that was using a128 at
that time. Sorry to say that the
library consisted of the 1218
Loadstar disks.


Now about 95/96ce the group had
changed the name, using one of my
suggestions. Which was more of 
a
joke than a real suggestion. But
at that time I decided to run for
the Presidency. I had already
done the start of a Color64 BBS
for the group. Bought hardware
and software, just received 
a



large amount of magazines. 
I
wanted more for the group. 


What I didn't know was that I was
being railroaded into the job.
Was even nominated by the current
president. Should have know
something was wrong. When the
sho-vah was made Amiga Librarian,
and another member of my game
group, was made Treasurer on his
first meeting. In less than 
a
year, all the old timers had
moved along to other things. Rats
leaving the ship is what we call
it.


Since then, I was elected
Chancellor <new title> for life.
No one wants the Editing job for
the newsletter, or the librarian
job. Though I do have a few
deputies.


BBS is down as I write these
lines. But I am working on
rebuilding it. Once had over 
5
thousand files. Not all open to
the general public. Many for the
ACUG members only. 


That HD is currently in the hands
of Maurice Randall. Waiting for
the data transfer he promised in
January of 2006ce.


At this moment the group isn't as
great or as big as it once was,
but that I suspect will change
with the return of the good
Newsletter publication and the
BBS.


<CF> Do you have any plans to
drop the Commodore?


<LR> NO!


<CF> What do you do with the
Commodore on a daily basis?


<LR> Mainly at this time it is
writing. I review things for my
own and other publications for
the C=. Write letters, keep my
shop records, and do a mess of RP
Game related things with it, for
my game group. Still
learning things about files 
I
gained from Q-Link or received in
boxes, that where on Q-Link.
Dealing with the games. Prepping
for the return of the BBS. I do
some file testing. Mainly to see



if it works and what
category it will be in on the
board.


<CF> Seems as if you are 
a
dedicated user. Thank you for
this interview.


<LR> As we say in the Shadow run
game "null perspiration chummer"
.
My thanks to all that made it
this far in my drivel. {VBG}


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


Stefan Egger
SCACOM-Aktuell 
Free Commodore Magazine Editor
www.scacom.de.vu


Q - Please introduce yourself to
our reader


A -Hello! My name is Stefan Egger
and I live in Vienna/Austria. 
I
was born in 1989 and I’m now 18
years old. I study Informatics on
the Vienna University of
Technology now.


I’m webmaster of a German
homepage www.scacom.de.vu. SCACOM
is a shortcut for Stefans
Commodore Amiga Computer Online
Museum. Please have a look at my
page and write into the
guestbook.Also there is a PDF
magazine available.


Q - What was your first computing
experience?


A -My first computer experience
was because my father bought 
a
brown C64 in 1986 (for 396 Euro)
.
He told me that I played at an
age of 4 or 5 years with this
C64. Later he bought another C64c
with Disk Drive and Final
Cartridge 3 from my uncle. In
1998 we put away the C64. At this
time I had a PlayStation…
2003 we found a C64 G (the white
C64 in old case) on a flea market
in the famous Schönbrunn.
So we tested the new C64 and 
I
was fascinated of it. In the year
2003 I got my first Amiga 500
too. 
Later I expanded my collection



and I bought the C128D, another
A500, A600 HD and a A1200 too.


Q - What in your opinion is
special about Commodore
Computers?


A -I think they have 
a
interesting history. Commodore
was one of the best-known
computer manufacturers at the
eighties. Everybody I know in my
family had a C64 (my two uncles
and the husband of my aunt). So
they were very important that the
computer has become a product
for the masses and not the
classes
.
I like the innovations too they
made. For example the first
computer PET, the best-seller
C64, the multitasking Amiga. 
I
think all these computers were
very important for the history of
computers! I personally like the
CDTV but I sadly don’t own one. 
I
like the idea and the innovative
concept of it. It was the first
computer with CD-Rom drive and it
looks really cool!
Also they are not only game
machines. Amigas worked at the
NASA space center in Cape
Caneveral and also the well-known
movie Jurassic Park for the
special effects.


Q - What Commodore Machines do
you own?


A 

1 brown C64
1 C64c


1 C64 G (is it known in your
country, because I think it was
Germany-only. It’s a white C64 in
the original case)


1 C128-
D
2 different Amiga 500
1 A600 with HD and Kickstart 

Switcher with 1.3 and 2.0


1 A1200 HD with 40 GB HD,
Blizzard 1230 IV with 64MB Fast
RAM and a DVD-Rom drive.


Q - Do you have a favourite
Commodore Machine?


A -I don’t know what I could say



now. The C64 is the first
computer I know and there are 
a
lot of things I remember. For
example one day my father and 
I
wanted to play Rock and
Wrestle. We had a original tape
version and we loaded it with the
1530 datasette. Then we had to go
to eat lunch. During the time the
tape was loading and the SID-
music played out of the speakers.
After lunch we played the game
together ;
)


Amiga is special too because 
I
like it very much. My first Amiga
was the A500 as a present to me.
I liked it very much and later 
I
purchased an Amiga 600 because
its very little and looks cool!
Another reason was the easy data-
transfer between Amiga and PC
with a CF-Flash-Card. Then I got
an A1200 with Blizzard 1230-IV. 
I
installed the 40 GB HD and the
64MB RAM and the DVD-Drive. It
was nice to built this system. 
I
bought WHDload and I have a nice
system to play a lot of games
now. I like it very much!


Q - Do you still actively use
Commodore machines?


A -Yes. I have the C128 D and
Amiga 1200 always ready to use.
Why the C128-d and not a C64?
It’s a problem of space in our
flat. So I had the C128D System
under the Commodore monitor
(model 1084). I have a MMC64 in
it and only use it in C64 Mode.


Q - Can you tell our reader about
the www.scacom.de.vu website what
is available on the site?


A -There is basic information’s
about Commodore computers on it
as well as things for people that
know Commodore well. So there are
tutorials and my opinion on it.
Also  and this is the special
part  there are things like 
a
quartet I made about Commodore to
play with. Also the new magazine
is available from there.


Q - Can you tell our reader about
SCACOM Magazine, when did the
first issue launch etc?


A -The first issue launched at
1st August 2007. The second issue



was available in October 2007.


The next German issue will be
available in December 2007.


The idea behind it was a magazine
with new ideas. So it’s for all
Commodore fans as well as for new
fans of the computers. I wanted
to include the new hardware and
other things that are only
available in SCACOM (PSP
emulation, rendering information
and background pictures)
.


Also there can be issues with one
theme only. The first time this
will be the case is in February
2008. Then a whole magazine is
full with stuff about the
Commodore C264-series. This was
only possible with a partnership
with c16chris! I think that this
series of computers was not
perfect but a lot of Commodore
fans ignore them. They are also
part of the history of Commodore!
Every two month there is a new
issue available. I’ve done it two
month because every month it’s
very difficult to fill it with
text.


Q - This is a PDF magazine, is
the magazine available Free of
cost?


A -Yes, it’s free downloadable
PDF magazine with a lot of
interesting things in it! So you
can try it out easily!


Q - How long does the magazine
take to produce and when is it
released?


A -Every two month a new issue in
German is ready for download. The
English issues are difficult
because I regular speak German.
But I try my best and I hope you
like it too! I cannot say how
long it takes to make a magazine
because I don’t make it at once
but always in small parts!


Q - Is the magazine about all
Commodore machines and related
information or do you cover other
news?


A -My magazine is about all
Commodore computers (all 8 Bit
computers as well as Amiga, DTV



and the new PCs from Commodore
Gaming as well as emulators)
.
Also there are interesting things
about PSP in it because I’m a big
fan of the little Sony console.
If it is a hacked PSP you can
launch a C64 or Amiga emulator.
You can read PDFs like SCACOM or
Commodore Free too. This is part
of SCACOM but there are only
texts about PSP when it has to do
with Commodore 


Also there are articles about
rendering. It’s another hobby of
mine. You can look at the
pictures in SCACOM 1 and 
2
(German) I’ve created. Also there
are rendered Background pictures
included in the magazine.


Q - How many people write and
produce the magazine?


A -This is THE big part what is
special about SCACOM in contrast
to other magazines available.
There is no permanent editorial
staff. 
I will ask people if they could
make an article about something.
Sometimes there are also people
that contact me. So this is very
interesting part because I like
to get feedback and so I also get
new contacts and friends! Also 
I
think it’s interesting for the
readers because I always try to
include them. I take feedback
seriously and try to improve the
magazine. Also it’s a good
concept because there are a lot
of different people with
different interests and texts.


Q - How can our reader help you
with the magazine production?


A -Everybody can help! You can
send your computer story,
tutorial, texts, interviews or
pictures to me! Everything would
be helpful! Sure the author of
each article has Copyright to the
text published in the magazine.


Short: The best way to help would
be if you write something about
Commodore.


Q - Do you have plans to release
an English version of the
magazine?



A - Good news - Yes, I do! There
will be the first English issue
of SCACOM-Aktuell in the coming
January 2008! For all readers who
can’t read the German issues 
I
make this special English
version. But there are not all
texts of the German version
translated. There are parts of
the first 3 German issues in
English in it.


Contents will be:


Interview with Christophe Kohler
Background picture
Baracudas Story
Commodore Award
C64 Color Enhencher
Best real C64 Games List
Disk-Cover for 5,25-Disks


And other stuff too!
It’s unsure when the English
issue 2 will be released. 


I hope that the mistakes will
keep to a minimum and that you
like the magazine. Also I hope
that a lot of people will give
feedback on it!


Q - Do you know how many people
read the magazine?


A -Yes! There is the German
website www.64-mags.de where you
can download the SCACOM magazine.
There is a counter for downloads
too:


There are around 230 downloads of
the first version, 190 downloads
of the Update of issue 1 and 330
of the new issue 2. So it’s 
a
total amount of 750 downloads!


http://www.c64
mags.de/categ.php?cat=39
Here you can download it and
check the new number of
downloads!


Q - Producing a magazine such as
this is tough, have you received
many negative comments?


A -There was a heavy discussion
on it, yes. A lot of people
thought it would be better to
include my texts in the German
CeviAktuell. But this magazine
is C64-only. I wanted to make



texts about all Commodore
computers.


Also the first version of SCACOM
was designed badly. So there was
an UPDATE of the first issue
where there is a new Design. So
readers can read it better. The
content in the Update 1 issue was
the same as in the issue 1.


Also a big point of negative
comments was the lot of mistakes
because I made the first issue
alone in a short period of time.
But now I have 3 proofreaders and
so it’s not a problem in the next
issues anymore! This change was 
a
reaction of the feedback 
I
received.


Q - Also has anyone praised you
for starting such a project?


A -Yes, there are also people
that want to support my idea and
think that it is a great project!
I have also received a lot of
nice feedback!


I must thank all these people
that helped me improving SCACOM
such as my proofreaders, text
writers and interview partners. 
I
have to thank the people that
gave feedback too!


Q - What is your favourite
article you have written about so
far?


A -I have to say that I’m in the
CeviAktuell editorial staff too.
My favourite article was
published in CeviAktuell and was
a text about rare Competition Pro
Joysticks (the limited series and
rare color versions of it). A lot
of people said that they never
saw all this special colors and
versions of it.


Q  Thanks for talking to
Commodore Free! Have you anything
to add?


A -Thank you for the nice
interview. I want to say that
your readers should try SCACOM in
German and English too. Don’t be
afraid of the language, you can
also look at the nice pictures!


Also I want to say is that



everybody can publish the
magazine on their homepage or 
a
link to it. But only if there are
no changes and there is a link to
www.scacom.de.vu. If you do so 
a
lot of people can see my
projects.


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


Hardware Accessories for
Commodore 64/128 computers


The following is a list of
products currently available.
http://c64net.com/fotios/


FB-512
64KByte (8x8KB) cartridge for
Commodore 64/128 computers
Completed July 2007


The FB-512 cartridge is designed
to support 64KB 27512 series
EPROMs. These EPROMs can store
the equivalent of eight generic
8KB Commodore cartridges on one
chip.


Three mini-toggle switches are
used to select which 8KB area of
memory will be active and mapped
to address $8000.


A fourth mini-toggle switch is
used to support the native
Commodore 128 mode by changing
the logic state of the EXROM line
on the cartridge port.


A mini push button reset switch
and plastic PCB support is
included.


FBU_RS-232
RS-232 interface for the
Commodore 64/128 User Port
Completed August 2007


Price US $21.00 plus postage


The FBU_RS-232 interface supports
various configuration modes using
an 8-way DIP switch which allows
individual selection of lines
like DSR, DTR, RTS and CTS.



Speeds of 9600 baud are supported
when used in UP9600 mode with
Novaterm 9.6


The FBU_RS-232 interface also
includes a mini reset switch and
works in native C128 mode.Two
plastic PCB supports are
supplied.


FB-MIDI
Multi standard MIDI interface for
the Commodore 64/128 Expansion
Port
Completed August 2007


Price US $29.00 plus postage


If you’re into creating music,
FB-MIDI adds MIDI IN, MIDI OUT
and MIDI THRU/OUT ports to your
Commodore 64/128.


An 8-way DIP switch is used to
support various C64 MIDI software
standards like Sequential
Circuits, Passport and Syntech
(Sonus)
.


If you’re new to the world of
MIDI, I suggest trying out
MIDISLAVE MANAGER 1.1 with any
MIDI capable music keyboard.


The FB-MIDI interface was
designed to be fitted in 
a
standard Commodore cartridge case
that’s been slightly modified.
Two plastic PCB supports are
supplied for use without 
a
cartridge case.


Please contact me for postage and
payment details.
Coming soon:
-Stereo SID cartridge
(Prophet64 compatible!
)
-Cartridge expander
-plus more…


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



Interview with Fotios
Commodore 64 Hardware creator


http://c64net.com/fotios/



Q - Can you please introduce
yourself to our reader?


A - My name is Fotios and I'm
based in Melbourne Australia.
During my spare time I enjoy
collecting and repairing various
Commodore computers and
accessories (mainly for the
C128). A couple of months ago 
I
started assembling a simple
hardware project (EPROM
cartridge) for my Commodore


128. It's now become a bit of 
a
hobby and hope to make a number
of various hardware accessories.
My handle on most Commodore
forums and user groups is
Mangelore (taken from a character
in the movie The 5th
Element...)I'm currently employed
at HP as a network consultant.
Q - What was your first computing
experience?


A - My first computer was 
a
Commodore 128 which was given to
me as a gift from my father when
I was about 14 years old. He'd
spent a few months
working overseas at the time and
returned with a Commodore 128 in
his luggage and some IBM PC
Junior brochures. I then found
out that the sales person was
trying to sell him an IBM PC
Junior but it was too bulky to
take on a plane with him back
home.... lucky me!


Q - How did you learn about
Commodore?


A - It was the period when
personal computers started
invading homes. Friends of mine
had Commodore 64's, Spectrums and
Ataris. I got hooked onto a few
C64 classics like Bruce Lee and
Monty On The Run.


Q - Can you tell our reader about
the Current
products, what they do and the
benefits they would
give to a user?


A - Sure!
The FB-512 is a Commodore 64/128
cartridge designed to store up to
eight 8KB cartridge images onto
one 27C512 EPROM chip. The idea



is to use an EPROM burner to
store (burn) eight of your
favourite 8KB cartridges onto the
FB-512 EPROM chip.Toggle switches
are then used to select the
desired cartridge without having
to unplug the FB-512 from the
expansion port. I recently
started including a pre-burnt
EPROM chip with 8 of my favourite
utilities,


The FBU_RS-232 converts the
C64/128 User Port into an RS-232
interface. Users can then use 
a
modem and terminal program like
Novaterm or Desterm to dial-up 
a
BBS (not many around these days)
,
or transfer files using a null
modem cable between their C64/128
and other computers.


 It offers similar functionality
to the VIC-1011A with the
addition of a DIP switch that
enables/disables certain lines
like CTS/RTS. The FBU_RS-232 is
also compatible with the UP9600
driver in Novaterm 9.6 which
achieves 9600 baud through the
User Port! I mainly use it with
Desterm and my C128.


The FB-MIDI is a simple multi-
standard MIDI interface for the
Commodore 64/128 Expansion Port.
I came across a program on the
Internet called 


MIDISlave. So, I decided to build
this interface so I could connect
my Yamaha MIDI keyboard to my
Commodore 128. I also use it with
another 


program called Instant Music.


Q - the FB-MIDI can this be used
with any music
software, how is the device multi
standard?


A - The FB-MIDI can only be used
with C64/128 music programs that
include MIDI support. When MIDI
interfaces were being developed
for the C64/128


in the 80's, there were a number
of different standards (Passport,
Sequential Circuits, Datel
JMS/SIEL, etc). The main
difference is the memory address
locations used to access the
interface. The JMS/Siel standard



also uses a different clock
divider for the UART.


Q - Some people may ask "why
bother" so what prompted you to
design these items


A - For the same reason we all
use Commodore computers. It's
fun! For me it's also a creative
hobby. It gives me an opportunity
to enhance my electronics
knowledge while generating
interest in the C64/128 platform
with new hardware (as simple as
it may be)
.


Q - What problems did you
encounter designing the
hardware?


A - The most challenging aspect
is sourcing certain components
like the User Port and Expansion
Slot connectors. I've had no luck
in locating Australian suppliers
for these but eBay has come to
the rescue at times. The other
problem is "spare time" which is
hard to come by these days due to
work and family commitments.


Q - Did you find enough
documentation about the
machines to design the hardware
or did you need to
enlist the use of other?


A - Absolutely. The Internet is 
a
great reference library for
projects like these. I've also
found Commodore user forums to be
very helpful on a number of
occasions.


Q - Can you walk our reader
through the design processfrom
concept to finished product?


A - When I first come up with an
idea for a product, I'll create 
a
list of desired features. These
are split into two groups: "must
have" and "nice to have"
features.
For example, let's take a quick
look at the Stereo SID cartridge
I'm working on.


Some of the desired features
include:


-9V and 12V SID chip support
-configurable memory address
mapping

-Prophet64 compatibility
I then break down the product
into various stages using a block
diagram


which includes items like:


-DExx/DFxx memory mapping
-9V/12V power supply circuit
-Audio Out stage
At this point I'll attempt to
draw a schematic diagram using
all available resources
(Commodore motherboard
schematics, reference guides,
SID datasheets etc).If it's 
a
simple circuit I'll wire up 
a
prototype and pray to God that 
I
don't blow up a Commodore
computer during initial testing. 
For more complex projects 
I
create a PCB layout and have 
a
small number of boards
manufactured. For testing, 
I
normally use my Gold Edition
Commodore 128. Unlike the 
1
millionth Gold Edition Commodore
64, this 128 has an all year
round golden tan thanks to
spending too much time in
Solariums. Once all major bugs
are worked out, I'll then
optimise the PCB layout and
order a few PCB boards to start
assembling the final product.


Q - How would a potential
purchaser go about obtaining one
or all of these items?


A - Currently, I can only accept
orders via e-mail and payment via
paypal. I'm also thinking of
listing some of these items on
eBay from time to time as my web
page is very basic at the moment.
Let's not forget that these are
projects I mainly create for my
own use. I'm making them
available for sale just in case
others are interested in using
these. With only a handful of
products at this stage, I don't
see


the benefit of creating a web
store or eBay store. However, the
interest to date has been
fantastic. Many thanks to all of
you who have ordered products.
You're support is much
appreciated.



Q - you have a Coming soon item
list, can you give our reader
some more information on what he
may expect Stereo SID cartridge
(Prophet64 compatible!
)
Cartridge expander plus more…


A - Well, I've always wanted 
a
Stereo SID cartridge. I've seen
instructions on the Internet on
how to add a second SID chip into
a Commodore 64 but the idea of
piggybacking SID chips inside 
a
64 does not appeal to me. I spent
some time trying to win one on
eBay but was always outbid as
high postage costs to Australia
limit my chances of winning. So,
after 
doing a bit of research I decided
to make one.


The cartridge expander is 
a
different story all together. 
I
already own a few but they either
lack a few features I need or
seem poorly made. So, the one
I've designed includes
configurable memory addressing
for two slots which in theory
will allow concurrent use of
multiple cartridges. 


Other features are enable/disable
options for many lines like
EXROM, GAME, ROMH, ROML etc..., 
a
reset button, protection fuse,
status LEDs etc, optional
vertical/horizontal mounting for
one cartridge slot, etc... If
anyone has any idea ideas for the
ultimate cartridge expander,
please e-mail them to me!


Q - Have you thought about
something like an
accelerator cartridge something
like the Scpu from
Maurice?


A - I actually own a SuperCPU128
and it's a fantastic product.
Unfortunately, I don't think I'm
up for the challenge to make 
a
similar product. Hopefully,
Maurice will be able to start
production again of certain CMD
products like the SCPU. The price
these items fetch on eBay is
scary..
.


Q - Stereo SID cartridge - this
is a physical cartridge as
opposed to opening up the machine



and fitting it in place of the
sid chip?


A - Yes, that's correct. It's 
a
cartridge that adds a second SID
chip to a Commodore 64/.128. It's
been done before so there's not
too much to get excited about.
However, the cartridge pass-
through slot will be a handy
feature for Prophet64 users as
they won't need to spend hours
soldering SID2SID boards and
wires inside their C64 to get
stereo sound. 


Please note that I will not be
including a SID chip with this
product. There will be an IC
socket where users can install
their own SID chips. By the way,
I'm currently trying to think of
a cool name for the Stereo SID
cartridge. The reader that e-
mails me with a name that I end
up using for this product will
receive one for free!


Q - Stereo SID cartridge will
this work with any other
software apart from Prophet 64


A - Of course! It should support
any Stereo SID software out there
as I plan to include a DIP switch
that will reconfigure the second
SID chip address into various
DExx or DFxx memory locations.


Q - Do you have an estimated time
the devices will be available?


A - I expect these to be
available within a month or so.
The hold up has been the
expansion port connector.


Q - Have you thought about other
distribution
channels, maybe protovision?


A - Not at this point in time.
Maybe down the track it might
make sense to investigate
further.


Q - how long does each piece of
hardware take to
create?


A - It depends how much free time
I get and how complicated the
product is. On average it tales
me a month or so as I have 
a



demanding full time job.


Q - Are the items readily
available, that is when 
i
place a purchase for an item how
long will it take for
delivery lets assume within the


u.k.
A - Yes, these products are
available and usually ship within
48 hours of payment. Shipping
(airmail postage) from Australia
to the rest of the world takes no
more than 2 weeks. 


To give you guys an idea of the
shipping costs, airmail postage
for an order that includes one or
two products is:


-US $9.50 to Europe
-US $8.20 to U.S./Canada
Insurance (signed delivery) is
optional and costs another US
$6.50 worldwide (but not
available to all countries)
.


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

Interview with Mark McDougall
Mark
Commodore FPGA 1541 project


http://members.iinet.net.au/~msmc
doug/


Q - Can you introduce yourself to
our reader?


A - My name is Mark McDougall and
I live in Sydney, Australia. I'm
an electronics design / computer
software engineer who was first
bitten by the arcade emulation
bug around 1990. It has since
snowballed into a full-blown
hobby and now encompasses classic
8-bit micro computers and
consoles as well as video arcade
machines. 


Away from computers, these days 
I
try to keep fit by playing soccer
pretty much all year-round 
sorry, _football_ (actually even
us Aussies are dropping "soccer"
in favour of "football") and
going to the gym. And I'm



definitely *not* a morning
person! ;
)


Q - What was your first Computing
experience? 


A - Somewhere in my 1st year of
high school, when I was aged 13,
my father purchased a 4K Level 
1
TRS-80 Model I for himself. Or so
he thought. I still recall that
first day loading a version of
Backgammon off cassette tape, and
typing in BASIC listings from the
user manuals. To this day I swear
I spent more hours playing
"Flying Saucers" and "Time Trek"
than any computer or console game
ever since!


Q - When did you come across the
brand name commodore?


A - The C64 wasn't so big here in
Australia - or at least in the
circles I moved, so it wasn't
until I saw an Amiga 1000 at 
a
computer show that I really took
much notice of the Commodore
brand. By the time I had saved
enough to buy a Commodore, the
500 had been released, so that
was the first Commodore that 
I
owned. Of course I still own it!


Q - Many people outside commodore
ask why bother
writing and creating software for
out of date machines would you
like to comment.


A - For me it's primarily 
a
nostalgia thing. I recall those
TRS-80 days very fondly, and 
I
guess part of me gets to re-live
those days whenever I'm working
with or playing on the old
machines. I also find that my
attention span has shortened
appreciably over the years, and
as impressed as I am with some of
the modern games, I find they
require too much of my already
limited spare time (and
concentration) to get into them
properly. 


So the arcade games and classic
computer games are more appealing
to me - you can pick up 
a
controller and start blasting
away and (in my case at least)
it's "GAME OVER" a few minutes
later. And of course as every



retro enthusiast will tell you,
it was always about gameplay back
then!


It's also a joy to discover
software, and machines, that 
I
didn't get to experience all
those years ago. The C64 is 
a
prime example - until a few
months ago I had quite literally
never played one - and having
read some 30+ issues of "Retro
Gamer" magazine, games like Lode
Runner and Wizball were the first


disk images I tracked down when
we decided to develop the 1541
emulation.


If you never experienced those
days personally, I get that you
don't get it! However I am
surprised that some of the retro
enthusiasts popping up over
usenet etc these days are
actually too young to have been
there - it's good to see!


Q - Can you tell our readers
about your FPGA
1541project?


A - The FPGA 1541 project is an
offshoot from our "PACE" project,
which has grown in scope to
encompass pretty much anything
related to the emulation and/or
enhancement of classic arcade
machines, microcomputers and
consoles.


The idea of the FPGA 1541 project
is to emulate the 1541 faithfully
in hardware, rather than provide
a device that connects to a C64
and appears to behave like a 1541
drive, but doesn't actually
operate internally like a 1541.
So inside an FPGA, we emulate the
6502 and 6522s so it runs the
original DOS ROM code. We can
then emulate the physical drive
mechanism in whatever manner we
choose - Compact Flash, SD/MMC
card, etc - to create a device
that can be physically attached
to a real C64 and operate exactly
like a 1541 but with a lot more
storage than a single floppy
disk.


We (my co-conspirator Chris & I)
did know of various similar



projects that emulated floppy
disk storage devices on the C64,
but none - as we understood 
that directly emulated the
hardware of a 1541. Aside from
just being fun, we thought it
more likely that we'd be able to
provide a device more compatible
with fastloaders etc if we did it
this way. We also wanted a single
solution that we could connect to
either a real C64 or to say,
FPGA64, inside the same chip.


Q - on your website you state
"13-Aug-2007 The 1541 emulation
is now reading the G64 image off
Compact Flash" how far is there
to go with the project?


We have an operational (read
only) 1541 running on various
FPGA development boards that
operates with both Compact Flash
and SD card. At the moment the
emulation is partly implemented
within a 'soft-core' processor
within the FPGA, something we are
working at replacing so that the
hardware required is much simpler
and much cheaper - and hopefully
bringing it into the budget of
more enthusiasts.


Q. Will you be trying to emulate
other drives, such as
the 1581?
A - Most probably. If 
I
understand correctly, there's no
real leap in technology involved
and we will be able to base the
higher capacity drives off the
1541 emulation with moderate
effort.


Q. Will your emulation be able to
cope with software
fastloaders and protection
schemes?
A - Well that was a big point of
the project. We initially started
with D64 images, and generated
G64 images on-the-fly within the
FPGA with code lifted straight
from MESS. As it stands now, the
emulation makes use of G64
images, albeit support is
preliminary. 


Although the complications of
protection schemes present their



own challenge - not only to the
emulation itself but also their
encapsulation in the
representative disk format like
G64 - the emulation should be
more faithful than other efforts
and hopefully more compatible
with fast loaders for example.


Q - Will there be a finished
product to purchase or
are you just designing the
software?


A - No final decision has been
made, but the thinking at this
point is to release the complete
design for a read-only version in
the public domain, and provide 
a
commercial hardware product that
supports both reading and
writing.


Q. How easy will it be to
transfer images to/from the
device?
A - That is something we're
divided on at the moment. Ideally
the user could insert an SD card
in a PC and simply transfer
D64/G64 disk images to the card.
That complicates the design and
adds cost to a product. The other
end of the spectrum is to provide
proprietary software to write
disk images to the SD card in 
a
custom format. And USB is also 
a
popular option these days..
.


Q - Maybe this is a dumb question
but How can the
software be used and what can it
be used on?


A - The user would be able to
load as many D64/G64 images as
the SD card can hold, and then
plug the card into an emulated
1541 that can be connected to 
a
real C64. There would be some
user-interface that would allow
the user to select which disk
image is active, and obviously
from that point on, the C64 sees
that disk in the drive. It may
also be possible to have the same
device emulate a number of floppy
drives simultaneously - but that
could affect the final cost.


Not knowing much about the C64
family, I'm assuming it would be
compatible (or trivial to support



compatibility) with the various
commodore machines that supported
the 1541 and similar drives.


Q. Would you be able to link the
PACE up to a real C64 to act as 
a
virtual drive?
A - Definitely, as I've explained
above - and is something we have
already done!


Q - Does the software work on the
C-1 for example?


A - Whilst not intimately
familiar with the C-1, it is my
understanding that the C-
1
architecture isn't quite suitable
for our project. The main FPGA on
the C-1 is completely full with
FPGA64 and the secondary FPGA is
(IIUC) a closed design that
handles I/O and video as well as
bootstrapping the machine. I'd be
happy to be proven wrong on that
though.


Having said that, we have ported
Peter's FPGA64 project to our own
FPGA hardware and integrated our
1541 so that we have our own
version of a 'commodore-on-
a
chip'
.


Q - Will the finished results be
available to download
and will there be a charge? 


As I said earlier, I'd like to
release something back into the
public domain - a read-only
design for example.


Q. What do you think of the other
advanced storage
methods for the C64, like the
IDE64 interface or the
MMC64 (which allows access to
SD/MMC cards)
?
A - To be honest, I don't know 
a
great deal about them, but from
what I've gleaned from reading
about them, I think they're great
products in their own right. Some
also go beyond emulating storage
devices as well, which is a plus.


I guess the main difference is
that the heart of the 1541
project is the aim to faithfully
emulate the architecture so that
it runs the standard DOS ROMs.



The upshot is that the design can
also be combined with FPGA64
inside a single FPGA to give 
a
single-chip solution.


Q - What does the project aim to
do, I notice you have links and
references to other commodore
FPGA projects are you working
together on a project?


A - Part of the problem with PACE
is that the scope is ever-
expanding as my interests in
retro computers broadens. So it's
a very difficult question to
answer. And as technology
advances it becomes easier and
cheaper to implement things that
were prohibitive only a few years
ago - add this to the mix and
it's very difficult to decide
which aspect of PACE to devote
the time to.


I've justified my aforementioned
short attention span by
proclaiming that PACE is
currently in the proof-of-concept
or 'prototype' phase. What this
really means is that I do enough
to get a particular emulation
more-or-less running, and can
then move on to other more
interesting things without the
tedious tying-up of loose ends or
worrying about 101%
compatibility. ;
)


More often than not immediate
ideas are spawned from FPGA
projects released by other
authors, or even discussions on
the usenet newsgroups and mailing
lists that I frequent. For
instance right now we're waiting
on prototype PCBs to come back
from fabrication that I designed
a few weeks ago to implement
flash-based multi-carts on the
TRS-80 Coco (a.k.a. Dragon 32) 
originally spawned from 
a
discussion on the Coco mailing
list about a small run of custom
EPROM-based carts.


The aim of the PACE project 
I
guess is to be to hardware what
MAME/MESS is to software. It'd be
great if ultimately people could
contribute to the project adding
not only new emulations, but
support for other FPGA hardware
like development kits. We're



trying to create a VHDL framework
that speeds the development of
new emulations. Of course we're
*far* from achieving that and,
just as MAME/MESS have done,
there will be regular re
architecting along the way before
it's even half right!


What we'd also _like_ to do,
ultimately, is to produce an
FPGA-based hardware platform that
is most suitable for the hardware
emulation of as wide a range as
possible of classic arcade,
console and microcomputer
platforms. The same hardware
could be plugged into a VGA
monitor and PS/2 keyboard, TV and
console game controller (we've
already done Gamecube and Maple
Bus (Dreamcast) interfaces), or
directly into a JAMMA arcade
cabinet. Not unlike the C-1 but
(with the benefit of hindsight
and advancing technology) more
flexible.
Q - Can you tell our reader about
some of the other
projects reference don your
website?


A - A few years ago, my colleague
Chris Nott & I spun our first
board for our PUCE (Programmable
Universal Cartridge Emulator)
which comprised three cartridge
connectors - NES, SNES & N64 
connected to an FPGA. The idea
was to produce a flash-based
programmable cartridge that
allowed the user to transfer
cartridge images from any of
these 3 consoles onto the card 
together with the mapper logic 
so one could play *any* game on
the respective console.


We did have some success along
the way, most notably on the SNES
and N64, but ultimately due to
our inexperience the card was
simply too cumbersome to develop
for and (ironically) not quite
viable to emulate a NES
cartridge.


Then we discovered that emulating
complete arcade machines and 
8
bit microcomputers in FPGAs was
considerably more fun than
emulating just the cartridges and
PACE (Programmable Arcade Circuit
Emulator) was born. To be fair we



lucked into some suitable
hardware for free and PUCE was
all-but-forgotten. Just the other
day, however, we did talk about
resurrecting the project, albeit
on new hardware.


The other cool project I was
quite proud of was my "Space
Invaders TRS-80 Bootleg" project,
which involved patching the
original Space Invaders ROM to
run on a TRS-80 Model 4P with
suitable hires hardware. It
involved reverse-engineering
pretty much every single
instruction in the Space Invaders
ROM code, which took a few weeks,
and then another few weeks of
developing the patches. I got it
running on my real Model 4P 
despite the fact I had no working
disk drives - albeit at 50% - due
only to the fact that there isn't
a suitable 60Hz interrupt on the
4P. Still cool IMHO..
.


In closing:


The two most frustrating things
for me are the lack of time to
devote to my hobby, and the fact
that my hobby now encompasses
such a broad range of platforms!
Hardware development is not only
costly, but also time-consuming,
and there's so many projects I'd
like to tackle that are simply
out of the question for me for
the foreseeable future. 


I'd love to be able to make 
a
living out of it, but I'm yet to
identify a segment of the market
that I believe is viable to
sustaining a steady income. So
for now, I do what interests and
challenges me, and/or projects
that may be of some interest to
at least a few others.


Perhaps of specific to your
readers, of late I've become more
aware of peripherals like the REU
and Ethernet cards for the C64,
and am interested in perusing
designs for these. Another off
shoot is interfacing modern
controllers to old computers and
consoles - I've played Wizball on
FPGA64 with a Nintendo Wavebird,
for example!


In the past I baulked at the



effort in producing PCBs but
after recently completing a few
prototypes for the Coco (flash
carts) and Amiga (PS/2 mouse
adapter), I'm starting to think
that it makes more sense to
produce a greater variety of
relatively simple boards whilst
PACE "matures". I think one
advantage both Chris & I have is
that we have both a broad range
of interests across the spectrum
of retro gaming and, though our
work, a rather broad range of
skills to match - so with enough
different boards even a trickle
of sales of each may be enough to
fund development of more
designs..
.


And thanks Nigel for taking
interest in my obsession! ;
)


Regards,


Picture of Loadrunner
Running from FPGA


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


Interview with Andrew Bourhill
VB64 Creator
Commodore 64 Emulator for Windows
http://www.vb64.pwp.blueyonder.co
.uk


Q - Can you tell our readers 
a
little about yourself?


Aged 34 years, married with one
child (little girl aged 15
months) and another due any day
now. I am training to be 
a
driving instructor but have 
a
full time job as a store manager
for a large chain of convenience
stores..
.


Q - How did you become involved
in the Commodore


 Brand?


I got a zx spectrum at 10 years
old and fell in love with it, it
was a box of magic to me at that
age. my brother broke it.. and my
family replaced it with 
a
commodore 64.. That was it I was



hooked


Q - Tell our readers about Vb64
what exactly is it and
what can it do for our reader?


VB64 is a c64 emulator, it
emulates the internal functions
of the key c64 components (cpu,
vic, sid, memory, etc) it will
just play some of those classic
games from the day


Q - How many people worked on the
project?


me , just me.. I had some help
from dave horrocks (Hox64) when 
I
first started, I was having
problems with the CPU mmu
configurations & david kindly
went out of his way to help.. Btw
(Hox64 rocks - its the best c64
emu there is)


Q - Where did you find the
relevant documentation?


I have a really cool book for the
c64 (programming the c64 by R 
C
West), that book really has been
one of the key reference points
whilst working on
vb64, Also project64 have some
excellent docs on the cpu, vic,
sid & cia


Q - Is the whole program written
in Visual Basic?


its all pure vb6.. Every line


Q - Visual Basic isn't an
application most would think to
write an emulator did you
experience many problems?


Vb has no bit operations.. you
cant bit shift.. the whole
language just isn’t cut out for
emulation.
one of the hardest parts I have
had was the cpu's BCD mode.


Q - Were some of the problems
down to Visual Basic?


yeh, trying to maintain a balance
between speed and accuracy is
near impossible in vb.. I have



to use line based vic rendering
for speed this makes some vic
tricks impossible to display.
.


(i.e vb64 cant open
Side-borders -yet) also sid
emulation, vb aint fast enough
to emulate and render the sid as
re-sid does.. so I have come up
with a rather novel way that
takes barely any cpu time at
all.. :).
.
Q - Some user may wonder what
Visual basic is can you give 
a
brief outline of what exactly the
programming language is?


its an event driven basic. With 
a
visual designer for your GUI


Q - Have you thought about 
a
VB128 or similar to
support the Commodore 128 or
other machines or do you want to
concentrate your efforts on 
a
really good
Commodore 64 emulation platform?


oh yeh, I have a working (ish)
vic-20 version and am doing the
c16. these are most definitely
in the pipeline


Q-Can you tell our reader what
is implemented in VB64 and the
compatibility?


CPU,VIC II, SID, CIA's 1&2,
Keyboard, Joysticks, Tape deck.
.
compatibility is some where
around the 80% mark.. my CIA
emulation has some 
timing bugs that I am
investigating.


Q - How do you measure
compatibility, do you just run as
many applications as possible and
check them
against a real Machine or is
there some sort of standard to
work against?


I have a folder with 100 c64
single file games & demos, I test
each one.. if 50 of them work and
the rest dont I say I have have
50% compatible (a simple and
probably very shit method) hehe


Q - Maybe this is a silly
question but could the SCPU from
CMD be emulated with VB64, have



you thought about adding
Something like this sort of
emulation feature?


when I started I looked in scpu
and started writing some code to
emulate and then decided against
it (due to the overheads)


Q -There are quite a few
Emulators for the Commodore 64
apart from the Visual Basic what
makes your different?


hehe well its less compatible
than most it has more bugs than
most


Q - I suppose with Visual Basic
you use Direct X is
this why there is only a Windows
version of the
software?


no no, vb64 could actually be
ported to linux or whatever , it
is just basic.. the few functions
I use from direct X could easily
be replaced with say SDL.
.


Q  so linux has something like
Direct 
X 


yup.. SDL ;
)


Q - Someone is going to ask, Will
the source code be
available for download?


yes absolutely.. but not just
yet, I want to release the cource
for vb64, 20 & 16 at the same
time as it will be all one big
project


Q - Is the software free to
download?


Yes completely


Q - If our reader finds a bug
should he report it to yourself?


 yes please, bug reports do
help.
.


Q - The website is quite sparse
do you have plans to expand the
site maybe a FAQ section?


I am building a website for all
my vb emulators... the project
will change from vb64 to VBCEP



(visual basic commodore emulation
project) it will be one
Single package


What is VB64 
?


vb64 is a c-64 emulator written
entirely in visual basic version
6, it was started in 2000 as 
a
small hobby to see if at all it
could be done
this is the result.


What can it do 
?


VB64 emulates the inner functions
of the c64 to quite an accurate
degree


 6510 CPU - All opcodes
(inluding all illegal opcodes)
cycle exact
 Vic II - Cycle
accurate line based emulation
(80% vic tricks work)
 Sid - All
waveforms (including mixed), ADSR
envelopes, ring mod, digi's
 CIA 1 & 2 - Timers A & B,
NMI, IRQ, TOD
VB64 Will accept the following
file formats, T64, PRG, P00,
TAP, CRT
No support for D64 as of yet but
this is in the pipeline.
Wheres the source 
?


VB64 is Closed source for the
time being..
.


Where can I download it 
?


Download latest Windows version
V3.001


http://www.vb64.pwp.blueyonder.co
.uk/vb64_V3.001.rar


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


DTV mod:
C64 DTV in the original C64 case
http://joco.homeserver.hu/


When I first heard about the



C64DTV, I knew this is what 
I
have been waiting for. I always
wanted a clone which is
compatible with the original
Commodore 64, but more powerful
and has extra resources like
other resolutions, more memory,
etc. Fortunately the C64DTV (
I
own a European PAL version V2)
can be hacked see this link 


http://galaxy22.dyndns.org/dtv/v2
/index.html


Many ways, and you can find a lot
of information about it on the
Internet. See my references
below! 
I checked many hacking pages, so
I knew that it is possible to
attach an original disk drive via
the IEC bus, and it is possible
to attach PS2 keyboard to the
unit. But as far as I know, no
one tried to put the DTV back
into an original C64 box (I can
be wrong though). Then I found
Lars Pontoppidan's MMC2IEC
available here 


http://pontoppidan.info/lars/inde
x.php?proj=mmc2iec 


project which uses MMC/SD card
for the storage and it acts like
a 1541 drive (sure a little bit
better)
. 


As I am experienced with
microcontrollers as well as C/C+
+
and the assembly language, I knew
that there is a way to handle the
original C64 keyboard matrix with
a microcontroller. Unfortunately
the DTV does not have the
keyboard rows/cols pin outs, so
there is no perfect solution, but
the PS2 implementation might be
good enough for my purposes. 
I
thought, the same microcontroller


-in this case it's the Atmel
ATMEGA32 with 32 I/O pins - could
scan the keyboard matrix and send
the necessary press and release
codes on the PS2 bus to the DTV. 
The PS2 port on the DTV is
unidirectional; it means the host
never sends data to the keyboard.
Great. Thanks to the other
researches that cool guys have
done before, I had enough
knowledge about everything. 
I
knew how to generate PS2 codes, 
I



knew how to scan the keyboard
matrix, and thanks to Lars
Pontoppidan, I had a solution for
the IEC interface. All I had to
do is just modify the original
MMC2IEC design a little bit, and
implement the keyboard scanner
function. 


I have spent about 3 weekends
with this. Unfortunately the PS2
interface for the DTV has some
odds. It also has some remapping,
therefore my implementation had
to do some workaround for special
keys. For example on the C64
keyboard the key 2 has the sign
when it's shifted, the PC
keyboard has the sign @. There
are some other mismatches, which
make my life difficult. Anyway,
what you see here is the first
version. I know it's not perfect,
but it works. 


I do not want to write about the
other obvious hacks for the DTV,
you can find out yourselves these
ones (like joy port, video fix,
updating the flash, etc), just
google them. I am not really
concerned about the IEC and MMC
stuff either, Lars did a great
job. I am only writing about the
keyboard matrix here. 


Theory: the IEC bus has higher
priority than the keyboard
matrix. Whenever the IEC works 
which 


means you load or save something


-there is no keyboard scanning
at all. When there is no disk 
handling, the microcontroller has
an idle time, in this case I scan
the keyboard matrix as fast as 
I
can. Every time I compare the
last scanned values with 


the new ones, so in case of one
key there is four different
states (0-pressed, 1-released) if
we have the bit #1 as the old
bit, and the bit #0 is the new
bit: 


 00: was pressed before and
still pressed 
 01: was pressed, now it's

released 


 10: was released, now it's
pressed 
 11: was released, still
released 
In case of 00 and 11 there is
nothing to do, because the state
of given key has not changed. If
we get the 01 value, we have to
generate a release code, whereas
if we get the 10 value, we have
to generate the press code.
Because of the different keys
(like 2/@ - 2/" or 6/^ - 6/&
)
sometimes it's more complicated,
so we need to change the code or
virtually press or release the
shifts. This is all done by the
UpdateKeyMatrix() function. 


Let me highlight some points
about the schematic. 


 First of all, it's pretty
simple. I used a 40PIN version of
the microcontroller, where we
have the PORTA and PORTC on the
"right side" of the chip. This
makes the soldering very easy. 
 I use the PORTA and PORTC
for the keyboard matrix (COLS and
ROWS), but in this version I do
not handle the Restore button.
(maybe in the next version) 
 I do not use LEDs, but they
are on the PORTD bit #0 and bit
#1. They were in the original
MMC2IEC project but I just don't
need them. 
 Between the DTV and the
AtMEGA microcontroller there are
five data lines: PS2Data,
PS2Clock, IECData, IECClock,
IECAtn. These are on the PORTD. 
 The PORTB is used to handle
the SPI bus, this is what
communicates with the SD/MMC
card. 
 I use the internal 8MHz
clock source, but it's just
around 7.6MHz because of the 3.3V
Vcc voltage. 
Some points about the software: 


The main loop in the mmc2iec.c is



pretty simple. It scans the
keyboard if there is nothing else
to do, otherwise the IEC handler
works. Obviously I initialized
the keyboard handler with the
InitKeyMatrix() function before 
I
use the UpdateKeyMatrix()
. 


While (TRUE) 
{


// scan the keyboard normally
(IDLE time)


UpdateKeyMatrix()
;


// IEC-MMC handler
(LOAD/SAVE)


Interface_handler()
;


}


Ps2.c: this is the one that sends
a byte on the PS2 bus to the DTV.
Simple as hell, as the PS2 port
is only output for the
microcontroller. I am not even
sure that the parity bit
generation is correct. If not,
that means the DTV does not care
about the parity bit. Good. 


C64keymtx.c: the keyboard handler
module. There is an array called
"r" (unsigned char r[64] PROGMEM)
which contains the PS2 codes. The
only one exception is the colon
":" key, which is handled
differently and I used 0xff for
this key. Obviously, the table
contains the keys based on the
schematic - as you can see, the
rows and cols are mixed, but it
was the easiest way to solder and
I did not mind to change the bits
in the software. It does not
matter anyway. 


How it works? Read the source. It
tells everything.
One more thing to mention. You
will find out that I used the
goto statement inside the
UpdateKeyMatrix() to break up the
loops some cases. I know that
every book says you should never
use gotos. Bullshit. I use what 
I
want to use. And besides, this is
a microcontroller application
where speed and space are
factors. I tried some different
ways. Anything else generates
more code. BTW the WINAVR is just
perfect, the best compiler I've
ever seen. Still, some bytes
matter to me. So for those who
are against the goto: try to
write an assembly code without



braches and jumps. Good luck for
that. Gotos don't mix up your
code. If they do for you, you
should find another job to do.
Selling postcards for example.
:-
) 


Downloads 


 The shematics of the
project
http://joco.homeserver.hu/mmc2iec
KB/img/sch.gif
 Source code
http://joco.homeserver.hu/mmc2iec
KB/source.zip mixed with the
original MMC2IEC code. You need
WINAVR to compile 
Links and references 


 Lars Pontoppidan's page,
MMC2IEC
http://pontoppidan.info/lars/inde
x.php?proj=mmc2iec
 DTV hacking
http://galaxy22.dyndns.org/dtv/v2
/index.html
 Daniel Kahlin's webpage
http://www.kahlin.net/daniel/dtv/
 PonyProg, the application 
I
use to program the Atmel
microcontroller
http://www.lancos.com/prog.html
 A low cost programmer for
the Atmel ATMEGA32
http://gopchandani.wordpress.com/
2007/01/18/the-atmega32
programmer/
(Don't forget to turn off the
JTAG interface of the ATMEGA32,
otherwise the PORTC won't work.
) 


Things to do for the next release
(just some ideas in my mind)


 Accurate RESTORE key
handling. Well, there is no
RESTORE handler at all now. 
 LED's. Just to make it
perfect.
 Modify the DTV's flash so 
I
won't need to press the CTRL key
always. Absoultely required.
 Video fix and dedicated
video and audio ports on the box.
Won't be too hard. 
 Soldering the joy ports as
well. I will do. 
 Hack the original IEC
routines to speed up the load and
save. There must be a way as we
can modify the FLASH. Thanks, Mr.
Kahlin. 
Addendum:



-Here you can see the fusebits
settings for the microcontroller:
Fusebits Diagram Shown above
-You can download the compiled
version in intel-hex format:
mmc2iec.hex
http://joco.homeserver.hu/mmc2iec
KB/mmc2iec.hex (right-click,
then Save target as)
Jozsef http://joco.homeserver.hu/
19th of Oct, 2007 

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

Interview with Jozsef Laszlo
DTV mod: C64 DTV in the original
C64 case


Q - Please introduce yourself to
our readers!
A - I am Jozsef Laszlo, an IT
engineer originally from Hungary
but right now I live in Canada. 
I
am 37 years old so I grew up in
the time when the Commodore 64
and ZX Spectrum were "the"
computers. I work for a video
game producer company as a game
programmer.
Q - What interested you in
Commodore machines or do you just
like the C64 DTV?
A - I like all the old machines.
In fact, I collect them. I have 
a
lots of old 8bits machines at
home, most of the Commodore ones
(16/64/128) and ZX Spectrums as
well. When I first read about the
DTV and it's success, I was happy
because it means, I am not the
only one who is in love with old
stuffs. Obviously I wanted one.
Actually when I saw how cheap it
was, I bought two. One is still
in the original joystick case,
but the other one is in the C64
case.
Q - Someone must be reading
thinking what is a C64 DTV can
you introduce and describe the
device?
A - It's a C64 (mostly)
compatible device which
originally was designed for 
a
small TV game with 30 built-in
games. Thanks to the hacking
capabilities it's much more than
that. I'd call the DTV a new C64
with advanced graphics modes,
more memory and more features.
You can turn the DTV into 
a
classic C64 where you can expand
your basic, overwrite your



KERNAL, speed up your
applications, etc. The DTV is 
a
must for all C64 lovers.
Q - Quite a few sites are devoted
to hacking the DTV were these
useful or did you create your own
procedure for Hacking the Device?
A - Yes, they were absolutely
useful. Before you start hacking
a device, you have to know it.
Fortunately, these sites can help
discover the device both from
software and hardware point of
view. I had to download all the
documentations and schematics
before I started my own hack.
Q - The device was designed with
Hacking in mind is this correct?
A - Sure. The original device was
designed by the same American
lady called Jeri Ellsworth who
designed the Commodore One as
well. She did a marvellous job. 
I
am pretty sure that she wanted
"us" to hack the device. That's
why you can find user port,
keyboard and IEC connectors on
the pcb. Thanks, Jeri.
Q - I have seen a few of the DTV
devices in various cases, what
prompted the decapitation of 
a
real Commodore 64 to house the
device?
A - I needed a DTV which is
really close to the original
C64.In normal hacks people use
PS2 keyboards and connectors
patched to the joystick case. For
me it's just does not look like 
a
computer. It deserves more. It
deserves the original case. (Just
my point though.) Besides, isn't
it nice to see a C64 which is
much more than a C64?
Q - Do you have electronics
Experience?
A - Yes I do. Originally 
I
graduated as an Engineer of
Automation and Industry
Informatics which means both
hardware and software experience.
Earlier I worked with discrete
IC's (74HC series)but now I'm
rather interested in FPGA's. 
I
have some Xilinx developer
boards. I designed a ZX Spectrum.
Q - Did using the original
Commodore Keyboard cause
problems?


A - Some. The original design
itself is quite strange. The
keyboard membranes have some
resistances (65-75 ohm), but



there is no protectng diodes on
the CIA lines, therefore it's
possible to make a short circuit
if one row drives Vcc while the
other does Gnd and you press two
keys in the same column.
Therefore I needed a special row
selection method in the software.
Instead of rolling a single 0 bit
(which means GND) through the
rows I turn on the output for one
row only. That means that there
is now logical 1 on any other
rows. This is a hardware issue.
Another annoying problem is the
ps2 mapping inside the DTV.The
DTV's keyboard interface is a PC
keyboard interface. On the PC
keyboard certain symbols are not
where they supposed to be. For
example the keyboard 2 has the
sign @ on the PC, while on the
C64 it has the sign ". Therefore
the microcontroller has to do
some cheating and re-remapping
some keys. For a perfect solution
we'd need a more complex software
for the microcontroller. It's not
perfect now.
Q - Do you have any tips or
better ways of working while
doing the hack you would like to
pass on to readers?
A - Be careful! If you are not
experienced in soldering and
electronics, ask someone who is.
The DTV pcb is quite small,
soldering is really tricky. You
need thin wires and patience.
And before you put your DTV into
the case, plan the layout! Check
if all the connectors, holes are
gonna fit. You don't have to copy
my solution. Try to plan a better
one!
Q - The DTV is quite a small
circuit board inside a large
Commodore Case do you have plan's
to add further hardware?
A - I will be soldering the joy
ports as well so there will be 
a
way to use original joysticks. 
I
also plan to redesign the entire
disk interface, because I want to
free the IEC bus for external
devices. I'd like to use a fast
communication line between the
DTV and the microcontroller for
the "disk" operations. I never
liked the IEC speed. It's just
too slow. This means I'll have to
modify the basic and the kernal
as well. I'd like to see dos or
unix-like commands so I can type



DIR or CD or MKDIR. 
Q - Did you experience any major
problems in the process?
A -As I mentioned above, the
keyboard remapping, changing
codes on the fly and sending
virtual shifts were problematic.
On the hardware side, you have to
be very careful with the AtMega's
fuse bits. These are the
configuration bits for the clock
source or additional interfaces
like SPI or JTAG. If you play
with your fusebits, you can kick
out your microcontroller easily.
Don't do that. Ask experienced
people!
Q - Do you still use Commodore
machines?
A -Rarely but yes, I do. It's
just so much fun.
Q - Has the device been taken too
kindly by readers of the website?
A -I think people like it. Of
course, tastes are different so 
I
can imagine that someone found it
silly to put back the DTV to the
C64 case. Does not matter, does
it? I am pretty sure that
hardcore PC gamers (the new guys)
think that old guys (we) are
silly. I don't really mind. I am
old enough to do what I really
like. :-
)
Q - Has anyone criticized you for
decapitating a Commodore 64?
A -I have not got any criticism
so far. Some mentioned bugs.
Thanks for that!
Q - Do you plan any other DTV
conversions into other cases?
A -I try to finish this one
first, then we'll see. I really
don't know yet. I'd like to go
ahead with my FPGA project (ZX
Spectrum) as well.
Q - Do you feel there are any
limitations or problems with the
DTV?
A -Well, it's obviously not
100% compatible with the original
C64, therefore some games won't
run. Thanks to some great guys,
more and more old games are
patched to work with DTV. So I'd
say compatibility issues are
annoying, but the advantages of
the DTV eliminate them. What 
I
really want to see is a new game
which is specially has been
written for the DTV and uses it's
capacities.
Q - Our readers I know will be
wanting to carry out the same



process do you have a step by
step process for the none
technical that can maybe solder
ok?
A -Sorry, not really. I truly
think that inexperienced people
should ask someone who did thinks
like this before. You guys don't
want to ruin your DTV, do you?
Q - Do you have any soldering
tips for the none soldering
readers?
A -See pervious answer.
However, this is a profession
that can be learnt. Ask someone
to do it, then learn. That's what
I did.
Q - Do you have anything to add
or question you wished i had
asked?
A -I'd rather just say
something to your readers. Keep
what you have, don't let the
8bits age disappear. Although
it's history now, as long as we
are here, 8bits machines won't
die.


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



Hexfiles part 
9
By Jason Kelk
http://www.oldschool-gaming.com


Ah, there you are. I wondered
where you'd got to. Ready to
start playing with that new
project I promised last issue
then? Good, lets get on with it,
shall we? We're going to write 
a
little game. Don't worry, it's
not going to be Armalyte or
anything complex like that, we're
just going to move a few sprites
around for a starter. As usual,
there is some source on the
covermount, the filename is
game_1.asm, so fire up your text
editor and load it in. 


The majority of the source is
variations on routines we've
covered in the past so you should
be happy with them, so instead of
dissecting the entire program 
a
line at a time I'm just going to
cover the points of interest.



So, starting from the top of the
source and working down, the
first stop is a routine called
makespr which fills the last
sprite of bank 0 ($3FC0 - $3FCF)
with $FF to make it a solid
block. This is just a temporary
measure, eventually there will be
real definitions but for now we
just want to see where the
sprites are. A little later on in
the source (after the raster
setup) is a loop called setsdp
that points all eight sprites to
$2800 for their data.


Right, now we have to set
everything up. First, a quick
call to xpand (which we'll cover
in more detail soon), which is 
a
routine that sets all the sprite
positions up. Then comes
something we've not used before:


lda #$00


sta sync
strtwait cmp sync


beq strtwait


Now at first sight this seems
totally pointless, doesn't it? If
sync is set to $00 it's not
suddenly going to change whilst
we're sitting in a loop ... Well,
actually it is because the second
raster split, which is at line
$FC, sets sync to $01 once 
a
frame, this routine actually
synchronises the runtime code up
with the raster, which is where
the label gets it's name. 


After that we read $D01E, which
is the sprite to sprite collision
register, but we don't do
anything with the values since
we're merely reading it in order
to clear it for when the game
starts.


Next up is the main loop of the
game and it uses another loop to
wait for sync to get the game
movement synchronised to the
raster interrupt; then we have
three calls to subroutines,
joyread reads the
joystick in port 2, sprmove moves
the sprite data and, again, xpand
puts the sprite data into the
registers. After the main
processes we have another read of



$D01E but this time we're going
to actually be doing something
with the data. As with other
sprite registers, $D01E
represents each sprite with 
a
bit, there are eight sprites and
eight bits just like the sprite
enable register $D015 (covered in
part 4) but these bits become set
if two sprites collide. 


So if sprites 0 and 1 bump into
each other, $D01E is set to $03
(sprite 0 being the first bit and
having a value of $01, sprite 
1
being the second bit and
representing
the value $02) and if sprites 
0
and 7 have a pile-up, $D01E reads
$81.


There is a problem with $D01E
though; if sprites 0 and 3 hit
each other and at the same time
sprites 
1 


and 6 have a prang, we can only
see that sprite 0 has hit at
least one of the others, not
which one(s). In fact, if all
four sprites hit each other the
value in $D01E will be the same
as when they collide as two pairs
so whilst that's not a problem
for what we're doing right now
(since we just need to know if
sprite 0 has hit something) later
on it will get in the way so this
is only a temporary measure and
we'll be dropping the use of
hardware collisions fairly soon.


Anyway, back to the source and
after that read from $D01E we
have a new command called LSR,
which means Logical Shift Right.
LSR moves all the bits in a byte
down one, so the highest bit, the
one that represents 128 moves
down to the 64 position, the 64
to the 32 and so forth. 


The lowest bit, the one
representing 1, falls off the end
and into the carry flag and the
highest bit is left un-set by
this operation. LSR has a number
of uses, not least of which is
that it basically divides any 
8
bit number by two. In our code we
have an LSR A which is C64Asm's
way of saying that the Logical
Shift Right will happen to the
value in the accumulator, but LSR



$4000 will work just as well and
perform the operation on the
appropriate byte in memory.


But why are we using LSR here?
Well, it's a quick and dirty way
of checking if the lowest bit of
$D01E (the one representing
sprite 0, our "player" sprite) is
set. As I said, that low bit will
fall into the carry flag and the
BCC (Branch on Carry Clear)
simply causes the program to move
back to the label main if the
carry flag is empty after that
operation. 


If the carry isn't empty that
means sprite 0 is touching
another sprite, so we do a quick
INC $D027 to change the sprite
colour for now to indicate that 
a
collision has happened and then
head back to main again.


The next part of the source is
just the stock raster routines
we've covered before, with
raster2 setting sync to let the
runtime code know it's time to
start work before it calls $EA31.
Then we arrive at xpand... this
is the most complex routine in
the entire piece of code, it
takes the sprite co-ordinates
from a table called sprtpos and
puts them into $D000 onwards, but
it does a little trickery to make
handling the MSB easy for the
rest of the program as well. This
needs a complete breakdown of the
code, but I need to cover two
more new commands before that,
ASL and ROR.


Accumulator Shift Left, or ASL to
it's friends, is basically the
reverse of LSR in that all the
bits of a byte move up a place;
the 1 bit is left un-set and the
128 bit gets nudged into the
carry. And, since it's the
opposite of LSR, it can also be
thought of as multiplying an 
8
bit number by two (although
anything over $7f will need the
ninth bit in the carry taken care
of to get a correct answer). ROR,
or ROtate Right, is almost the
same as LSR, except that the the
previous contents of the carry
get pushed into the 128 bit
before the other end falls into
it. 



Both commands can work directly
to the accumulator or to memory
as with LSR. (There is a fourth
command to this set, ROL, which
works like ASL but has the
contents of the carry pushed onto
the end like ROR and we'll come
across that at another time.
)


Okay, so now for a line by line
look at xpand. the sprtpos table
contains sixteen bytes and they
are stored as sprite 0's X and Y,
sprite 1's X and Y and so forth,
the same order as $D000 onwards
uses. The first couple of lines
just copy sprtpos+1 (the first
sprite's Y position) straight
into the Y register:


xpand ldx #$00 We know
this..
.


xpndloop lda
sprtpos+$01,
X
Read the Y co-ordinate
sta $d001,x Set it into the
sprite Y position


But the next bit to read
sprtpos+$00 (the first sprite's 
X
position) is a little more
fiddly:


 lda sprtpos+$00,x Read the
X co-ordinate


 asl a Multiply by 
2


Here we are using a trick that
the Commodore designers came up
with ages ago (the same system is
used for the X position of the
light pen register). Because the
screen is 320 pixels across we
have to use the MSB (as explained
in issue 10) but MSB handling is
fiddly at the best of times. So
we're taking the value in SPRTPOS
and multiplying it by two using
the ASL. But that doesn't
actually sort out the MSB, does
it? So..
.


ror $d010
Roll $d010 a bit to the
right



...we move the contents of the
carry into the top of the MSB (at
the 128 position). Because the
loop runs eight times the first
bit in ends up in the lowest
position, the second at the
second lowest and so on, until
the bit that needs to represent
sprite 7 is at the highest
position. Then we..
.


sta $d000,X Write to the sprite 
X
position


...write back the contents of the
accumulator to the sprite.
Finally we manage the loop:


inx Just a standard loop
counter, but
inx we're going up in steps of
2..
.
cpx #$10 ...until X reaches
$10.
bne xpndloop


And to finish, we count up in
steps of 2 until we reach $10 and
have, therefore, run the loop
eight times - since two bytes are
transferred each iteration of the
loop, that's all 16 bytes of
sprtpos transferred during those
eight passes. This loop may seem
a little complex, but MSB
handling is a tricky job anyway
and although it sacrifices some
of our movement control
horizontally, this technique
means that from here onwards all
sprite X co-ordinates are just 
a
value from $00 to $FF so we can
do quick and simple mathematics
to them in order to shift the
sprites; 


a simple INC to the first byte of
sprpos once a frame will move the
first sprite right all the way
across the screen with no extra
work needed. There are situations
where it's necessary to make
things move at a single pixel 
a
frame, but for general useage,
this goes and if it's good enough
for Commodore's design team it's
good enough for us!



After the xpand routine comes
joyread, a routine to scan the
joystick. First up is a read from
$DC00 and we're using LSR again
to move the bits off into the
carry one at a time to see what
state they're in. $DC00 actually
works in reverse, if the first
bit is clear that means that the
joystich has been pushed up so
our sprite needs to react. How do
we test that? 


With a Branch on Carry Set (BCS)
command; if the carry is set
after the LSR then the stick
isn't being pushed up and we
branch over the routine that
moves the sprite up so that it
doesn't move that way. The same
goes for the other directions and
then fire. The five joystick bits
represent (lowest to highest) up,
down, left, right and fire.


So we move the sprite up like
this:


ldx sprtpos+$01 Read the sprite
Y position
dex
dex
dex
dex Subtract four


cpx #$32 $32 is the top
line of the screen
bcs setup


BCS again? Well yes, due to the
way the 6510 does mathematics,
BCS will act as a "greater or
equal to" command here; if the
contents of the X register are
greater than or equal to $32
it'll branch to setup.


ldx #$32


Since this will only happen if 
X
is less than $32 it makes sure 
X
will always be $32 or greater, so
not into the upper border.


setup stx sprtpos+$01
Store the X position back


The BASIC equivalent to the CMP,
BCS and LDX there is IF Y<50 THEN



Y=50. The down works in a similar
manner, except that it's adding
to the X register with four INXs
and uses a BCC to branch over the
LDX #$E5 (the lowest position 
a
sprite can be at without being
under the lower border) since BCC
only works as a "less than" when
used after the compare, not "less
than or equal". (These tricks
with BCC and BCS work after any
compare command, not just those
for the X register and can be
very useful.
) 


Again, left and right are the
same basic block of code as up
and down, except that it has
different stop positions for the
edges of the screen and, because
the X position of the sprites
gets multiplied by two when
they're displayed by xpand, the 
X
position is only changed by 
2
rather than 4.


Okay, we have one final loop to
look at, sprmove takes the
contents of sprtpos+$04 (sprite
3's X position) and adds the
contents of another table called
sprtspd to it, then goes through
the sprite positions until it
does sprite 7's Y position. Since
sprtpos contains the present
positions of the sprites and
sprtspd contains their "speed"
settings, the value that is added
to each X or Y co-ordinate in
turn to make the sprites move. 


This sprtspd table uses some
trickery, adding $FF, for
example, to a byte will actually
cause the byte to "wrap" around
so the value goes down by 1. This
is where xpand really comes into
it's own, instead of having to
know which direction the sprite
is moving and have a routine to
handle it we just perform an add!
Sneaky, eh?


Righto, that's your lot for this
installment, but next time we'll
add some new features to our
game, like some better
collisions, an ingame soundtrack
and some nice graphics. Load up
game_2.asm to get the little
game-ette going with a sprite and
some backing music (as per how we
did these things with the demo
previously, so you should be able



to work out for yourself how). As
always, contact me with any
questions and I'll see you next
time, matey.


The source code for the routines
above can be downloaded here
http://www.oldschool
gaming.com/content/files/hex_file
s/part_9_files.zip for easier
reference.


Commodore Free would like to
thank Jason for granting
permission to print the article. 


Unfortunately at the moment this
is the last article in the
series, you could contact Jason
and request more if you found the
information useful



