Commodore 64 emulator voor OS/2 (en eComStation)

Mag vrij gebruikt en geruild worden zolang het niet veranderd wordt. Je mag dit produkt enkel op eigen risico gebruiken. Ik kan niet aansprakelijk gesteld worden voor enige schade onstaan door jouw gebruik van dit produkt. Je mag dit produkt niet leasen, verhuren of verkopen aan anderen. Veel plezier.

[Introductie] [Aan de slag] [Menu systeem] [Toetsenbord ondersteuning] [Joystick ondersteuning] [Seriële Bus Adapter]

Haal dit produkt hier gratis op. Klik hier voor mijn thuispagina.

C64 Emulator voor OS/2 volledig scherm

C64 Scherm

Deze cycle based emulator heeft minstens een 500 Mhz. pentium nodig.

Het opgewekte geluid is 16 bit met een sample frequentie van 44100 Hz. Het opgewekte beeld is 384x282 met een verversingsfrequentie van 50 Hz. De joystick emulatie gebruikt het numeriek toetsenblok, analoge joysticks verbonden met de game poort en originele commodore joysticks verbonden door wat extra hardware met de parallelle poort.

De disk emulatie is cycle based met *.D64 disk images of gebruikt seriële rom traps voor sneller laden vanaf de gesimuleerde commodore 1541-II schijfeenheid. Deze seriële rom traps kunnen ook ingezet worden om originele commodore disk drives of printers verbonden met de parallele poort via de Seriële Bus Adapter te gebruiken.

De tape emulatie gebruikt altijd rom traps en werkt met *.PRG program en *.SEQ sequentiele bestanden op het OS/2 bestandssysteem en met *.T64 tape images voor het laden vanaf de gesimuleerde commodore 1530-C2N datassette unit.

C64 Emulator voor de OS/2 werkplek

C64 Venster

Deze cycle based emulator heeft minstens een 800 Mhz. pentium nodig. Het gebruikt geen kleurenpalet dus heeft het een werkplek nodig met meer dan 256 kleuren. Zijn emulatie thread draait met idle priority en stopt dus als er geen cpu cycles over zijn voor zijn verwerking.

Het opgewekte geluid is 16 bit met een sample frequentie van 44100 Hz. Het opgewekte beeld is 384x282 met een verversingsfrequentie van 50 Hz. De joystick emulatie gebruikt het numeriek toetsenblok, analoge joysticks verbonden met de game poort en originele commodore joysticks verbonden door wat extra hardware met de parallelle poort.

De disk emulatie is cycle based met *.D64 disk images of gebruikt seriële rom traps voor sneller laden vanaf de gesimuleerde commodore 1541-II schijfeenheid. Deze seriële rom traps kunnen ook ingezet worden om originele commodore disk drives of printers verbonden met de parallele poort via de Seriële Bus Adapter te gebruiken.

De tape emulatie gebruikt altijd rom traps en werkt met *.PRG program en *.SEQ sequentiele bestanden op het OS/2 bestandssysteem en met *.T64 tape images voor het laden vanaf de gesimuleerde commodore 1530-C2N datassette unit.

Introductie

Over de auteur en het produkt - Ik heet Wim Brul en ik heb HTS elektrotechniek. Ik heb 25 jaar bij IBM Nederland gewerkt en ik ben nu met vervroegd pensioen. Ik ben lid van de Hobby Computer Club eComStation (HCC!eCS) gebruikersgroep. Ik programmeer als hobby met OS/2 en voor OS/2 hoofdzakelijk in turbo assembler en soms in C, Rexx en NetRexx. Ik heb de C64 Emulator voor eComStation en OS/2 in mijn eigen tijd ontworpen met de intentie de assembleertaal in de praktijk te leren. Ik wilde een emulator ontwerpen die gemakkelijk te gebruiken zou zijn en waarmee het plezierig spelen is en ik hoop dat ik daarin geslaagd ben.

C64 Emulator voor OS/2 volledig scherm - Deze cycle based emulator heeft minstens een 500 Mhz. pentium nodig. Het gebruikt de Direct Audio Real Time interface van OS/2 voor het geluid. Het is op het 32-bit flat memory model van OS/2 geschreven en het daalt alleen af naar 16-bit segmenten om de KBD, VIO en LPT functies te gebruiken. Het is gecompileerd met Borland Turbo Assembler voor OS/2 Versie 4.1 en gelinkt met de OS/2 Linear Executable Linker Versie 2.02.001.

