Latest changes
- Fix for uninitialized value by micko
- [Z80DMA]: small log fix by angelosa
- Added new cart dump [anondumper] by incog
MESS emulates the following computers
For each c128 system, MESS supports
For c128d systems, MESS supports a floppy drive (1571), “floppydisk” (flop), for disk images in .d64 format.
Also notice that a “quickload” (quik) feature is available for .p00 and .prg files.
Cassette images can have the .wav or .tap extensions. To run a .tap or a .wav image you have to launch
mess c128 -cass "C:\pathtogame\gamename.tap"
Once you're at the BASIC prompt you have various options:
LOAD"filename"
LOAD
The message “Press play on tape” will appear, and you will have to enter the MESS internal UI to start the tape (press Tab and choose “Tape Control”, then press “Play”). Once the program is loaded, a “READY” message will be prompted and you can run your program by simply typing
RUN
or the appropriate SYS call.
Also, MESS supports saving to tape. Therefore, you can write your own BASIC programs and save them using the command
SAVE"prog_name"
The message “Press play & record on tape” will appear, and you will have to enter the MESS internal UI to start recording the tape (press Tab and choose “Tape Control”, then press “Record”).
MESS currently simulates only loading from drive 8 and 9 in the C128 emulation. These drives correspond to the devices “floppydisk1” (flop1) and “floppydisk2” (flop2) emulated by MESS. To run a .d64 image you have to launch
mess c128 -flop1 "C:\pathtogame\gamename.d64"
Once you're at the BASIC prompt you have various options:
LOAD"$",8 LIST
LOAD"filename",8
LOAD"filename",8,1
LOAD"*",8
Once the program is loaded, a “READY” message will be prompted and you can run your program by simply typing
RUN
or the appropriate SYS call. If you launched the game on -flop2, you will need to use drive 9 in place of drive 8 in the commands above.
Note that several programs rely on more features not currently emulated (such as loading other file types, writing…) Some games also rely on starting programs in the floppy drive's processor (and therefore CPU level emulation of the 1541 is needed).
Cartridges may have extension .crt and .80. Files with boot-sign in it are recognized as ROMs. Some cartridges may require more than one image: if you have any of these, please contact us because we would like to fix support for them.
To use “cartridge1” (cart1) or “cartridge2” (cart2) slots in MESS, simply launch
mess c128 -cart1 "C:\pathtogame\gamename.crt"
and the game will start (we support two cartridge slot for images which require multiple files to be loaded at different locations, but the support is only partial because we don't have access to any of these images). Also, currently only few of the available types of .crt files are supported.
Note that .prg files are often cartridge images as well, but in MESS they are assigned to the quickloader (see below).
A quickloader is available via command line and it supports program image files with extensions .prg and .p00. The quickloader loads the program into memory and sets the program end pointer. It shall work with most programs. To use the “quickload” (quik) device in MESS: launch
mess c128 -quik "C:\pathtogame\gamename.prg"
and simply type the command
RUN
to start the program.
Gameport A supports paddles 1 & 2, joystick 1, mouse (both the 1350 and 1351), lightpen (implementation not finished). Gameport B supports paddles 3 & 4, joystick 2, mouse (both the 1350 and 1351).
Many games require the user to plug the Joystick controller in the second Joystick port. In MESS this can be done, either remapping the P2 Joystick inputs, or simply pressing F1 (in partial emulation mode) to swap the Joystick ports and use your P1 Joystick as if it was connected to the second port.
These systems require full keyboard emulation to work correctly. At startup, full keyboard emulation mode is enabled by default. Whilst in full keyboard emulation mode, some key associated functionality may be disabled (like the Esc key for EXIT). The keyboard emulation mode is toggled using the Scrl Lock key (by default).
Remember also the following functions:
Additional keys (to C64) are not useable in C64mode.
Original Keyboard: QWERTY Complete full-stroke keyboard with separated numeric keypad
CAPS LINE 40/80 NO
ESC TAB ALT LOCK HELP FEED DISPLAY SCROLL UP DOWN LEFT RIGHT F1 F3 F5 F7
CLR INST
<- 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0 + - £ HOME DEL 7 8 9 +
CONTROL Q W E R T Y U I O P @ * UP RESTORE 4 5 6 -
RUN SHIFT E
STOP LOCK A S D F G H J K L :[ ;] = RETURN 1 2 3 n
t
CRSR CRSR e
C= SHIFT Z X C V B N M ,< .> /? SHIFT U/D L/R 0 . r
SPACEBAR
Notes: C= is a key with the Commodore logo, “UP” is an arrow pointing up, the “CRSR” keys at the bottom-right corner are used to move the cursor on screen (Up/Down and Left/Right resp.).
Combining C= and CTRL with number keys, you can change the font color. Below you find the complete list of available colors
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| C= | orange | brown | light red | dark gray | middle gray | light green | light blue | light gray |
| CTRL | black | white | red | cyan | purple | green | blue | yellow |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| C= | dark purple | brown | light red | dark cyan | middle gray | light green | light blue | light gray |
| CTRL | black | white | dark red | light cyan | light purple | dark green | dark blue | light yellow |
It's emulated through Paddle 5 x-axis, Paddle 6 y-axis
To enter in C64 Mode, hold down C= key while resetting or turning on. Then type
go64
at the C128 command mode
To run in CPM Mode, cpm disk must be inserted in device 8. Then turn on computer or type
boot
at the C128 command mode
If you run into difficulty, be sure to start the emulation with the -log switch, and look into the error.log file that is created in your MESS directory.
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
poke43,0:poke44,160:poke45,0:poke46,192:save"0:basic64",8
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
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
load"savechar64",8,1 sys 32*256 poke 43,0:poke44,192:poke45,0:poke46,208:save"0:char64",8
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 1541 floppy disk drive.
| 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 |
| 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 |
| U102 | 23256 | (read compatible 27256?) | 32kB 1571 system ROM |
C128 issues:
The Commodore 128 was launched at the Las-Vegas Consumer Electronic Show 1985. It was presented then as a competitor for the Apple Macintosh and IBM PC (The famous advertisement said “Bad news for Apple and IBM”). In fact, the only star of this show was the Atari 130 ST!
It was the successor of the Commodore 64 and could use all the software and a lot of the hardware of the C64 (the 8502 could be slowed down 1 MHz for compatibility).
One of the main specialties of this machine was the additional Z80 CPU and Video chip, which means that you could attach two monitors. Thanks to the Z80, the Commodore 128 could run under CP/M + : lots of software were adapted for this computer and Osborne or Kaypro programs could run directly.
The 128D model: The 128D was the direct successor of the Commodore 128. It had exactly the same characteristics as the 128 except its external case which contained the Commodore 1571 floppy disk unit.
Actually there were two distinct Commodore 128Ds : The 128D and the 128D-CR (for Cost Reduced).
Differences between the 128D and the 128DCR were:
(info from old-computers.com)
Entering the command
SYS 32800,123,45,6
in native mode would reveal a 40-column screen with a listing of the machine's main developers (and a message they left).