Voltmace Delta 14B/1 KEYPAD loader and resident driver Memory Map

← Voltmace Delta 14B Driver

Addresses outside the ROM used by Voltmace Delta 14B/1 KEYPAD loader and resident driver at run time — zero-page workspace, RAM buffers, and memory-mapped I/O. For the ROM code itself (&1900&3A7F), see the disassembly listing.

Access: R read, W write, B indexing base — the address is named as base,X/,Y, so the byte actually touched is base + index and the literal byte at this address is never itself accessed.

Zero page

Address Name Access Description
&0070–&0071 copy_dst R/W

Block-copy destination pointer used by the relocator.

&0072–&0073 copy_src R/W

Block-copy source pointer used by the relocator.

&0074 copy_rem R/W

Leftover (part-page) byte count for the relocator.

&0075 copy_pages R/W

Whole-page count for the relocator.

&0080–&0081 decode_ptr R/W

ROL-decode cursor sweeping the encrypted BASIC in place.

OS vectors

Address Name Access Description
&0220–&0221 evntv R/W

EVNTV, the event vector: the resident driver saves the old value and points it at its vsync-event handler.

OS workspace

Address Name Access Description
&023C autorun_index R/W

Running fill index into the keyboard buffer as the loader queues its PAGE / OLD / RUN commands.

&0300 kbd_buffer W/B

Base of the &0300 page holding the MOS keyboard buffer (&03E0-&03FF), written directly on the fast hand-off path.

BASIC workspace

Address Name Access Description
&0C03 basic_line10_len W

Length byte of the relocated BASIC's line 10, patched from 0 back to &16 so the protected program lists and runs.

OS ROM

Address Name Access Description
&E8AA os_signature R

OS ROM byte read (for 'O') to distinguish OS versions and choose the command hand-off path.

Hardware I/O

Address Name Access Description
&FE60 user_via_orb R/W

User VIA port B: writes column strobes and the 74LS157 handset-select bit (bit 7); reads the four matrix rows.

&FE62 user_via_ddrb W

User VIA data-direction register B: set to &F0 so the four strobe/select lines are outputs, the four rows inputs.

OS entry points

Address Name Access Description
&FFF1 osword

OSWORD: the resident driver calls OSWORD 7 to sound the key-click.

&FFF4 osbyte

OSBYTE: used with A=&99 to insert a key into the buffer, A=&0E to enable the vsync event, and to read/set vectors.

&FFF7 oscli

OSCLI: issues the KEY / FX-style commands the loader queues.