C64 Emulator voor de OS/2 werkplek - Deze cycle based emulator heeft minstens een 800 Mhz. pentium nodig. Het gebruikt de Direct Interface Video Extensions van OS/2 voor het beeld. Het is een regelrechte omzetting van de versie voor het volledig scherm. Het gebruikt geen kleurenpalet dus heeft het een werkplek nodig met meer dan 256 kleuren. Zijn emulatie thread draait met idle priority en stopt dus als er geen cpu cycles over zijn voor zijn verwerking.

Legaal gedoe - Mag vrij gebruikt en geruild worden zolang het niet veranderd wordt. Je mag dit produkt enkel op eigen risico gebruiken. Ik kan niet aansprakelijk gesteld worden voor enige schade onstaan door jouw gebruik van dit produkt. Je mag dit produkt niet leasen, verhuren of verkopen aan anderen. Veel plezier.

[Kenmerken] [Installatie] [Uitvoeren]

Kenmerken

Processor - De emulatie van de 6510 CPU chip en de 6502 CPU chip is cycle exact. De normale en de ongedocumenteerde opcodes worden allemaal geëmuleerd en voldoen aan de emulator test suite van Wolfgang Lorenz.

Beeld - Het opgewekte beeld is 384x282 met een verversingsfrequentie van 50 Hz. De 6569 VIC chip emulatie is cycle exact. De normale en de ongedocumenteerde kenmerken worden allemaal geëmuleerd en is gebaseerd op de VIC-II specificaties van Christian Bauer en de sprite crunch afwijking gesignaleerd door Ettore Perazzoli. De kleuren zijn gebaseerd op een VIC-II kleuren analyse van Philip Timmermann.

Geluid - De emulatie van de 6581 SID chip is cycle exact. Het opgewekte geluid is 16 bit met een sample frequentie van 44100 Hz. De normale en de ongedocumenteerde kenmerken worden allemaal geëmuleerd en zijn gebaseerd op de resid engine van Dag Lem van het VICE/2 project.

Timer - De emulatie van de 6526 CIA chip is cycle exact en voldoet aan de emulator test suite van Wolfgang Lorenz. De werking van het seriële data register is niet geïmplementeerd. De emulatie van de 6522 VIA chip is cycle based en gelimiteerd tot de minimale functies nodig voor een juiste werking van de cycle based disk drive emulatie.

Toetsenbord - De toetsenbord emulatie gebruikt een origineel en een nationaal toetsenbord. Het nationale toetsenbord komt overeen met het toetsenbord van de Verenigde Staten (103) maar de emulator is ontworpen om ook de toetsenborden van andere landen te ondersteunen. Alle taal specifieke elementen staan in het initialisatiebestand.

Joystick - De joystick emulatie gebruikt het numeriek toetsenblok, analoge joysticks verbonden met de game poort en originele commodore joysticks verbonden door wat extra hardware met de parallelle poort.

Disk - De disk emulatie is cycle based met *.D64 disk images of gebruikt seriële rom traps voor sneller laden vanaf de gesimuleerde commodore 1541-II schijfeenheid. Deze seriële rom traps kunnen ook ingezet worden om originele commodore disk drives of printers verbonden met de parallele poort via de Seriële Bus Adapter te gebruiken.

Tape - De tape emulatie gebruikt altijd rom traps en werkt met *.PRG program en *.SEQ sequentiele bestanden op het OS/2 bestandssysteem en met *.T64 tape images voor het laden vanaf de gesimuleerde commodore 1530-C2N datassette unit.

Installatie

Plaats het CBM64E411.ZIP bestand in een directory naar keuze en pak het uit:

Install Folder

Dubbelklik op het INSTALL.CMD bestand en het zal de CBM64E V4.11 map op jouw werkplek aanmaken met de volgende inhoud:

Emulator Folder

Dat is alles.

Uitvoeren

Open de CBM64E V4.11 map op jouw werkplek door een dubbleklik op zijn pictogram:

Emulator Folder

Dubbelklik op het C=64 screen pictogram om de C64 Emulator voor OS/2 volledig scherm uit te voeren. De emulator is gekoppeld aan *.PRG programma bestanden en *.D64 diskette en *.T64 cassette image bestanden. Je kan hem dus direct uitvoeren met de pictogrammen van deze bestanden. Je zou ook zo'n pictogram naar het C=64 screen pictogram kunnen slepen. De emulator zal dan automatisch het eerste commodore programma dat er op staat laden en uitvoeren.

