CVIEW is a modified version of
IVIEW that supports compressed images created by epimgconv, an image converter utility that is included with ep128emu 2.0.10. The IVIEW.ROM or .EXT file in the above package is a collection of several extensions:
- IVIEW 0.42 by Zozosoft with some minor fixes and size optimizations
- CVIEW 0.41c (it is originally based on an older version of IVIEW, but has received a number of updates since then)
- UNCOMPRESS 1.03: it can decompress the output of epcompress -m2 (-maxoffs above 65536 is not supported), including archives, programs, extensions, and images, even the ep128emu_roms.bin file
; epcompress is a compressor utility that also comes with ep128emu 2.0.10
- DTM 1.1: an improved version of the
DTM and RockDigi players in a single extension
- SNDPLAY 0.99: plays audio files converted with the epsndconv utility
-
IPLAY 1.04: plays animation files converted with the epvideoconv utility
- DL2 1.03: yet another DTF loader, but it also supports programs compressed in the newer and more efficient formats
-
FILE 1.3: used by most of the other extensions to select files; the version included in this package is simplified, unneeded parts like the various PACK extensions have been removed to save space
Due to the lack of space, it is only possible to compile an extension or ROM with either CVIEW or FILE, but not both. That is why there are separate versions with an "_f" suffix, those include FILE but not CVIEW. The IVIEW.ROM file in the ep128emu ROM package comes with CVIEW but not FILE, since the latter is also in the ZozoTools ROM anyway.
CVIEW.COM is CVIEW as a stand-alone program, it can also be compiled with a built-in FILE extension (CVIEW_F.COM). That has the obvious advantage of not needing FILE as a separate ROM or extension, but it is also larger, so it leaves less space for loading images on an EP64.
The package includes the full source code which can be compiled with
sjasm 0.39g6 (newer versions may work, too):
sjasm main.s builds the full "multiplay" package in .ext or .rom format
sjasm cview.s builds the CVIEW.COM image viewerAt the beginning of some of the source files, there are variables that can be used to configure the version of the program or extension that is being built. These include:
main.s:
BUILD_EXTENSION_ROM - if enabled (set to 1 instead of 0), builds in .rom format instead of .ext
BUILD_FILE_EXTENSION - if enabled, includes the FILE extension instead of CVIEW
CVIEW_BUFFER_SIZE - the size of the buffer CVIEW uses to read compressed images. Larger is faster on a real machine with a floppy drive, but it should be at most 2000h (8 kilobytes) to leave enough space for loading the palette data. On the EP64, the buffer size is always 256 bytes because of the limited amount of RAM available
FILE_ENABLE_MOUSE - if enabled, then FILE is built with mouse (EnterMice) support. Obviously, this increases the size of the extension somewhat, and it has not been tested yet how well the mouse input routine works on a real machine
cview.s (only if compiling CVIEW.COM):
CVIEW_BUFFER_SIZE - same as above, but the .com version uses more space on page 0, which means the maximum buffer size is smaller: 1f00h without the built-in FILE routine, and 1900h with FILE (including mouse support)
BUILD_FILE_EXTENSION,
FILE_ENABLE_MOUSE - these determine whether CVIEW.COM should be built with FILE and mouse support. When using those, it also enables the use of the right mouse button to quit viewing the image
file.s (only if you use it in your own program, the variables are normally commented out):
FILE_ROUTINE_ONLY - if enabled, compile a minimal version of FILE that can be called in a program as a FILE subroutine; this is also what CVIEW.COM uses
FILE_ENABLE_MOUSE - enable mouse support
Some of the other source files also include configuration options. The pre-compiled *_f.ext and *_f.rom files in multiplay.7z do not use the mouse, it is only in CVIEW_F.COM. Also, the CVIEW buffer size is always the default 4 kilobytes.