Play video files in all Apple II graphics modes.
Copyright © 2022 by Frank Milliron, Lombard $oftware
Includes a customized version of ProRWTS2 by Peter Ferrie
Video files must have ProDOS type $5B (ANM / Animation) and aux type $100X, where the last digit determines the resolution:
| Aux Type | Name | Resolution | Colors | Models | Frame Size |
|---|---|---|---|---|---|
| $1001 | Low-resolution (GR) | 40x48 | 16 | all | 0x400 |
| $1002 | Double-low-resolution (DGR) | 80x48 | 16 | IIe/IIc/IIɢꜱ | 0x400 aux, 0x400 main |
| $1003 | High-resolution (HGR) | 140x1921 | 6 | all | 0x2000 |
| $1004 | Double-high-resolution (DHGR) | 140x192 | 16 | IIe/IIc/IIɢꜱ | 0x2000 aux, 0x2000 main |
Video files are sequences of frames; each frame is a copy of the appropriate Apple II video memory for that resolution. This includes the "screen holes" (portions of the video memory that is not displayed) and is not linearized. For the double-resolution modes which have a horizontally interlaced display, the auxiliary memory half of each frame comes first, as is the standard for image files.
Video files must be ProDOS "tree" files, which means they must be more than 128K in length, up to a maximum of 16MB.
On the Apple IIe/IIc/IIɢꜱ, playback is throttled to 10fps.
Build and install the ACME assembler from https://github.com/meonwax/acme
Run acme play.vids.system.a to assemble. This generates BASIS.SYSTEM#ff0000
Build and install Cadius from https://github.com/mach-kernel/cadius
- Create a new large (e.g. 32MB) disk image:
cadius CREATEVOLUME vids.hdv VIDS 32MB - Place
PRODOSandQUIT.SYSTEMfrom https://prodos8.com/ on the disk image:cadius EXTRACTFILE ProDOS_2_4_3.po /PRODOS.2.4.3/PRODOS . cadius EXTRACTFILE ProDOS_2_4_3.po /PRODOS.2.4.3/QUIT.SYSTEM . cadius ADDFILE vids.hdv PRODOS#FF0000 cadius ADDFILE vids.hdv QUIT.SYSTEM#FF0000 - Place
BASIS.SYSTEMon the disk image:cadius ADDFILE vids.hdv BASIS.SYSTEM#FF0000 - Place video files on the disk image:
cadius ADDFILE vids.hdv examples/DGR#5B1002 cadius ADDFILE vids.hdv examples/DHGR#5B1004 cadius ADDFILE vids.hdv examples/GR#5B1001 cadius ADDFILE vids.hdv examples/HGR#5B1003
Now when a user boots vids.hdv in an emulator, Bitsy Bye will present a menu of files. If the user selects a video file it will automatically play, and return to the menu when complete.
- Space - Pause/Resume
- → - Skip forwards several frames
- ← - Skip backwards several frames
- Esc - Quit back to ProDOS
The 1 and 2 keys can be used to force single/double resolution, although this is mainly for debugging.
Footnotes
-
High-resolution graphics mode on the Apple II has a resolution of 280x192 pixels on a monochrome display, but on a color display it has an effective color resolution of only 140x192. In addition, there are complicated limitations on what colors can be adjacent. ↩