Dubbelklik op het C=64 window pictogram om de C64 Emulator voor de OS/2 werkplek uit te voeren. De emulator is gekoppeld aan *.PRG programma bestanden en *.D64 diskette en *.T64 cassette image bestanden. Je kan hem dus direct uitvoeren met de pictogrammen van deze bestanden. Je zou ook zo'n pictogram naar het C=64 window pictogram kunnen slepen. De emulator zal dan automatisch het eerste commodore programma dat er op staat laden en uitvoeren.

Aan de slag

Druk op de numpad INS toets om het POPUP MENU aan/uit te zetten. Druk op de numpad DEL toets om de STATUS BAR aan/uit te zetten. Druk op de SCROLL LOCK toets om de seriële rom traps aan/uit te zetten. Druk eerst op de SHIFT toets en daarna ook op de ESC toets om de emulator te verlaten.

[Emulator Control] [C64 Control Keys] [File Operations] [Disk Operations] [Tape Operations]

Emulator Control

De volgende functietoetsen bedienen de emulator:

toetsfunctiebeschrijving
F9POPUP MENUtoont/verbergt het popup menu
F10STATUS BARtoont/verbergt de status regel
F11SOFT RESETherstart met een reset drukknop
F12HARD RESETherstart door uit/aan schakelen

De volgende speciale toetsen bedienen ook de emulator:

toetsfunctiebeschrijving
PAUSEEMULATIE PAUZEonderbreekt/hervat de emulatie
PRINT SCREENSCHERM OPNAMEschrijft het scherm als CBM64E.BMP
SCROLL LOCKSCHIJF EMULATIEschakelt de seriële rom traps aan/uit

De scherm opname wordt geschreven naar de directory waarin het emulator programma staat.

C64 Control Keys

Diverse originele C64 besturingstoetsen zijn ingedeeld op het PC toetsenbord:

origineelemulatoruitleg
C=ALT-LEFTcommodore toets
CLR/HOMEHOME
CTRLCTRL-LEFT
INST/DELBACKSPACE
INST/DELDELETE
INST/DELINSERTis als SHIFT+INST/DEL samen ingedrukt
RESTOREEND
RETURNENTER
RUN/STOPTAB

Het HELP+CONTROL pull-down menu laat dit ook zien.

File Operations

The tape device uses in reality the OS/2 file system. Only when a secondary address of 2 is used on a load operation then the data comes from the cassette present in the simulated commodore 1530-C2N datassette unit.

Running a program from FILE using the menu system - Use the FILE+LOAD/RUN PROGRAM pull-down menu to navigate through the OS/2 file system and select an *.PRG program file to be loaded and run. This navigation updates the current drive and directory of the OS/2 file system. Once the program has been selected the emulator saves the default program name internally and sets the default device number to 1 and the default secondary address to 1 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 1 and secondary address 1 by depressing the SHIFT+TAB keys together.

Rerunning the last program from FILE manually - Press the F12 key to force the emulator to go through a simulated power down/up sequence. After that depress the SHIFT+TAB keys together to initiate the load and run from the last used program name, device number and secondary address.

Running a program from FILE manually - Type the LOAD "PROGRAM",1,1 command to load PROGRAM.PRG from the current drive and directory of the OS/2 file system and type RUN to execute it. The typed in program name, device number and secondary address will be saved internally when the LOAD command is executed. Instead of PROGRAM you could use a fully qualified file name e.g. LOAD "E:/CBM64/TESTEN/VIDEO/COLORS" or even just LOAD if you wish to use the last used file specification again.

Saving a program to FILE manually - Type the SAVE "PROGRAM",1,1 command to save PROGRAM.PRG to the current drive and directory of the OS/2 file system. The typed in program name, device number and secondary address will be saved internally when the SAVE command is executed. Instead of PROGRAM you could use a fully qualified file name e.g. SAVE "E:/CBM64/TESTEN/VIDEO/COLORS" or even just SAVE if you wish to use the last used file specification again.

Disk Operations

The disk emulation uses the diskette present in the simulated commodore 1541-II schijfeenheid. When the seriële rom traps are active the loading goes faster but fast loaders will fail. When the seriële rom traps are active and there is no diskette present in the simulated commodore 1541-II schijfeenheid then the emulator attempts to access an external disk drive unit attached to the Seriële Bus Adapter.

