David Murray's DTV Software

On this page I have consolidated all of the programs I've written for the DTV. They are mostly in BASIC. For those who think that BASIC is for beginners and have some ego saying that all programs must be written in Machine Language. Here is what I have to say. I think BASIC can be very powerfull when used correctly (just see any of the programs below) It is much faster to develop software, especially when there are lots of strings involved. And in my case, I haven't had (until recently) an easy way to get software between my PC and my DTV. So that means I had to write the code on the DTV itself. I could not use an emulator since no emulators currently emulate the DTV's features. That is why, thus far, BASIC has been my choice. However, now that I can move data between my 1581 disks and my PC very quickly, I am developing GrText in a cross-assembler.

This is a program I wrote out of necessity for my upcomming project. This program will allow you to create fonts, but unlike other C64 font programs, you can define the width anywhere from 4 pixels to 16 pixels. You can also create the characters in 16 colors. They are actually stored as 8-bpp, but since the program works in text-mode I can't actually show 256 colors onscreen. Maybe later I'll re-write the program to work in graphics mode.

This program serves a dual purpose. One purpose is that I'm going to attempt writing a machine language program that replaces the normal text-mode of the C64 BASIC with a 256-color graphics screen where you can pick from 80/64/53/40 column text modes and even window the text, if needed. This way you can work with text and graphics at the same time. Since the font will be stored in upper RAM, and the DMA routine will do most of the work, the ML program should be small, leaving most of your BASIC memory free.

The next purpose this will serve is that at some point I plan on making a game similar to Flash Attack but mix in some aspects of the Ultima series and warcraft. I wrote this under Linux several years ago but captured little interest compared to the larger titles available. I think it wil also be more fun to write on this platform. But anyway, since the game will require use of tiles, I can use this program to generate my tiles. I can use the 8x16 pixel font and that should do well. Even if I only use 16 colors it will still look lightyears ahead of any other C64 game of this type because those games were limited to 2 colors per tile (foreground/background) and I'll be able to use 16 colors and transparancies.

The Program is written in BASIC. It is actually fast enough to use as-is in BASIC, but compiling with Blitz or Austrospeed makes it a little zippier.

It has an experimental preview mode that works in regular C64 1-bpp graphics mode. I mostly made this part just to see if a 6-pixel font was any more readable and viable than the 4-pixel font commonly used in 80-column programs for the C64. It looks like the 6-pixel wins.

FONTEDIT.PRG - BASIC 6.04K - version 1.0
TEST6.PRG - Experimental 6 pixel font (128 chars)
fontedit_docs.txt - Documentation in plain text.

256Draw is a little drawing program I made. More of a proof of concept. Despite being written in BASIC it actually works very fast, especially the compiled version. I'm making use of the DTV2's DMA hardware and I pre-draw the palette screen in a different memory block. So when you go to the palette screen, it is instantaneous. I have added the ability to do some basic rectangle shapes too. This was not intended to be a great drawing program, as we can use our PC and transfer it over. It was more of an experiment.

Since the instructions aren't available on the screen, Here are some key-commands:

  • SHIFT-C : clears the screen using the background color
  • b : Sets the background color the same as the foreground color
  • SPACE : plots a pixel in the foreground color
  • BACKSPACE : Plots a pixel in the background color
  • Cursor keys - Move the crosshairs aound the place
  • + / - : Change the foreground color up and down
  • p : Go to the palette screen

  • This is the palette screen where you can select your foreground and background colors. You can see all 256 colors of the DTV and is a good place for checking how your colors look on the DTV (do you need the resistor fix, or has it been done correctly, etc)

    C-256DRAW.PRG - Download the Austro Compiled version (faster)
    256DRAW.PRG - Download the BASIC version (slower, but you can edit it)

    This program is a user-friendly piece of software that helps a person create or edit the directory structure on the flash-ROM inside their DTV. It currently handles up to 100 entries and scrolls up and down. You can modify the name, flash-ROM address, and the load-address. It will run on a regular C64 or a DTV. However, reading the directory directly from flash will only work on a DTV. It does not write to flash and probably never will. But the file it generates can be easily written to flash using TLR's DTV-Flash program. You can keep as many different directory files as you want on disk. It is written in BASIC so it is a bit slow, I recommend you download the compiled version if you don't need to modify it for any reason.

    Improvements in version 1.1 - The default load address for all programs is now $0801, the default first entry is set for flash location of $010200 (to make sure there is room for the directory itself), and DirEdit now automatically calculates the next memory address for each new entry based on the size of the previous file.

    There is a very small companion program called LA. It is a very small program and what you do is type in the name of a file on your floppy disk and it will return the load-address of that file in hexadecimal. This is usefull when you are going to add a program to the Flash-ROM on your DTV and you don't know the load address of that program.

    DIREDIT.PRG - 5.12K - (version 1.1) Download the BASIC version.
    C_DIREDIT.PRG - 8.66K - Download the Compiled version.
    LA.PRG - 353 bytes - Download the BASIC version.

    Color Test2
    This is one of the first programs I wrote for the DTV version 1. It works on the Version 2 also, and I added the feature to change the saturation. It allows you to see the entire 16 color palette (remember the version 1 could only display 16 colors at a time) and allows you to modify those colors and keep the settings once you exit the program. It is written in BASIC, and runs well enough, but there is a compiled version for download also.
    This program was instrumental in me being able to sawp the resistors and be able to see the changes it made. Using the grayscale-gradient feature (seen here) you can see all 16 luma values at once. So if there is anything wrong with your luma circuit, you'll see it here. Keep in mind these screen captures were taken before I made an S-Video output and got my settings right on my capture card.

    COLOR_TEST2.PRG - 2.5K - Download the BASIC version.
    C_COLOR_TEST2.PRG - 7.6K - Download the Austrospeed Compiled version.

    Back to main DTV Hacking Page