Welcome to www.cb64.com*. This is the homepage of the free, multi-platform Commodore 64 emulator Come Back 64.



Thanks to Michael Davon at Web-Depot, Inc. for sponsoring the domain.
 
 
 
 
 
 


Viewing ../txt/readme_vms.txt

VMS-port based on "CB64 Unix/X-Windows Port (Alpha 1)" by Domenico Dato

To get CB64 running on a VAX or Alpha based VMS computer you will need
a C-compiler and DECWindows/MOTIF installed.


An Alpha OpenVMS (7.2) executable is provided

It's a quick and dirty port, it could have been done better.

It's not very fast, on a Alpha Server 2100 5/300 you get speed
like the original, it lies in a cpu-tight loop, so make sure
you're alone in your production cluster before start gameing ;-) 


Observe: F13 is used in VMS-version to exit
See the README.NOW doc for general details

the build completes with, and these warning/informations can be ignored:

  XBuf=Img.Data;
..^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer value
"
Img.Data" is "char", which is not compatible with "unsigned char".
at line number 210 in file DEV$USER:[SYSPLJ.CB64]CB64.C;3

#endif MITSHM
.......^
%CC-I-IGNOREEXTRA, Spurious token(s) ignored on preprocessor directive line.
at line number 233 in file DEV$USER:[SYSPLJ.CB64]LIBUNIX.C;1
linking cb64
%LINK-W-WRNERS, compilation warnings
    in module CB64 file DEV$USER:[SYSPLJ.CB64]CB64.AXP_OBJ;4
executable is cb64_AXP.exe


The changes I have made to get it running is:

cb64.c

/* added VMS specific stuff P.Lj */
- VMS C - compiler doesn't like inlines
#ifdef VMS
#define inline static
#endif


- Set Window title as the current architecture
#ifdef VMS
#ifdef __VAX
char *Title="Comeback 64 VAX/VMS version";
#endif
#ifdef __ALPHA
char *Title="Comeback 64 Alpha OpenVMS version";
#endif
#else
char *Title="Comeback 64 Unix version";      /* Window/command line title */
#endif

- This was a major break in debuggning
#ifdef VMS
char key[65535], keysdown = 0;
#else
char key[256], keysdown = 0;
#endif


- ESC key is not a general exit in VMS apps.
#ifdef VMS
        case XK_F13: ExitNow=1;break;
#endif


libunix.c
- unixtimes is not equal to VMS-times sometimes
#ifdef VMS
#include 
#define ITIMER_REAL     0
#endif



You will find more VMS-porting stuff at:
http://byron.ext.telia.se/vms/

/Peter Ljungberg


Contact: DOS: Johan Fitié | Win32: Dennis Luxen | Java: Mikael Claesson | WinCE/Unix/BeOS: Domenico Dato | OpenVMS: Peter Ljungberg