Running a program from DISK using the menu system - Use the DISK+INSERT DISKETTE pull-down menu to navigate through the OS/2 file system and select an *.D64 diskette image file to be inserted into the simulated commodore 1541-II schijfeenheid.

Use the DISK+LOAD/RUN PROGRAM pull-down menu to scroll through the contents of the present diskette and select a program to be loaded and run. Once the program has been selected the emulator saves the default program name internally and sets the default device number to 8 and the default secondary address to 1 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 8 and secondary address 1 by depressing the SHIFT+TAB keys together.

Rerunning the last program from DISK manually - Press the F12 key to force the emulator to go through a simulated power down/up sequence. After that depress the SHIFT+TAB keys together to initiate the load and run from the last used program name, device number and secondary address.

Running a program from DISK manually - Type the LOAD "PROGRAM",8,1 command to load PROGRAM from diskette and type RUN to execute it. The typed in program name, device number and secondary address will be saved internally when the LOAD command is executed.

Saving a program to DISK manually - Type the SAVE "PROGRAM",8,1 command to save PROGRAM to diskette. The typed in program name, device number and secondary address will be saved internally when the SAVE command is executed. It is NOT possible to save PROGRAM to the diskette present in the simulated commodore 1541-II schijfeenheid when the seriële rom traps have been activated.

Tape Operations

The tape device uses in reality the OS/2 file system. Only when a secondary address of 2 is used on a load operation then the data comes from the cassette present in the simulated commodore 1530-C2N datassette unit.

Running a program from TAPE using the menu system - Use the TAPE+INSERT CASSETTE pull-down menu to navigate through the OS/2 file system and select an *.T64 cassette image file to be inserted into the simulated commodore 1530-C2N datassette unit.

Use the TAPE+LOAD/RUN PROGRAM pull-down menu to scroll through the contents of the present cassette and select a program to be loaded and run. Once the program has been selected the emulator saves the default program name internally and sets the default device number to 1 and the default secondary address to 2 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 1 and secondary address 2 by depressing the SHIFT+TAB keys together.

Rerunning the last program from TAPE manually - Press the F12 key to force the emulator to go through a simulated power down/up sequence. After that depress the SHIFT+TAB keys together to initiate the load and run from the last used program name, device number and secondary address.

Running a program from TAPE manually - Type the LOAD "PROGRAM",1,2 command to load PROGRAM from the cassette present in the simulated commodore 1530-C2N datassette unit and type RUN to execute it. The typed in program name, device number and secondary address will be saved internally when the LOAD command is executed.

Saving a program to TAPE manually - It is NOT possible to save a program to the cassette present in the simulated commodore 1530-C2N datassette unit. Typing the SAVE "PROGRAM",1,2 command saves PROGRAM.PRG to the current drive and directory of the OS/2 file system instead. The typed in program name, device number and secondary address will be saved internally when the SAVE command is executed.

POPUP MENU

Emulator Screen Popup Menu Active

Met de F9 toets of de numpad INS toets zet je het popup menu systeem aan/uit. Met de CURSOR LEFT en CURSOR RIGHT toetsen schakel je tussen pull-down menus.

[File Pull-Down] [Disk Pull-Down] [Tape Pull-Down] [Setup Pull-Down] [Help Pull-Down] [Quit Pull-Down]

STATUS BAR

Cycle Exact Disk Seriële Rom Traps

Met de F10 toets of de numpad DEL toets zet je de status bar aan/uit. Met de SCROLL LOCK toets zet je de seriële rom traps aan/uit. Het bruine vierkantje rechts van DRIVE: Geeft aan dat de cycle exact disk drive emulatie actief is. Als het geel is dan geeft het aan dat de drive led actief is. Als het grijs is dan geeft het aan dat de seriële rom traps actief zijn i.p.v. de cycle based disk drive emulatie.

FILE+LOAD/RUN PROGRAM

Invoke File Program Select File Program

The FILE+LOAD/RUN PROGRAM pull-down menu enables you to navigate through the OS/2 file system and to select an *.PRG program file to be loaded and run. This navigation updates the current drive and directory of the OS/2 file system immediately. Once a program has been selected the emulator saves the default program name internally and sets the default device number to 1 and the default secondary address to 1 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 1 and secondary address 1 by depressing the SHIFT+TAB keys together.

DISK+INSERT DISKETTE

