#### Back to index | # Info for c128

commodore c128
--------------
Sequel of to the c64.
Description
-----------
hardware emulation mode for c64
displayed over din/tv connector only
c64 cartridges
c64 userport
only the c64 standard keys available
country support (keyboard, character rom, kernel (keyboard polling))
character rom german
character rom french, belgium, italian
editor, kernel for german
editor, kernel for swedish
editor, kernel for finish
editor, kernel for norwegian
editor, kernel for french
editor, kernel for italian
enhanced keyboard
m8502 processor (additional port pin)
additional vdc videochip for 80 column modes with own connector (rgbi)
16k byte ram for this chip
128 kbyte ram, 64 kbyte rom, 8k byte charrom, 2k byte static colorram
(1 mbyte ram possible)
sid6581 soundchip
c64 expansion port with some additional pins
z80 cpu for CPM mode
c128d
-----
c1571 floppy drive build in
64kb vdc ram
sid8580 sound chip
c128cr/c128dcr
--------------
cost reduced
only modified for cheaper production (newer rams, ...)
MESS emulation state
--------------------
uses c64 emulation for c64 mode
so only notes for the additional subsystems here
rasterline based video system
no cpu holding
imperfect scrolling support (when 40 columns or 25 lines)
lightpen support not finished
rasterline not finished
vdc emulation
dirtybuffered video system
text mode
only standard 8x8 characters supported
graphic mode not tested
lightpen not supported
scrolling not supported
z80 emulation
floppy simulation not enough for booting CPM
so simplified z80 memory management not tested
no cpu clock doubling
no internal function rom
c64 mode
differences to real c64???
no sound
cia6526's look in machine/cia6526.c
keyboard
gameport a
paddles 1,2
joystick 1
2 button joystick/mouse joystick emulation
no mouse
lightpen (not finished)
gameport b
paddles 3,4
joystick 2
2 button joystick/mouse joystick emulation
no mouse
simple tape support
(not working, cia timing, cpu timing?)
serial bus
simple disk drives
no printer or other devices
expansion modules
no c128 modules
expansion modules c64
rom cartridges (exrom)
ultimax rom cartridges (game)
c64 cartridges (only standard rom cartridges)
no other rom cartridges (bankswitching logic in it, switching exrom, game)
no ieee488 support
no cpm cartridge
no speech cartridge (no circuit diagram found)
no fm sound cartridge
no other expansion modules
no userport
no rs232/v.24 interface
Video notes
-----------
if the game runs to fast with the ntsc version, try the pal version!
flickering affects in one video version, try the other video version
Keys
----
Some PC-Keyboards does not behave well when special two or more keys are
pressed at the same time
(with my keyboard printscreen clears the pressed pause key!)
shift-cbm switches between upper-only and normal character set
(when wrong characters on screen this can help)
run (shift-stop) loads program from type and starts it
esc-x switch between two videosystems
additional keys (to c64) are in c64mode not useable
Lightpen
--------
Paddle 5 x-axe
Paddle 6 y-axe
Tape
----
(DAC 1 volume in noise volume)
loading of wav, prg and prg files in zip archive
commandline -cassette image

wav:
8 or 16(not tested) bit, mono, 125000 Hz minimum
has the same problems like an original tape drive (tone head must
be adjusted to get working(no load error,...) wav-files)

