diff options
-rw-r--r-- | system/vice/README | 11 | ||||
-rw-r--r-- | system/vice/README_SBo.txt | 21 | ||||
-rw-r--r-- | system/vice/config/vice.png | bin | 4040 -> 0 bytes | |||
-rw-r--r-- | system/vice/config/vsid.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/x128.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/x64.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/x64dtv.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/x64sc.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xcbm2.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xcbm5x0.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xpet.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xplus4.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xscpu64.desktop | 9 | ||||
-rw-r--r-- | system/vice/config/xvic.desktop | 9 | ||||
-rw-r--r-- | system/vice/doinst.sh | 16 | ||||
-rw-r--r-- | system/vice/man/c1541.1 | 162 | ||||
-rw-r--r-- | system/vice/man/cartconv.1 | 247 | ||||
-rw-r--r-- | system/vice/man/petcat.1 | 219 | ||||
-rw-r--r-- | system/vice/man/vice.1 | 183 | ||||
-rw-r--r-- | system/vice/man/vsid.1 | 24 | ||||
-rw-r--r-- | system/vice/slack-desc | 2 | ||||
-rw-r--r-- | system/vice/vice.SlackBuild | 318 | ||||
-rw-r--r-- | system/vice/vice.info | 8 |
23 files changed, 1042 insertions, 268 deletions
diff --git a/system/vice/README b/system/vice/README index cf93780f1a03..7b9ba9f87dcd 100644 --- a/system/vice/README +++ b/system/vice/README @@ -4,5 +4,12 @@ VICE is the one and only Versatile Commodore Emulator. It provides emulation of the Commodore C64, C128, VIC20, PET, PLUS4 and CBM-II computers. -See README_SBo.txt for build options. The defaults should be fine for -most users. +This build includes both the GTK+3 and SDL2[*] menu-based user +interfaces. The SDL2 binaries are installed with -sdl2 suffix, +e.g. x64-sdl2 and x128-sdl2. + +[*] If you'd rather build with SDL 1.x for some reason, set SDL=1 in +the environment. The SDL1 binaries are installed with -sdl1 suffix. +It's also possible to omit the SDL binaries entirely with SDL=no. + +To build without PulseAudio, set PULSE=no in the environment. diff --git a/system/vice/README_SBo.txt b/system/vice/README_SBo.txt deleted file mode 100644 index e8fd15f8de4e..000000000000 --- a/system/vice/README_SBo.txt +++ /dev/null @@ -1,21 +0,0 @@ -Optional dependencies: ffmpeg and SDL2. - -Vice can use ffmpeg to record videos of the emulated machine. If -ffmpeg is installed, it will be autodetected. If you have ffmpeg -installed but don't want ffmpeg support, you'll have to removepkg -ffmpeg before building (there's no way to override the autodetection). - -By default, vice will be built with SDL2 if it's installed, otherwise -SDL1. You can set SDL=1 to force building with SDL1 even if SDL2 is -installed. - -If you want to build without PulseAudio, set PULSE=no in the environment. - -Note: To use the standard application menu instead of the in-emulator -PETSCII menu, GTK3 v3.22 is required. Slackware 14.2 ships with 3.18 -and there is no upgrade package for this. Slackware -current has -3.22. So to use the normal application menus, either use Slackware --current or find a way to upgrade your Slackware 14.2's GTK3 to -v3.22. The SlackBuild maintainer has NOT tested this build with -Slackware -current, you're on your own if it doesn't work (fix it and -send me a patch if you can). diff --git a/system/vice/config/vice.png b/system/vice/config/vice.png Binary files differdeleted file mode 100644 index e001fc862037..000000000000 --- a/system/vice/config/vice.png +++ /dev/null diff --git a/system/vice/config/vsid.desktop b/system/vice/config/vsid.desktop deleted file mode 100644 index c1dfd32f55b9..000000000000 --- a/system/vice/config/vsid.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE SID Player -Comment=A SID Player -StartupNotify=true -Exec=vsid -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/x128.desktop b/system/vice/config/x128.desktop deleted file mode 100644 index 92ab76c63732..000000000000 --- a/system/vice/config/x128.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE C128 emulator -Comment=A Commodore 128 emulator -StartupNotify=true -Exec=x128 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/x64.desktop b/system/vice/config/x64.desktop deleted file mode 100644 index 7991b5ecd90a..000000000000 --- a/system/vice/config/x64.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE C64 emulator -Comment=A fast Commodore 64 emulator -StartupNotify=true -Exec=x64 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/x64dtv.desktop b/system/vice/config/x64dtv.desktop deleted file mode 100644 index f3d82b642d7b..000000000000 --- a/system/vice/config/x64dtv.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE C64DTV emulator -Comment=A C64DTV emulator -StartupNotify=true -Exec=x64dtv -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/x64sc.desktop b/system/vice/config/x64sc.desktop deleted file mode 100644 index 46d5b89ee00e..000000000000 --- a/system/vice/config/x64sc.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE C64 emulator -Comment=An accurate Commodore 64 emulator -StartupNotify=true -Exec=x64sc -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xcbm2.desktop b/system/vice/config/xcbm2.desktop deleted file mode 100644 index 1411e4188373..000000000000 --- a/system/vice/config/xcbm2.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE CBM-II emulator -Comment=A Commodore CBM-II (6x0/7x0) emulator -StartupNotify=true -Exec=xcbm2 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xcbm5x0.desktop b/system/vice/config/xcbm5x0.desktop deleted file mode 100644 index 2acabe36d5fa..000000000000 --- a/system/vice/config/xcbm5x0.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE CBM-II emulator -Comment=A Commodore CBM-II (5x0) emulator -StartupNotify=true -Exec=xcbm5x0 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xpet.desktop b/system/vice/config/xpet.desktop deleted file mode 100644 index 1efabc6b61e2..000000000000 --- a/system/vice/config/xpet.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE PET emulator -Comment=A Commodore PET emulator -StartupNotify=true -Exec=xpet -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xplus4.desktop b/system/vice/config/xplus4.desktop deleted file mode 100644 index 63f095c95a30..000000000000 --- a/system/vice/config/xplus4.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE Plus4 emulator -Comment=A Commodore Plus4 emulator -StartupNotify=true -Exec=xplus4 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xscpu64.desktop b/system/vice/config/xscpu64.desktop deleted file mode 100644 index 295643f0c8e7..000000000000 --- a/system/vice/config/xscpu64.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE C64 SuperCPU emulator -Comment=An accurate SuperCPU64 emulator -StartupNotify=true -Exec=xscpu64 -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/config/xvic.desktop b/system/vice/config/xvic.desktop deleted file mode 100644 index d06423e8be47..000000000000 --- a/system/vice/config/xvic.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=VICE VIC-20 emulator -Comment=A Commodore VIC-20 emulator -StartupNotify=true -Exec=xvic -Icon=vice -Terminal=false -Type=Application -Categories=System diff --git a/system/vice/doinst.sh b/system/vice/doinst.sh index 2dde7a5cb4bc..010d680f5861 100644 --- a/system/vice/doinst.sh +++ b/system/vice/doinst.sh @@ -1,15 +1,11 @@ -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +if [ -x /usr/bin/xdg-desktop-menu ]; then + /usr/bin/xdg-desktop-menu install \ + usr/share/desktop-directories/vice-org-vice-org.directory \ + usr/share/applications/vice-org-*.desktop fi -if [ -x /usr/bin/mkfontdir ]; then - ( cd /usr/share/fonts/TTF - mkfontscale . - mkfontdir . - ) -fi -if [ -x /usr/bin/fc-cache ]; then - /usr/bin/fc-cache -f +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi chroot . /usr/bin/install-info --info-dir=/usr/info /usr/info/vice.info.gz diff --git a/system/vice/man/c1541.1 b/system/vice/man/c1541.1 new file mode 100644 index 000000000000..5182a99e4618 --- /dev/null +++ b/system/vice/man/c1541.1 @@ -0,0 +1,162 @@ +.TH C1541 1 "May 2018" "VICE" +.SH NAME +c1541 \- a stand alone disk image maintenance program +.SH SYNOPSIS +.IR c1541 +[options] [image] +.SH DESCRIPTION +.IR c1541 +is a stand alone program that can be used for D64, D71, D81, X64 and G64 +disk image file maintenance. It is part of the +.IR VICE +emulator. +.P +.IR c1541 +can be used both in interactive and batch mode. It will start in interactive +mode if no images and no options are specified or if one image is specified; +when started in interactive mode, command line editing and command history +are available. +.P +Each command line option for use in batch mode has an interactive mode +counterpart, that is shown in parenthesis. +.TP 8 +.B \-@ \fIcommand\fR +execute CBM DOS command +.TP +.B \-attach \fIimage\fR (attach \fIimage\fR) +attach \fIimage\fR for use. All consequent commands in interactive mode will +refer to this image. +.TP +.B \-bam [\fIunit\fR] | \fItrack-min\fR \fItrack_max\fR [\fIunit\fR] (bam [\fIunit\fR] | \fItrack-min\fR \fItrack_max\fR [\fIunit\fR]) +show bam bitmap of an imagem optionally specifying unit and/or a slice of the tracks using \fItrack-min\fR and \fItrack-max\fR. +.TP +.B \-bcopy \fIsrc_trk\fR \fIsrc_sec\fR \fIdst_trk\fR \fIdst_sec\fR [\fIsrc_unit\fR [\fIdst_unit\fR]] (bcopy \fIsrc_trk\fR \fIsrc_sec\fR \fIdst_trk\fR \fIdst_sec\fR [\fIsrc_unit\fR [\fIdst_unit\fR]]) +copy a block to another block. When not using the optional unit numbers, the block is copied among the current unit. If one unit (\fIsrc_unit\fR) is specified that unit is used for both source and destination. Using both unit number allows copying blocks between different units. +.TP +.B \-bfill \fItrack\fR \fIsector\fR \fIvalue\fR \fI[unit]\fR (bfill \fItrack\fR \fIsector\fR \fIvalue\fR \fI[unit]\fR) +fill a block with a single value. +.TP +.B \-block \fItrack\fR \fIsector\fR \fI[offset]\fR \fI[unit]\fR (block \fItrack\fR \fIsector\fR \fI[offset]\fR \fI[unit]\fR) +show disk blocks in hex format. +.TP +.B \-bpoke [\fI[@unit:]\fR \fItrack\fR \fIsector\fR \fIoffset\fR \fIdata\fR (bpoke [\fI[@unit:]\fR \fItrack\fR \fIsector\fR \fIoffset\fR \fIdata\fR) +poke data into a block. The \fIdata\fR list should be at least a single byte. Multiple prefixes for the data are supported: 0x/$ for hex, 0b/% for binary, & for octal and unadorned for plain decimal. +.TP +.B \-bread \fIfilename\fR \fItrack\fR \fIsector\fR [\fIunit\fR] (bread \fIfilename\fR \fItrack\fR \fIsector\fR [\fIunit\fR]) +read a block from the disk image at (\fItrack\fR,\fIsector\fR) and write it to the host file system as \fIfilename\fR. +.TP +.B \-bwrite \fIfilename\fR \fItrack\fR \fIsector\fR [\fIunit\fR] (bwrite \fIfilename\fR \fItrack\fR \fIsector\fR [\fIunit\fR]) +write a block from \fIfilename\fR on the host file system to a disk image at (\fItrack\fR,\fIsector\fR). +.TP +.B \-chain \fItrack\fR \fIsector\fR \fi[unit]\fR (chain \fItrack\fR \fIsector\fR \fI[unit]\fR) +show block chain starting at (\fItrack\fR,\fIsector\fR). The last number shown is the number of bytes in the final block. +.TP +.B \-copy \fIimage\fR \fIoldname1\fR \fI[oldname2...]\fR \fInewname\fR (copy \fIoldname1\fR \fI[oldname2...]\fR \fInewname\fR) +concatenate \fIoldname1\fR, \fIoldname2\fR... into \fInewname\fR on \fIimage\fR +(can be used to copy files). +.TP +.B \-delete \fIimage\fR \fIfiles...\fR (delete \fIfiles...\fR) +delete \fIfiles\fR from \fIimage\fR +.TP +.B \-dir \fI[pattern]\fR (dir \fI[pattern]\fR) +list directory. See the \fBlist\fR command for details. +.TP +.B \-extract \fIimage\fR (extract \fIimage\fR) +extract all files from \fIimage\fR. +.TP +.B \-format \fIimage\fR (format \fIimage\fR '\fIname,id\fR') +format the disk image \fIimage\fR with the specified label. \fIimage\fR is +created if it does not exist. +.TP +.B \-geosextract \fIsource\fR (geosextract \fIsource\fR) +extract all the files to the file system and GEOS Convert them. +.TP +.B \-geosread \fIsource\fR \fI[destination]\fR (geosread \fIsource\fR \fI[destination]\fR) +read GEOS \fIsource\fR from the disk image and copy it as a Convert file into +\fIdestination\fR in the file system. If \fIdestination\fR is not specified, +copy it into a file with the same name as \fIsource\fR. +Please note that since GEOS files are stored in ASCII, violating CBMDOS +conventions, the filename should be given in inverted case. +.TP +.B \-geoswrite \fIsource\fR (geoswrite \fIsource\fR) +write GEOS Convert file \fIsource\fR from the file system on a disk image. +.TP +.B \-help \fI[command]\fR (help) +show help on all commands or more detailed help on a specific \fIcommand\fR +.TP +.B \-info \fIimage\fR \fI[unit]\fR (info \fI[unit]\fR) +show information about image (format, geometry, error-block, write-protect) +.TP +.B \-list \fI[pattern]\fR (list) +list directory. The optional \fIpattern\fR accepts the usual +CBM DOS wildcards (\fB*\fR and \fB?\fR) and also supports file type selection +with '=X', where \fBX\fR is one of \fBS\fR, \fBP\fR, \fBU\fR or \fBR\fR. +Multiple sub patterns can be specified by using comma's. +.TP +.B \-name \fIdiskname[,id]\fR \fI[unit]\fR (name \fIdiskname[,id]\fR \fI[unit]\fR) +set diskname and optionally id. +.TP +.B \-p00save \fIenable\fR \fI[unit]\fR (p00save \fIenable\fR \fI[unit\fR) +save P00 files to the file system. +.TP +.B \-read \fIimage\fR \fI1541name\fR \fI[fsname]\fR (read \fI1541name\fR \fI[fsname]\fR) +extract \fI1541name\fR from the disk image into \fIfsname\fR (\fI1541name\fR +by default) from \fIimage\fR. +.TP +.B \-rename \fIoldname\fR \fInewname\fR (rename \fIoldname\fR \fInewname\fR) +rename files. The files must be on the same drive. +.TP +.B \-show \fI'copying'\fR|\fI'warranty'\fR (show \fI'copying'\fR|\fI'warranty'\fR) +show license or warranty information. +.TP +.B \-tape \fIimage\fR \fItapeimage\fR \fI[files...]\fR (tape \fIimage\fR \fItapeimage\fR \fI[files...]\fR) +transfer \fIfiles\fR from \fItapeimage\fR to \fIimage\fR (default is all files). +.TP +.B \-unlynx \fIarchive\fR \fI[unit]\fR (unlynx \fIarchive\fR \fI[unit]\fR) +dissolve Lynx \fIarchive\fR. +.TP +.B \-validate \fIimage\fR (validate) +validate \fImage\fR. +.TP +.B \-verbose \fR[off] (verbose [off]) +set verbose mode. Output extra logging information, disable with \fBverbose off\fR. +.TP +.B \-write \fIimage\fR \fIfsname\fR \fI[1541name]\fR (write \fIfsname\fR \fI[1541name]\fR) +write \fIfsname\fR to \fIimage\fR as \fI1541name\fR (\fIfsname\fR by default). +(works with \fIP00\fR files as well). +.TP +.B \-zcreate \fIx64name\fR \fIzipname\fR [\fIlabel,id\fR] (zcreate \fIx64name\fR \fIzipname\fR [\fIlabel,id\fR] +create an X64 disk image from four Zipcoded files named \fI1!zipname\fR through +\fI4!zipname\fR. +.P +When more than one command is specified in batch mode, all of them are +executed in the same order they have on the command line. +.P +If you use +.B \- +as a file name, it stands for \fIstdin\fR or \fIstdout\fR. +.P +Exit interactive mode with either \fBexit\fR or \fBquit\fR. +.SH SEE ALSO +.BR vice(1), +.BR cartconv(1), +.BR petcat(1) +.P +@HTMLDOC@ +.SH AUTHORS +Teemu Rantanen <tvr@cs.hut.fi> +.br +Ettore Perazzoli <ettore@comm2000.it> +.br +Andreas Boose <boose@linux.rz.fh-hannover.de> +.br +Jouko Valta <jopi@stekt.oulu.fi> +.P +with improvements by +.P +.br +Olaf Seibert <rhialto@mbfys.kun.nl> +.br +Gerhard Wesp <gwesp@cosy.sbg.ac.at> +.br +Bas Wassink <b.wassink@ziggo.nl> diff --git a/system/vice/man/cartconv.1 b/system/vice/man/cartconv.1 new file mode 100644 index 000000000000..4bf0a7dae8cb --- /dev/null +++ b/system/vice/man/cartconv.1 @@ -0,0 +1,247 @@ +.TH CARTCONV 1 "March 2017" "VICE" +.SH NAME +cartconv \- a stand alone cartridge conversion program +.SH SYNOPSIS +.IR cartconv +[options] +.SH DESCRIPTION +.IR cartconv +is a cartridge conversion utility, it can convert between binary and .crt +images and it can 'insert' binary and/or .crt images into the EPROM type of +cartridges. It is part of the +.IR VICE +emulator. +.TP 8 +.B \-i \fIinput name\fR +This parameter is mandatory, it should contain the name of the binary/.crt +file you want to convert. For the EPROM type of cartridges this parameter +can be used multiple times to insert images into the resulting file. +.TP +.B \-o \fIoutput name\fR +This parameter is mandatory, it should contain the name of the binary/.crt +file you want to convert the input file to. +.TP +.B \-t \fIcarttype\fR +This parameter is optional. It is only needed when converting to a .crt +file. See below for the supported cartridge types. +.TP +.B \-n \fIcart name\fR +This parameter is optional and is used as the cartridge name when creating +a .crt file. +.TP +.B \-l \fIloadaddress\fR +This parameter is optional and is used as the load-address when converting +a .crt file to a .prg file, or when converting to a generic type .crt file. +.TP +.B \-f \fIinput name\fR +This parameter is optional, and is meant to output information about the +named file. It can't be used in conjuction with any of the other parameters. +.TP +.B \-r +This parameter is optional, it enables repair mode (accept broken input files) +.TP +.B \-q +This parameter is optional, it disables all non-error messages +.P + +The following cartridge types are supported: + +.TP +.B bin +Binary .bin file (Default crt->bin) +.TP +.B normal +Generic 8kB/12kB/16kB .crt file (Default bin->crt) +.TP +.B prg +Binary C64 .prg file with load-address +.TP +.B ulti +Ultimax mode 4kB/8kB/16kB .crt file +.TP +.B ap +Atomic Power .crt file +.TP +.B ar2 +Action Replay MK2 .crt file +.TP +.B ar3 +Action Replay MK3 .crt file +.TP +.B ar4 +Action Replay MK4 .crt file +.TP +.B ar5 +Action Replay V5 .crt file +.TP +.B cap +Capture .crt file +.TP +.B comal +Comal 80 .crt file +.TP +.B dep256 +Dela EP256 .crt file, extra files can be inserted +.TP +.B dep64 +Dela EP64 .crt file, extra files can be inserted +.TP +.B dep7x8 +Dela EP7x8 .crt file, extra files can be inserted +.TP +.B din +Dinamic .crt file +.TP +.B dsm +Diashow-Maker .crt file +.TP +.B easy +EasyFlash .crt file +.TP +.B ecr +Easy Calc Result .crt file +.TP +.B epyx +Epyx FastLoad .crt file +.TP +.B exos +EXOS .crt file +.TP +.B expert +Expert Cartridge .crt file +.TP +.B f64 +Formel 64 .crt file +.TP +.B fc1 +The Final Cartridge .crt file +.TP +.B fc3 +The Final Cartridge III .crt file +.TP +.B fcp +Final Cartridge Plus .crt file +.TP +.B ff +Freeze Frame .crt file +.TP +.B fm +Freeze Machine .crt file +.TP +.B fp +Fun Play .crt file +.TP +.B gk +Game Killer .crt file +.TP +.B gmod2 +GMod2 .crt file +.TP +.B gs +C64 Games System .crt file +.TP +.B ide64 +IDE64 .crt file +.TP +.B ieee +IEEE-488 Interface .crt file +.TP +.B kcs +KCS Power Cartridge .crt file +.TP +.B ks +Kingsoft .crt file +.TP +.B mach5 +MACH 5 .crt file +.TP +.B md +Magic Desk .crt file +.TP +.B mf +Magic Formel .crt file +.TP +.B mikro +Mikro Assembler .crt file +.TP +.B mmc64 +MMC64 .crt file +.TP +.B mmcr +MMC Replay .crt file +.TP +.B mv +Magic Voice .crt file +.TP +.B ocean +Ocean .crt file +.TP +.B p64 +Prophet64 .crt file +.TP +.B pf +Pagefox .crt file +.TP +.B rep256 +REX 256k EPROM Cart .crt file, extra files can be inserted +.TP +.B rgcd +RGCD .crt file +.TP +.B ross +ROSS .crt file +.TP +.B rr +Retro Replay .crt file +.TP +.B rrnet +RR-Net MK3 .crt file +.TP +.B ru +REX Utility .crt file +.TP +.B s64 +Snapshot 64 .crt file +.TP +.B sb +Structured BASIC .crt file +.TP +.B se5 +Super Explode V5.0 .crt file +.TP +.B sg +Super Games .crt file +.TP +.B silver +Silverrock 128K Cartridge .crt file +.TP +.B simon +Simons' BASIC .crt file +.TP +.B ss4 +Super Snapshot V4 .crt file +.TP +.B ss5 +Super Snapshot V5 .crt file +.TP +.B star +Stardos .crt file +.TP +.B wl +Westermann Learning .crt file +.TP +.B ws +Warp Speed .crt file +.TP +.B zaxxon +Zaxxon .crt file +@end table + +.SH SEE ALSO +.BR vice(1), +.BR c1541(1), +.BR petcat(1) +.P +@HTMLDOC@ +.SH AUTHORS +Marco van den Heuvel <blackystardust68@yahoo.com> diff --git a/system/vice/man/petcat.1 b/system/vice/man/petcat.1 new file mode 100644 index 000000000000..e49cc3afc590 --- /dev/null +++ b/system/vice/man/petcat.1 @@ -0,0 +1,219 @@ +.TH PETCAT 1 "March 2017" "VICE" "C64 Program Development" +.nr X +.SH NAME +petcat \- convert and display PETSCII or BASIC files +.SH SYNOPSIS +.IR petcat +[ +.B \-text +| +\-<\fIversion\fR> +| +.B \-w<\fIversion\fR> +| +.B \-k<\fIversion\fR> +] [ +.B \-l \fIhexaddr\fR +] [ +.B \-c +| +.B \-nc +] [ +.B \-o \fIoutfile\fR +] [ +.B \-skip \fIoffset\fR +] [ +\-- +] [ +.B file list +] +.SH DESCRIPTION +.IR petcat +converts input files from the most common CBM file formats into +printable ASCII form and writes to standard output. The type +of input file is determined automatically, if possible, and +appropriate conversion is performed. +Since a few of the BASIC versions have keywords defined differently, +the right conversion has to be selected on the command line. +Where such confusion cannot happen, automatical recognition of input +is used. This is useful when expanding several files at once or if +the program contains code for several versions, selected according to +the hardware; eg. Simons' Basic vs. Basic 7.0. +.br +Please note that each input file is converted individually, +but the output is produced as continuous flow. Also, all input +files that are read trough a pipe, are concatenated before they +reach +.IR petcat +so any machine language section in between the BASIC programs causes +all consecutive files to be taken as one machine language program. +For that reason files containing machine language parts attached to +them must be input separately, otherwise the remaining files won't +be expanded. +.IR petcat +recognizes normal PETSCII text files (SEQ), program files containing +directory listing, and BASIC programs. Both the original CBM files and +files with a PC64 `P00' header are accepted. The different BASIC versions +are not automatically distinguished, but standard C64 and C128 versions +are used as default. +.br +In order to tokenize a text file into a BASIC binary file the desired +BASIC version must be exclusively specified so that correct set of +keywords will be used. +If line numbers are not found in the beginning of each program line, +the cruncher creates the missing line numbers by adding 2 to the numeric +value of previous one. +Since also line numbers deviating from strictly ascendind order are +accepted, care must be taken when editing such a program on a C64 again. +.SS Clarification +.LP +Since CBM programs usually contain unprintable characters, a way to +specify them has been created. +Normally, +.IR petcat +uses the same codes as most printers, but for tokenizing programs +scanned from magazines, it can use the following convention: +.br +.TP 12 +.BR "{DOWN}" +stands for single control code +.TP +.BR "{6 RIGHT}" +contains amout of consecutive codes +.TP +List of valid mnemonics: +.br +{wht} {dish} {ensh} {swlc} {down} {rvon} {home} {del} {esc} {red} +{rght} {grn} {blu} {orng} {F1} {F3} {F5} {F7} {F2} {F4} {F6} {F8} +{sret} {swuc} {blk} {up} {rvof} {clr} {inst} {brn} {lred} {gry1} +{gry2} {lgrn} {lblu} {gry3} {pur} {left} {yel} {cyn} +.TP +List of alternate mnemonics: +.br +{wht} {up/lo lock on} {up/lo lock off} {return} {lower case} {down} +{rvs on} {home} {delete} {esc} {red} {right} {grn} {blu} {orange} +{f1} {f3} {f5} {f7} {f2} {f4} {f6} {f8} {shift return} {upper case} +{blk} {up} {rvs off} {clr} {insert} {brown} {lt red} {grey1} {grey2} +{lt green} {lt blue} {grey3} {pur} {left} {yel} {cyn} +.SH OPTIONS +.TP 8 +.B \-l \fIload_address\fR +Specify \fIload_address\fR (in hex) for tokenized program. +.TP +.B \-c +Causes +.IR petcat +to interpret also control characters. +By default, these strings are the same as used by printers. However, +an alternate set is attempted whenever none within the primary set +matches. Default is ON, unless text mode is selected. +.TP +.B \-nc +Suppress control codes. +.TP +.B \-f +Force overwrite of existing output file. Default true. +.TP +.B \-h +Print filename and start address for each Basic file expanded. Default true. +.TP +.B \-nh +Suppress file header in printout. +.TP +.B \-o \fIfile\fR +Redirect output to the specified \fIfile\fR. This option overrules -h. +When \fIfile\fP has extension `.P00' and also -w option is specified, the PC64 +file header is written automatically. .P00 file cannot be written on stdout +but to a file only. +.TP +.B \-skip \fIoffset\fR +Skip \fIoffset\fR bytes in the beginning of input file. +.TP +.B \-text +Force text mode even if the input file looks like a Basic program, i.e. +the first byte in file is 01. +.TP +.B \-k<\fIversion\fR> +Just prints all valid keywords for the specified Basic \fIversion\fR. +Without any \fIversion\fR, all names of supported BASIC versions are +listed instead. +.TP +.B \-w<\fIversion\fR> +Tokenise program listing using keywords set from the specified Basic +\fIversion\fR. +.TP +\-<\fIversion\fR> +Changes the set of keywords for the specified Basic \fIversion\fR and +expands tokenized input file. +Without this option +.IR petcat +uses V7.0 keywords in expanding. +.SS Versions +.TP 14 +.B 1 +Basic 1.0 +.TP +.B 2 +Basic 2.0 +.TP +.B a +Basic 2.0 with AtBasic +.TP +.B t +Basic 2.0 with Turtle Basic +.TP +.B super su se +Basic 2.0 with Super Expander +.TP +.B simon si +Basic 2.0 and Simons' Basic +.TP +.B speech sp +Basic 2.0 with Speech Basic v2.7 +.TP +.B 4 +Basic 4.0 +.TP +.B 4e +Basic 4.0 Extension +.TP +.B 3 +Basic 3.5 +.TP +.B 7 +Basic 7.0 +.TP +.B 10 +Basic 10.0 +.SH RESTRICTIONS +.LP +Line numbers must be less than 65536. +Maximum line length is 255 bytes. Leading white space is ignored. +Blank lines and line numbers not followed by any text are rejected. +While expanding, Machine Language section concatenated to a BASIC +program is ignored. +While crunching, control codes that appear outside quotes are not +interpreted. +The low order byte of load address must be "01". +.SH SEE ALSO +.BR cat(1), +.BR tr(1), +.BR sed(1), +.BR fvcbm(1), +.BR petlp(1), +.BR cbmconvert(1), +.BR iso2asc(1), +.BR ascii(7), +.BR "\fICBM Tokens Documentation\fP", +.BR "CBM's \fIProgrammers' Reference Guide\fP series" +.P +@HTMLDOC@ +.SH AUTHOR + Jouko Valta (jopi@stekt.oulu.fi) +.SH Thanks to + Frederik Ekman (d91fe@lelle.pt.hk-r.se) + Marko M\(:akel\(:a (msmakela@nic.funet.fi) + Russell Alphey (r.alphey@dce.vic.gov.au) + Andr\('e Fachat (a.fachat@physik.tu-chemnitz.de) + Onno Ebbinge (ebbin200@hio.tem.NHL.NL) + Frank Kontros (jeno@kontr.uzhgorod.ua) diff --git a/system/vice/man/vice.1 b/system/vice/man/vice.1 new file mode 100644 index 000000000000..b15ee17c81eb --- /dev/null +++ b/system/vice/man/vice.1 @@ -0,0 +1,183 @@ +.TH VICE 1 "August 2021" VICE "SlackBuilds.org" +.SH NAME +VICE - Versatile Commodore Emulator and Virtual Commodore Environment +.SH DESCRIPTION +.I VICE +is a multi-platform emulator of the Commodore PET, CBM-II, +VIC20, C64, C64DTV, C128 and Plus4 8-bit computers. The emulators run as +separate programs, but have the same user interface, share the same +settings and support the same file formats. Also some external +utilities are provided. +.P +VICE is made up of the following programs: +.TP 8 +.B x64 +a fast Commodore 64 emulator +.TP +.B x64sc +an accurate Commodore 64 emulator +.TP +.B xscpu64 +an accurate SCPU64 emulator +.TP +.B x64dtv +a C64DTV emulator +.TP +.B x128 +a Commodore 128 emulator +.TP +.B xvic +a Commodore VIC20 emulator +.TP +.B xpet +a Commodore PET emulator +.TP +.B xplus4 +a Commodore Plus4 emulator +.TP +.B xcbm2 +a Commodore CBM-II (6x0/7x0) emulator +.TP +.B xcbm5x0 +a Commodore CBM-II (5x0) emulator +.TP +.B vsid \fI[*]\fR +a SID player +.TP +.B c1541 \fI[*]\fR +a stand-alone disk image maintenance utility; +.TP +.B petcat \fI[*]\fR +a Commodore BASIC (de)tokenizer; +.TP +.B cartconv \fI[*]\fR +a cartridge file (bin<--->crt) converter; +.PP +Programs marked with \fI[*]\fR have their own man pages. +.PP +Any of the above programs can be run with the \fB\-\-help\fR option to +get a list of command\-line options; there are too many to list here. +You might want to pipe the output through a pager, e.g. +.PP +.B +x64 \-\-help | less +.PP +The whole documentation for these programs is available in HTML +format; the main file should be installed on your system as +@HTMLDOC@ +.P +The same documentation is available in PDF form as +@PDFDOC@, or by selecting \fIHelp \-> Browse Manual\fR from within the emulator. +.P +For up to date news about VICE, have a look at the official home page +at +.P +.RS +http://vice-emu.sourceforge.net/ +.SH SEE ALSO +.BR petcat(1), +.BR cartconv(1), +.BR c1541(1) +.SH AUTHORS +Marco van den Heuvel <blackystardust68@yahoo.com> +.br +Fabrizio Gennari <fabrizio.ge@tiscalinet.it> +.br +Groepaz <groepaz@gmx.net> +.br +Errol Smith <strobey@users.sourceforge.net> +.br +Olaf Seibert <rhialto@falu.nl> +.br +Marcus Sutton <loggedoubt@gmail.com> +.br +Kajtar Zsolt <soci@c64.rulez.org> +.br +AreaScout <areascout@gmx.at> +.br +Bas Wassink <b.wassink@ziggo.nl> +.br +Michael C. Martin <mcmartin@gmail.com> +.br +David Hogan <david.q.hogan@gmail.com> +.br +Martin Pottendorfer <pottendo@gmx.net> +.br +Stefan Haubenthal <polluks@users.sourceforge.net> +.br +BSzili <col.lawrence@gmail.com> +.br +Andreas Matthies <andreas.matthies@gmx.net> +.br +Daniel Kahlin <daniel@kahlin.net> +.br +Benjamin 'BeRo' Rosseaux <benjamin@rosseaux.com> +.br +Ulrich Schulz <peiselulli@t-online.de> +.br +Thomas Giesel <skoe@directbox.com> +.br +Ingo Korb <ingo@akana.de> +.br +Antti S. Lankila <alankila@bel.fi> +.br +Christian Vogelgsang <chris@vogelgsang.org> +.br +Dag Lem <resid@nimrod.no> +.br +Spiro Trikaliotis <Spiro.Trikaliotis@gmx.de> +.br +Hannu Nuotio <hannu.nuotio@tut.fi> +.br +Andreas Boose <viceteam@t-online.de> +.br +Tibor Biczo <crown@mail.matav.hu> +.br +M. Kiesel <mayne@users.sourceforge.net> +.br +Andreas Dehmel <zarquon@t-online.de> +.br +David Hansel <david@hansels.net> +.br +Markus Brenner <markus@brenner.de> +.br +Thomas Bretz <tbretz@ph.tum.de> +.br +Daniel Sladic <sladic@eecg.toronto.edu> +.br +Andr\('e Fachat <fachat@physik.tu-chemnitz.de> +.br +Ettore Perazzoli <ettore@comm2000.it> +.br +Teemu Rantanen <tvr@cs.hut.fi> +.br +Jouko Valta <jopi@stekt.oulu.fi> +.br +Jarkko Sonninen <sonninen@lut.fi> +.br +Mikkel Holm Olsen <vice-dk@symlink.dk> +.br +Manuel Antonio Rodriguez Bas <formater@winuaespanol.com> +.br +Paul Dub\('e +.br +Czirkos Zoltan <cirix@fw.hu> +.br +Karai Csaba <cskarai@freemail.hu> +.br +Andrea Musuruane <musuruan@bmm.it> +.br +Jesse Lee <interpreters.jesse@gmail.com> +.br +Jarek Sobolewski <r@sledinmay.com> +.br +Michael Litvinov <litvinov.m@i.ua> +.br +Peter Krefting <peter@softwolves.pp.se> +.br +Emir Akaydin (aka: Skate) <emir@akaydin.com> +.br +with several contributions from other people around the world; see the +HTML documentation for more information. + + diff --git a/system/vice/man/vsid.1 b/system/vice/man/vsid.1 new file mode 100644 index 000000000000..98fd053f47ed --- /dev/null +++ b/system/vice/man/vsid.1 @@ -0,0 +1,24 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH VSID 1 "August 19, 2021" SlackBuilds.org +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +vsid \- Play Commdore 64 SID music files +.SH SYNOPSIS +.B vsid +.RI [vice-options] +.RI musicfile.sid +.SH DESCRIPTION +.B vsid +passes a Commodore 64 SID music file to the VICE x64 emulator, which +then plays the default song. Any options given will also be passed to +the emulator; in particular, use \fB\-sounddev <pulse|alsa|sdl>\fR +to choose audio driver. +.SH SEE ALSO +.BR x64 (1), +.BR sidplay (1). +.SH AUTHOR +This manual page was written by Zed Pobre <zed@debian.org>, +for the Debian GNU/Linux system (but may be used by others). +It was modified by B. Watson <yalhcru@gmail.com> for the +SlackBuilds.org project. diff --git a/system/vice/slack-desc b/system/vice/slack-desc index 589a2077b89b..01173caf1536 100644 --- a/system/vice/slack-desc +++ b/system/vice/slack-desc @@ -14,6 +14,6 @@ vice: VIC20, practically all PET models, the PLUS4 and the CBM-II (aka vice: C610/C510). An extra emulator is provided for C64 expanded with vice: the CMD SuperCPU. vice: -vice: Build options: ffpmeg=@FF@, sdl=@SDL@, pulse=@PA@ +vice: Build options: SDL=@SDL@, PulseAudio=@PA@ vice: vice: Homepage: http://vice-emu.sourceforge.io diff --git a/system/vice/vice.SlackBuild b/system/vice/vice.SlackBuild index 3ce07bb63675..b3798ebf945a 100644 --- a/system/vice/vice.SlackBuild +++ b/system/vice/vice.SlackBuild @@ -1,27 +1,26 @@ #!/bin/bash -# Slackware build script for VICE +# Slackware build script for vice # Copyright 2008 Mauro Giachero (email removed) -# Copyright 2020 B. Watson (yalhcru@gmail.com) -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Copyright 2020, 2021 B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# 20210809 bkw: update for v3.5, many changes, can't build old versions. +# - Relicense as WTFPL, with permission from the original author. +# - Build & install the actual HTML docs (not the bundled copy of +# the upstream website). +# - Don't install fonts. They were part of the above. +# - Use upstream's .desktop files instead of our own. +# - Upstream removed the man pages; restore them (for now). +# - Build the gtk+3 UI. Also build the SDL2 UI, unless the user's +# requested the SDL1 one (or disabled SDL). +# - Really fix the paths in the documentation. +# - ffmpeg now included in Slackware (pre-15.0 -current). Still +# autodetected, but the docs no longer mention it. +# - Get rid of README_SBo.txt as the build options are simpler +# and "fit" in the regular README now. # 20200801 bkw: # - Take over maintenance @@ -38,8 +37,8 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=vice -VERSION=${VERSION:-3.4} -BUILD=${BUILD:-3} +VERSION=${VERSION:-3.5} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -51,9 +50,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -82,142 +78,202 @@ fi set -e -# The "--enable-shared-ffmpeg" option creates conflicts with external -# ffmpeg libraries, so we don't use it here. Static would be OK, but -# it won't build, so it's not an option for now either: I don't care -# enough about it to spend any more time trying to fix it. If you do -# care, come up with a way to build with --enable-static-ffmpeg, send -# me a patch, and I'll include it here. - +# ffmpeg is included in the base OS on post-14.2 -current, but leave +# this here in case someone's doing something clever. [ -x /usr/bin/ffmpeg ] && ffmpeg="--enable-external-ffmpeg" -SDL="${SDL:-auto}" -if [ "$SDL" = "auto" ]; then - SDL=1 - pkg-config --exists sdl2 && SDL=2 -fi - -case "$SDL" in - 1) sdlopt="--enable-sdlui" ;; - 2) sdlopt="--enable-sdlui2" ;; - *) echo -e "$( basename $0 ):" \ - "invalid SDL option '$SDL'." \ - "Valid options are:\n auto 1 2" \ - 1>&2 - exit 1 ;; -esac - # Anticipating 15.0's pure-alsa-system if [ "${PULSE:-yes}" != "yes" ]; then pulseopt="--without-pulse" fi -echo "=== sdlopt '$sdlopt', ffmpeg '$ffmpeg', pulseopt '$pulseopt'" +echo "=== pulseopt='$pulseopt'" rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.?z + +# Fancy tar command here, avoid extracting what we don't need. +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z \ + --wildcards \ + --exclude='*/src/lib/lib*' + cd $PRGNAM-$VERSION chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ +DOCDIR=/usr/doc/$PRGNAM-$VERSION +PKGDOC=$PKG/$DOCDIR + +# setting TEXMFVAR prevents writing to /root, which SlackBuilds +# really shouldn't do. +export TEXMFVAR=$( pwd )/.texmf-var + # Set proper paths in documentation. -sed -i "s/\/usr\/local\/lib\//\/usr\/lib${LIBDIRSUFFIX}\//g" \ - man/vice.1 -sed -i 's/"\/vice_toc\.html"/"\/html\/vice_toc\.html"/g' \ - src/arch/gtk3/uicommands.c -sed -i "s/\/usr\/local/\/usr/g" doc/vice.* doc/html/*html -sed -i "s/\/usr\/lib\//\/usr\/lib${LIBDIRSUFFIX}\//g" doc/vice.* doc/html/*html - -# Avoid the need for xa. It's only used to generate a small C header -# file, which we include a prebuilt version of here. There's nothing -# dynamic about this header, it's just a small chunk of 6502 object -# code as a C array, and for a given version of vice it'll always be -# the same code. -cat $CWD/psiddrv.h.prebuilt.$VERSION > src/c64/psiddrv.h +rm -rf doc/vice.pdf # will be rebuilt, along with the HTML doc. +sed -i -e "1,2000s/\/usr\/local/\/usr/g" \ + -e "s,/lib/vice/,/share/vice/,Ig" \ + doc/vice.texi autoreconf -vif -DOCDIR=/usr/doc/$PRGNAM-$VERSION -PKGDOC=$PKG/$DOCDIR - -CFLAGS="$SLKCFLAGS -w -Wl,--allow-multiple-definition" \ -CXXFLAGS="$SLKCFLAGS" \ -XA=/bin/true \ -./configure \ - $sdlopt \ - $ffmpeg \ - $pulseopt \ - --enable-x64 \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --docdir=$DOCDIR \ - --with-x \ - --enable-quicktime \ - --enable-ethernet \ - --enable-parsid \ - --enable-cpuhistory \ - --build=$ARCH-slackware-linux +# We build up to 3 times with slightly different ./configure args, +# so make it a function. +config() { + local configarg="$1" + + # Avoid the need for xa. It's only used to generate a small C header + # file, which we include a prebuilt version of here. There's nothing + # dynamic about this header, it's just a small chunk of 6502 object + # code as a C array, and for a given version of vice it'll always be + # the same code. It didn't change between vice 3.4 and 3.5, either. + cat $CWD/psiddrv.h.prebuilt.3.4 > src/c64/psiddrv.h + + # 20210809 bkw: in 3.5, upstream added dos2unix as a required dep, + # but it's *only used* if you run "make dist" or "make dist-gzip", + # which we don't do. DOS2UNIX=/bin/true bypasses the autodetection. + # XDG_DESKTOP_MENU=/bin/true prevents installing .desktop files, + # because those don't respect $DESTDIR. We can't just disable them + # with a configure argument, because that stops them being built + # at all. + + CFLAGS="$SLKCFLAGS -w -Wl,--allow-multiple-definition" \ + CXXFLAGS="$SLKCFLAGS" \ + DOS2UNIX=/bin/true \ + XA=/bin/true \ + XDG_DESKTOP_MENU=/bin/true \ + ./configure \ + $configarg \ + $ffmpeg \ + $pulseopt \ + --enable-x64 \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=$DOCDIR \ + --with-x \ + --enable-quicktime \ + --enable-ethernet \ + --enable-parsid \ + --enable-cpuhistory \ + --with-mpg123 \ + --with-flac \ + --with-vorbis \ + --with-gif \ + --with-jpeg \ + --with-png \ + --enable-midi \ + --enable-lame \ + --build=$ARCH-slackware-linux + + make +} + +# SDL UI: *Only* build/install the binaries (not the docs or ROMs), +# rename them to <whatever>-sdl2 (or -sdl1). +buildsdl() { + local exesuf="-sdl$1" + local configarg="--disable-pdf-docs --enable-sdlui" + [ "$1" = "2" ] && configarg+="2" + + config "$configarg" + make -C src install-binPROGRAMS \ + DESTDIR="$PKG" \ + EXEEXT="$exesuf" \ + INSTALL_PROGRAM="install -s -m0755" + + # get rid of the non-graphical tools (the gtk3 build will + # install them again without -$exesuf). + rm -f $PKG/usr/bin/[cp]*$exesuf + + make distclean +} + +# Build the SDL binaries, unless disabled. +# Be generous in what we accept for SDL in the env. "both" isn't +# mentioned in README, it's probably only useful to me. +case "${SDL:-2}" in + ""|2*|y*|Y*|t*|T*) buildsdl 2 ;; + 1*) buildsdl 1 ;; + both) buildsdl 1 ; buildsdl 2 ;; + n*|N*|f*|F*|0*) ;; # NOP + *) cat <<EOF + +*** +$0: invalid value for SDL environment variable. +Allowed values: "1", "2", "no", "both", or empty/unset (same as "2"). +*** +EOF + exit 1 ;; +esac +# Now build & install the whole project with the gtk3 UI. +config "--enable-native-gtk3ui --enable-desktop-files" make make install-strip DESTDIR=$PKG -rm -f $PKG/usr/info/dir -gzip -9 $PKG/usr/man/man?/*.? $PKG/usr/info/* - -mkdir -p $PKG/usr/share/{applications,pixmaps} -install -D -m 0644 $CWD/config/*.desktop $PKG/usr/share/applications -install -D -m 0644 $CWD/config/vice.png $PKG/usr/share/pixmaps - -# Move the docs to the Slackware standard place, symlink to where vice -# expects it to be. -mkdir -p $PKGDOC -mv $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/doc/* $PKGDOC -( cd $PKGDOC - chmod 644 * - mkdir html - mv *.html *.png *.gif *.css html/ ) -( cd $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM - rmdir doc - ln -s $DOCDIR doc ) - -# 20200728 bkw: when I inherited this build, it was installing the -# fonts to the doc dir (where they can't be used), but updating -# the font cache in doinst.sh. I'm not so sure the fonts are -# really necessary, but in case they are, I've moved them to -# /usr/share/fonts/TTF (and gotten rid of the non-TTF ones). -mkdir -p $PKG/usr/share/fonts/TTF -mv $PKGDOC/*.ttf $PKG/usr/share/fonts/TTF -rm -f $PKGDOC/Lato-* - -# This would install Commodore font where other software can use it. -# However, the characters in the font are in PETSCII order, not ASCII -# or Unicode, so it's not all that useful. -#ln -s ../../../lib$LIBDIRSUFFIX/$PRGNAM/common/CBM.ttf $PKG/usr/share/fonts/TTF - -cp -a AUTHORS ChangeLog COPYING FEEDBACK NEWS README $PKGDOC + +# This is a source file, doesn't belong in the package. +rm -f $PKGDOC/*.texi + +# Install desktop files manually. +mkdir -p $PKG/usr/share/desktop-directories \ + $PKG/usr/share/applications +install -m0644 src/arch/gtk3/data/unix/vice*desktop \ + $PKG/usr/share/applications +install -m0644 src/arch/gtk3/data/unix/vice*directory \ + $PKG/usr/share/desktop-directories + +# Documentation. vice.pdf has already been installed to the doc dir. +# Generate info, plaintext, and HTML versions here. The text doc is +# harder to navigate, but easier to grep, so it's worth having IMO. +makeinfo doc/$PRGNAM.texi +mkdir -p $PKG/usr/info +mv $PRGNAM.info* $PKG/usr/info + +makeinfo --plaintext doc/$PRGNAM.texi > $PKGDOC/$PRGNAM.txt + +( cd doc ; texi2any --html $PRGNAM.texi ) +cp -a doc/$PRGNAM $PKGDOC/html + +# 20210810 bkw: as of 3.5, upstream dropped the man pages. I'm +# including the man pages from 3.4 in the 3.5 package. Edited them +# slightly to add correct paths to the HTML and PDF docs, also +# convert the iso-8859-1 characters into troff escapes. Also +# added (and expanded) vsid.1 from Debian. +mkdir -p $PKG/usr/man/man1 +for i in $CWD/man/*.?; do + sed -e "s,@HTMLDOC@,$DOCDIR/html/index.html," \ + -e "s,@PDFDOC@,$DOCDIR/$PRGNAM.pdf," \ + < $i > $PKG/usr/man/man1/$( basename $i ) +done +gzip -9 $PKG/usr/man/man?/*.? $PKG/usr/info/* +for i in x64 x64sc xscpu64 x64dtv x128 xvic xpet xplus4 xcbm2 xcbm5x0; do + ln -s vice.1.gz $PKG/usr/man/man1/$i.1.gz +done + +cp -a NEWS README $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild # Make the slack-desc reflect the build options. -FF=no; SDL=1.2; PA=no - -# We can't use ldd to detect whether ffmpeg is built in since it -# gets loaded with dlopen(). Hence this stuff: -grep -q '^#define USE_SDLUI2\>' src/config.h && SDL=2.0 -grep -q '^#define HAVE_FFMPEG\>' src/config.h && FF=yes -grep -q '^#define USE_PULSE\>' src/config.h && PA=yes +PA=no +if [ "$SDL" = "both" ]; then + SDL="1.2 and 2.0" +else + SDL=no + [ -x $PKG/usr/bin/x128-sdl1 ] && SDL=1.2 + [ -x $PKG/usr/bin/x128-sdl2 ] && SDL=2.0 +fi +grep -q '^#define USE_PULSE\>' src/config.h && PA=yes mkdir -p $PKG/install -sed -e "s,@FF@,$FF," \ - -e "s,@PA@,$PA," \ +sed -e "s,@PA@,$PA," \ -e "s,@SDL@,$SDL," \ - $CWD/slack-desc > $PKG/install/slack-desc + $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG diff --git a/system/vice/vice.info b/system/vice/vice.info index 481d98ad3f01..0320fe4e14a5 100644 --- a/system/vice/vice.info +++ b/system/vice/vice.info @@ -1,8 +1,8 @@ PRGNAM="vice" -VERSION="3.4" -HOMEPAGE="http://vice-emu.sourceforge.io" -DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.4.tar.gz" -MD5SUM="24d83f692910f5d87de19857e8095f0b" +VERSION="3.5" +HOMEPAGE="https://vice-emu.sourceforge.io" +DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.5.tar.gz" +MD5SUM="23904beb4d251006373f11e99310971c" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" |