Insert Diskette Select Diskette

The DISK+INSERT DISKETTE pull-down menu enables you to navigate through the OS/2 file system and to select an *.D64 diskette image file to be inserted into the simulated commodore 1541-II schijfeenheid.

DISK+LOAD/RUN PROGRAM

Invoke Disk Program Select Disk Program

The DISK+LOAD/RUN PROGRAM pull-down menu enables you to scroll through the contents of the present diskette to select a program to be loaded and run. Once a program has been selected the emulator saves the default program name internally and sets the default device number to 8 and the default secondary address to 1 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 8 and secondary address 1 by depressing the SHIFT+TAB keys together.

DISK+REMOVE DISKETTE

Remove Diskette Absent Diskette

The DISK+REMOVE DISKETTE pull-down menu enables you to eject a possibly present diskette from the simulated commodore 1541-II schijfeenheid. As you can see you are prompted to insert a diskette once you try to load and run a program from an empty disk drive unit.

TAPE+INSERT CASSETTE

Insert Cassette Select Cassette

The TAPE+INSERT CASSETTE pull-down menu enables you to navigate through the OS/2 file system and to select an *.T64 cassette image file to be inserted into the simulated commodore 1530-C2N datassette unit.

TAPE+LOAD/RUN PROGRAM

Invoke Tape Program Select Tape Program

The TAPE+LOAD/RUN PROGRAM pull-down menu enables you to scroll through the contents of the present cassette to select a program to be loaded and run. Once a program has been selected the emulator saves the default program name internally and sets the default device number to 1 and the default secondary address to 2 and goes through a simulated power down/up sequence. After that it starts the load and run of the selected program from device number 1 and secondary address 2 by depressing the SHIFT+TAB keys together.

TAPE+REMOVE CASSETTE

Remove Cassette Absent Cassette

The TAPE+REMOVE CASSETTE pull-down menu enables you to eject a possibly present cassette from the simulated commodore 1530-C2N datassette unit. As you can see you are prompted to insert a cassette once you try to load and run a program from an empty datassette unit.

SETUP+DISPLAY

Old Colors New Colors

The SETUP+DISPLAY pull-down menu enables you to select the color set to be used by the emulator. Select HISTORIC to use the color set with only four luminance levels as present in the older C64 models or select NOWADAYS to use the color set with eight luminance levels as present in the newer C64 models. As you can see the color switching takes place immediately.

SETUP+KEYBOARD

Origineel toetsenbord Nationaal toetsenbord

The SETUP+KEYBOARD pull-down menu enables you to select the keyboard layout to be used by the emulator. Select ORIGINAL to use the keyboard layout that mimics the C64 keyboard layout as much as possible or select NATIONAL to use the keyboard layout according to the engravings on the attached keyboard. The keyboard selection takes place immediately and may be viewed using the HELP+KEYBOARD pull-down menu. For more details see the Origineel toetsenbord and the Nationaal toetsenbord sections.

SETUP+RESTART

Hard Reset Soft Reset

The SETUP+RESTART pull-down menu enables you to restart the emulator into a predetermined reset state. Select HARD RESET and press the ENTER key to force the emulator to go through a simulated power down/up sequence. Select SOFT RESET and press the ENTER key to force the emulator to go through a simulated hardware reset sequence.

HELP+CONTROL

Help Control Control Keys

The HELP+CONTROL pull-down menu shows you how various control keys on the C64 keyboard are mapped to corresponding control keys on the PC keyboard. In addition it shows the odd mapping of two commodore keys which could not be placed on more appropriate places on the PC keyboard. Pressing the ENTER key toggles the displayed information on/off.

HELP+JOYSTICK

Help Joystick Joystick Keys

The HELP+JOYSTICK pull-down menu shows you how the joystick simulation uses the keys present on the numeriek toetsenblok for the keyboard joystick support. Pressing the ENTER key toggles the displayed information on/off.

HELP+KEYBOARD

Help Keyboard Keyboard Keys

The HELP+KEYBOARD pull-down menu shows you the current keyboard layout used by the emulator. Pressing the ALT-LEFT and SHIFT keys together switches the displayed keyboard layout from using set 1 (bovenkast) to set 2 (onderkast) and vice versa. Pressing the ENTER key toggles the displayed information on/off. For more details see the Origineel toetsenbord and the Nationaal toetsenbord sections.

HELP+VERSION

Help Version Version Info

