64Copy Central

About Peter Schepers

Yours truly, 64COPY author Peter Schepers

I work at the University of Waterloo in the Information Systems and Technology department, Hardware Support shop, and have been here since October 1991. As of October 2004 I became the shop senior, being responsible for the daily operations of the hardware shop.

Besides the administrative duties, my main hardware & software support areas are or have been:

- PC repairs (mostly desktops)
- Apple laptops and desktops
- Printer repairs, inkjet and laser (HP, Lexmark, IBM)
- Windows XP & Windows 7 software image building
- Maintenance and form design of our OpScan 10 OMR scanner
- Maintainance of the two IST training labs

For the present, I am the pianist for the Men Of Praise Interdenominational Christian Male Choir and one of the organists at Maranatha Christian Reformed Church, both based in Woodstock, Ontario, Canada.

My history

It was in 1979, grade 11, that I was introduced to my schools brand new, and only, computer, a PET 4032 with a tape drive. It was unknown territory for me since the only keyboards I had used previously were either a typewriter or a pipe organ. I was taught BASIC by a younger student named Luke Koops, whom today I still consider a genius programmer. BASIC was easy to master, so I quickly moved on to 6502 assembly, hand assembling code until I typed in my first assembler (likely published in Compute, and written in BASIC). You've not experienced coding until you have to manually step through assembly code, tracking processor flags and memory locations to debug it. Most of my initial exposure to assembly was by ripping apart other code such as utilities and games (Space Invaders was a good one) to learn the tricks. During these first few years I was able to work on many of the PET models (4032, 8032, 8096 Superpet), the various drives (8050, 8250) and some of the printers. This was a wonderful period to be in the computing field as everything was so new and I am very nostalgic about this time.

I finally bought my first computer in 1982, a C64, 1541 disk drive and a 13" TV. It was my main computer for many years, mostly used for programming. I was not much into playing games, instead using my computer time to write programs and some games. It was also a very useful tool in college (Electronics Engineering Technician) as I would write custom routines for my courses, write my assignments, and print out the results to hand in. I was especially proud of a graphing program I wrote which was used to generate each step in a Fourier series to produce a square wave. It was custom written specifically for my Star Micronics dot matrix printer, printing out the graph one dot at a time, which made for very hi-res graphs. I continued to use the C= for a few more years.

In 1987 I sold my entire C64 setup and went to a PC (clone AT 286). At the time it seemed like the best move as the PC had a major portion of the home and business market. It was not until 1993, once I started coding in C, writing 64Copy and working on some of the more complex formats, that I would once again own a complete C64 setup (several 1541's, original C64, 1702 monitor).

Move ahead a few more years to 1992 and I am now gainfully employed at the University of Waterloo. C64 emulation is now becoming a major movement among those that have either disposed of their old C64 setups (like I did), or don't want to dedicate the desk space to running two separate systems. 64Copy is soon to become a project and a major part of my life due to the convergence of two separate interests: the downloading and running of the (then) new C64Neu emulator (later named PC64), and my growing interest in learning the C language. C64Neu used P00 files so there had to be a converter between the more common D64 (1541 disk) files and P00. When I became versed enough in C (i.e. enough to be dangerous), I started to tackle the conversion problem and out came 64Copy v1.0. It did the conversion job, but was extremely limited in scope and completely dependent on ANSI.SYS for screen drawing. It was, however, the first interactive program to do the emulator file conversion. These limitations were removed through ensuing versions to what we have in the current release. All the initial development of 64Copy was in pure DOS, and then for a few years under OS/2 Warp 2 and 3, and Watcom C has always been my C compiler.

It was through the conversion work that I came to document both the existing Commodore and the newly-created emulator formats. When I started into programming 64Copy, files like T64 (used with the C64s emulator), P00 (used with the C64Neu emulator), LyNX, D64 and ARC/SDA (all from the C64) were in common use but little, usually inaccurate, documentation existed. I needed accurate information and gained this by comparing documents, conversing with some emulator and filetype authors, and brute force testing. I've also had many people contribute ideas, corrections and entire documents towards this collection. These people are attributed in the header of the document(s) that they helped maintain.

The documenting of these formats was not meant to become the tome it has become, but it has been a very rewarding experience. Many other people use them for reference when writing their own tools or emulators. I still keep them up-to-date, freely open for all to use, and even reference them myself when making changes or adding features to 64Copy.


Email the author: Peter Schepers | Last updated: Nov 11, 2011