Close

Binaries

A project log for BIOS adlib tracker

A really crude adlib tracker implemented as a PC BIOS.

michaelschrijvermichaelschrijver 01/05/2017 at 23:150 Comments

After using various registers settings borrowed from STANDARD.BNK included with adlib visual composer I decided on something which doesn't exactly sounds like lasers, but does a bit nicer.

Unfortunately I have now ran out of time and space so uploaded some binaries to this project page.

The scan1 or scan2 part in the filename indicates the scancode set used. Scan1 works in bochs, scan2 in qemu.

You can run one of the images using these emulators as follows:

$ qemu-system-x86_64 -bios image.bin -soundhw adlib
$ bochs 'romimage: file=./image.bin'
The image are 64KB in size since that's the minimal size for a valid ROM image (or atleast to these emulators). The images with a demosong are oversized, but save you the hassle of actually using the tracker.

The images without demosong contain 1016 bytes of actual data, the zero initialized aren't used.

Memory Configuration

Name             Origin             Length             Attributes
*default*        0x0000000000000000 0xffffffffffffffff

Linker script and memory map


.text           0x0000000000000000      0x3e8
 *(.text)
 .text          0x0000000000000000       0x4a bitdec.o
 *(.rodata)
 .rodata        0x000000000000004a      0x39e bitdec.o

.init           0x000000000000fff0       0x10
 *(.init)
 .init          0x000000000000fff0       0x10 bitdec.o

.data           0x0000000000010000        0x0
 .data          0x0000000000010000        0x0 bitdec.o

.bss            0x0000000000004000        0x0
 *(.bss)
 .bss           0x0000000000004000        0x0 bitdec.o
LOAD bitdec.o
OUTPUT(bitdec.bin binary)

Discussions