The HELP+VERSION pull-down menu shows you the emulator version and the email address of the program developer. Pressing the ENTER key toggles the displayed information on/off.

QUIT+EXIT CBM64E

Exit Emulator

The QUIT+EXIT CBM64E pull-down menu enables you to quit processing.
When you press and release the ENTER key the emulator exits back to OS/2.

Toetsenbord ondersteuning

De toetsenbord emulatie gebruikt een originele en een nationale uitvoering. De nationale uitvoering komt overeen met die van de Verenigde Staten (103) maar de emulator is ontworpen rekening houdend met nationale taal ondersteuning en alle taal specifieke elementen staan in het initialisatie bestand.

[Origineel toetsenbord] [Nationaal toetsenbord]

Origineel toetsenbord

The emulator may be switched to use the originele keyboard layout via the SETUP+KEYBOARD pull-down menu. The switching is done immediately and is accomplished by restoring the keyboard tables in the originele C64 rom code. The HELP+KEYBOARD pull-down menu shows the originele layout as follows:

Origineel - Bovenkast Origineel - Onderkast

Pressing the ALT-LEFT and SHIFT keys together switches the displayed keyboard layout from using set 1 (bovenkast) to set 2 (onderkast) and vice versa. Graphics shown at the upper right for a certain key require the SHIFT key to be used whereas graphics at the lower left require the ALT-LEFT key to be used when you want to enter that particular graphic character.

Nationaal toetsenbord

The emulator may be switched to use the nationale keyboard layout via the SETUP+KEYBOARD pull-down menu. The switching is done immediately and is accomplished by modifying the keyboard tables in the originele C64 rom code. The HELP+KEYBOARD pull-down menu shows the nationale layout as follows:

Nationaal - Bovenkast Nationaal - Onderkast

Pressing the ALT-LEFT and SHIFT keys together switches the displayed keyboard layout from using set 1 (bovenkast) to set 2 (onderkast) and vice versa. Graphics shown at the upper right for a certain key require the SHIFT key to be used whereas graphics at the lower left require the ALT-LEFT key to be used when you want to enter that particular graphic character.

Joystick ondersteuning

De joystick emulatie gebruikt het numeriek toetsenblok, analoge joysticks verbonden met de game poort en originele commodore joysticks verbonden door wat extra hardware met de parallelle poort. Druk op de NUM LOCK toets om heen en weer te schakelen tussen joystick A op control poort 1 en joystick B op control poort 2.

[Toetsenbord Joysticks] [Game Poort Joysticks] [Originele Joysticks]

Toetsenbord Joysticks

De toetsenbord joystick gebruikt het numeriek toetsenblok.
Het HELP+JOYSTICK pull-down menu toont dit als volgt:

Keyboard Joysticks

Met NUM LOCK uit, werkt de numpad joystick als
joystick B gekoppeld aan control poort 2.

Game Poort Joysticks

The game poort joystick support enables the use of analog joysticks connected to the game poort. The GAMEDD.SYS device driver from GAMEDD2.ZIP must have been specified in CONFIG.SYS and thus be active when OS/2 was started. The emulator calibrates the joysticks automatically while these are being used and restarts that calibration whenever it goes through a simulated hardware reset or power down/up sequence.

Originele Joysticks

The originele joysticks may be connected to the parallelle poort via some extra hardware as shown below:

Originele Joysticks

This schematic is compatible with the Seriële Bus Adapter. No extra pull-up resistors are required when used in combination with the Seriële Bus Adapter. The diodes need to have a low voltage drop when conducting so these have to be schottky type such as 1N5819 or BAT85. I myself used germanium diodes. The DB25 connector and the DB9 connectors are male.

To use the extra hardware connected to the parallelle poort, that port has to be set up in the BIOS as the most simple unidirectionele poort by using the setting SPP (Standaard Parallelle Poort) which may have been labeled COMPATIBLE, NORMAL or STANDALONE. As an alternative that poort may be set up as a bidirectional poort by using the settings ECP (Extended Control Poort) or PS/2 which may have been labeled ENHANCED or EXTENDED.

The emulater recognizes only one parallelle poort for attached hardware and will detect that poort automatically by reading the status poort of the standard LPTs as defined by the basic i/o addresses of 278, 2BC, 378 and 3BC respectively.

Seriële Bus adapter

