A intro for the Tandy 1000 HX (and compatible) computers released for Demosplash 2017
Capture from emulator (fonts don't look good, missing border, and some glitches):
Recorded real hardware: (he, we don't have a way to capture RGBI output yet... sorry)
(The "Tandy 64 Jr." for the IBM PCJr. here)
- Tandy 1000 HX (or compatible)
- Tested with 256Kb RAM, but could fit in 128Kb with some minor changes
- Install nasm
- Install alink
- (Optional) Install Python 3
- (Optional) Install DosDox-x
- (Optional) Install upx
And do:
$ make
To run it in the DosBox-x emulator, do:
$ make run
The /res
folder has the music, graphics and fonts in their native formats.
And in the /tools
folder are the scripts to convert them to a more optimized
format for the Tandy.
To convert the resources to native do:
$ make res
The /src
folder contains the source code and all converted resources.
There are 4 .asm
files:
main.asm
: setups the stack and calls the pre_intro, intro and post_intro in orderpre_intro.asm
: shows the C64 loading screenintro.asm
: Everything happens here. The code is somewhat messy. There a few state machines to control and sync the different actions. Some pointers:plasma_tex_*
: refers to "plasma textures", the ones that appear at the very beginningplasma_*
: (without the_tex
suffix): refers to the plasma animation.new_i08_*
: there are like 3 different interrupt handlers. They are used in at different partsboy_anim_*
: code related to the guy walking/dancingtext_writter_*
: code related to the "cursor writting text"letter_state_*
: code related to the PVM letters animationstate_*
/main_state_*
: "main" state machine codescroll_*
: scroller coderaster_bars_*
: raster bar effect code
post_intro.asm
: the final C64 screen
In tools
folder you will find:
convert_vgm_to_pvm.py
: Converts VGM music format to PVM (Plays VGM Music) music format- Almost the same as VGM but uses Run-leght encoding. As an example, the music that we use takes ~78K in VGM format, and around ~48K in PVM format. It is good to have it in less than 64k (1 segment)
- A stand-along PVM player could be found here: pvmplay.asm
convert_gfx_to_bios_format.py
: Converts graphics to Tandy format.convert_anim_to_frames.py
: Quick hack to dump animation frames in tandy format
We also used:
- Deflemask for composing the music
- plasma_generator.py: to visually build the plasma effects
- VChar64 for the charset
- The charset used is based on one used on a c64 intro?? (couldn't find the original intro)
- Tandy 1000 HX BIOS dump
- In order to learn more about the Tandy 1000 HX we disassembled its BIOS
- Comming soon™
Do you have questions? Do you want to collaborate with PVM? We're here:
- http://pungas.space
- On IRC. EFnet . Channel #pvm