zip:
must be placed in current directory
prg's are played in the order of the files in zip file
use LOAD or LOAD"" or LOAD"",1 for loading of normal programs
use LOAD"",1,1 for loading programs to their special address
several programs relies on more features
(loading other file types, writing, ...)
Discs
-----
only file load from drive 8 and 9 implemented
loads file from rom directory (*.prg,*.p00) (must NOT be specified on commandline)
or file from d64 image (here also directory LOAD"$",8 supported)
use LOAD"filename",8
or LOAD"filename",8,1 (for loading machine language programs at their address)
for loading
type RUN or the appropriate sys call to start them
several programs rely on more features
(loading other file types, writing, ...)
most games rely on starting own programs in the floppy drive
(and therefor cpu level emulation is needed)
Roms
----
.prg
.crt
.80 .90 .a0 .b0 .e0 .f0
files with boot-sign in it
recognized as roms
.prg files loaded at address in its first two bytes
.?0 files to address specified in extension
.crt roms to addresses in crt file
Quickloader
-----------
.prg and .p00 files supported
loads program into memory and sets program end pointer
(works with most programs)
program ready to get started with RUN
loads first rom when you press quickload key (numeric slash)
c64 mode
--------
hold down commodore key while resetting or turning on
type go64 at the c128 command mode
cpm mode
--------
cpm disk must be inserted in device 8
turn on computer
or
type boot at the c128 command mode
when problems start with -log and look into error.log file
rom dumping
-----------

Dumping of the roms from the running machine:
in the monitor program
s "drive:name",device,start,end
s "0:basic",8,f4000,fc000
s "0:editor",8,fc000,fd000
s "0:kernel",8,ee000,f0000
s "0:char128",8,ed000,ee000
*z80bios missing (funet says only 1 version!?)
I don't know, maybe there is a cpm utility allowing saving
the memory area 0-0xfff of bank 0.
(I don't want to develop (and can't test) this short complicated
program)
*c64basic and kernel (only 1 version!?)
in c64 mode
poke43,0:poke44,160:poke45,0:poke46,192:save"0:basic64",8
in c64 mode
for i=0 to 8191:poke 32*256+i, peek(224*256+i): next
poke43,0:poke44,32:poke45,0:poke46,64:save"0:kernel64",8
*c64 charset (swedish version or original c64 version)
in c128 mode
monitor
a 2000 sei
lda #33
sta 1
ldy #0
sty fa
sty fc
lda #c0
sta fd
lda #d0
sta fb
ldx #10
lda (fa),y
sta (fc),y
iny
bne 2015
inc fb
inc fd
dex
bne 2015
lda #37
sta 1
cli
rts
(additional enter to end assembler input)
x (to leave monitor)
go64 (answer with y)
sys 32*256
poke 43,0:poke44,192:poke45,0:poke46,208:save"0:char64",8
or in c64 mode
load the program in the attachment
load"savechar64",8,1
sys 32*256
poke 43,0:poke44,192:poke45,0:poke46,208:save"0:char64",8

c128d floppy disk bios:
I think you have to download a program
copying the bios to puffers.
Then you could read this buffer into the computer, or write
these buffers to disk.

Transportation to your pc:
1571 writing to mfm encoded disketts (in cpm mode only, or use program)
maybe the IBM CPM-86 formats are like the standard DOS formats.
but using dd may create images known by some other emulators.

1581 writes mfm encoded:
can one of these drives to a format know by linux?
Some years ago I build a simple adapter pc/parport to vc1541
floppy disk drive.
Dumping roms with epromer
-------------------------
c128
U18 (read compatible 2764?) 8kB c64 character rom, c128 character rom
U32 23128 (read compatible 27128?) 16kB c64 Basic, c64 Kernel
U33 23128 (read compatible 27128?) 16kB c128 Basic at 0x4000
U34 23128 (read compatible 27128?) 16kB c128 Basic at 0x8000
U35 23128 (read compatible 27128?) 16kB c128 Editor, Z80Bios, C128 Kernel
c128 cost reduced
U18 (read compatible 2764?) 8kB c64 character rom, c128 character rom
U32 23256 (read compatible 27256?) 32kB c64 Basic, c64 Kernel, c128 Editor, Z80Bios, C128 Kernel
U34 23256 (read compatible 27256?) 32kB C128 Basic
c128dcr
as c128 cr
U102 23256 (read compatible 27256?) 32kB 1571 system rom

created on Tue Jan 01 12:56:01 2002