The Seriële Bus Adapter has been designed to connect originele commodore disk drives and printers to the parallelle poort. When the seriële rom traps are active and there is no diskette present in the simulated commodore 1541-II schijfeenheid then the emulator attempts to access the external devices attached to the Seriële Bus Adapter.

Special adapter software may be written to directly access these external devices independent upon the presence of the seriële rom traps and the state of the simulated commodore 1541-II schijfeenheid. The Extract Diskette program has been written using that technique.

[Adapter Hardware] [Adapter Firmware] [Adapter Software] [Extract Diskette]

Adapter Hardware

The seriële bus devices may be connected to the parallelle poort via some extra hardware as shown below:

Seriële Bus Adapter

This schematic is compatible with the originele joysticks. No extra pull-up resistors are required when used in combination with the originele joysticks. The diodes need to have a low voltage drop when conducting so these have to be schottky type such as 1N5819 or BAT85. I myself used germanium diodes. The DB25 connector and the DB9 connectors are male. The DIN6 connector is female.

To use the extra hardware connected to the parallelle poort, that poort has to be set up in the BIOS as the most simple unidirectionele poort by using the setting SPP (Standaard Parallelle Poort) which may have been labeled COMPATIBLE, NORMAL or STANDALONE. As an alternative that poort may be set up as a bidirectionele poort by using the settings ECP (Extended Control Poort) or PS/2 which may have been labeled ENHANCED or EXTENDED.

The emulater recognizes only one parallelle poort for attached hardware and will detect that poort automatically by reading the status poort of the standard LPTs as defined by the basic i/o addresses of 278, 2BC, 378 and 3BC respectively.

Adapter Firmware

The adapter firmware has been assembled using Microchip MPASM v01.50 and the resultant output file CBM64C.HEX has been provided in INHX8M format. I have programmed my own Microchip PIC16C84 microcontroller using the Microchip PICSTART Plus Development System specifically designed for use in firmware development. Of course other pic programmers may be used.

Adapter Software

De opcode $B2 is als volgt uitgebreid om uitvoer naar de seriële apparaten te verschaffen:

service routinemnemonicsbeschrijvingaccumulator
$B2,$01,$B2,$0DLISTEN,WSTATcommand device to receive setup datadevice number
$B2,$03,$B2,$0DSECOND,WSTATcommand device how to process data bytessetup command
$B2,$05,$B2,$0DCIOUT,WSTATsend next data byte to listening devicesdata byte
$B2,$07,$B2,$0DWREOI,WSTATsend last data byte to listening devices
$B2,$08,$B2,$0DUNLSN,WSTATcommand all listening devices to stop

De opcode $B2 is als volgt uitgebreid om invoer uit de seriële apparaten te verkrijgen:

service routinemnemonicsbeschrijvingaccumulator
$B2,$02,$B2,$0DTALK,WSTATcommand device to receive setup datadevice number
$B2,$04,$B2,$0DTKSA,WSTATcommand device how to prepare data bytessetup command
$B2,$09,$B2,$0CACPTR,RSTATreceive next data byte from talking devicedata byte
$B2,$06,$B2,$0DUNTLK,WSTATcommand all talking devices to stop

De opcode $B2 is als volgt uitgebreid om bovendien turbo transfers te ondersteunen:

service routinemnemonicsbeschrijvingaccumulator
$B2,$0A,$B2,$0CTBGET,RSTATturbo get next data byte from talking devicedata byte
$B2,$0B,$B2,$0DTBPUT,WSTATturbo put next data byte to listening devicedata byte

Extract Diskette

With this program you may extract diskette image data from a real commodore 1541-II schijfeenheid connected to the Seriële Bus Adapter. The extracted diskette image data will be written to the OS/2 file system as an *.SEQ sequential file so you have to rename it later on to an *.D64 file.

When you double click on the EXTRACT.T64 tape image file which contains the basic front-end EXTRACT.PRG together with the assembler back-end EXTRACTX.PRG then you will be prompted to provide the name of the *.SEQ file as shown below together with its successfull completion:

Extract Program Extract Success

The OK message indicates that the extract has been completed successfully. The extracted diskette data has been written to the current directory of the OS/2 file system as the URIDIUM.SEQ file. When you rename it to URIDIUM.D64 then it becomes available as a diskette ready to be inserted into the simulated commodore 1541-II schijfeenheid.

Voldoet aan XHTML 1.0 Voldoet aan CSS 2.1 © W.M.Brul 2004-2009, alle rechten voorbehouden.