Skip to content
ibm_pcjr
Switch branches/tags
Code
This branch is 110 commits ahead, 1 commit behind master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
res
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tandy 64 Jr.

A intro for the IBM PCJr.

Recorded from real hardware: (he, we don't have a way to capture RGBI output yet... sorry)
Tandy 64 Jr. intro

(The "Tandy 64" for the Tandy 1000HX is here)

Requirements

  • IBM PCJr.

  • Requires at least 256Kb RAM

  • Install jrconfig and use with at least /v32. eg: in your config.sys add:

      device=jrconfig.sys /v32
    

How to compile it

And do:

$ make

To run it in the DosBox-x emulator, do:

$ make run

Resources

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

Source code structure

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 order
  • pre_intro.asm: shows the C64 loading screen
  • intro.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 beginning
    • plasma_*: (without the _tex suffix): refers to the plasma animation.
    • new_i08_*: there are like 3 different interrupt handlers. They are used in at different parts
    • boy_anim_*: code related to the guy walking/dancing
    • text_writter_*: code related to the "cursor writting text"
    • letter_state_*: code related to the PVM letters animation
    • state_* / main_state_*: "main" state machine code
    • scroll_*: scroller code
    • raster_bars_*: raster bar effect code
  • post_intro.asm: the final C64 screen

Tools

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:

Lessons learned

  • Comming soon™

Questions and others

Do you have questions? Do you want to collaborate with PVM? We're here:

About

Tandy 64 intro - for the Tandy 1000 HX

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published