VB81 Project

XavSnap Unofficial Release.



VB81 personal release.


Last update: December, 13 , 2008
Release 08/12/2008


File menu...

Specify tape directory:

Change the tape directory.
- assing a working and the default directory
- Launch a tape, load a rom, compile a Basic text file or launch a memory dump.

You can select a file in the list:

> a P or 81 files. (display the saved screen)
> T81,SBB , TZX digitals and virtal tape.(display all files inclued in the tape)
> a text Basic file (display text, like « 10 PRINT ''HELLO'' »)
> Wav sound samples files.(display sample infos)
> Z81 memory dump.(display the saved screen)
> Roms and UDG files.(display the memory map)

Load & break:
Stop a basic file saved using the SAVE function in a Basic program.

Set Ram to 32kb:
If the 32 or 64 ram pack is selected, it reinit the Basic memory to 32Kb before file loading.

Tip: One click select a file and display file infos. / A double click launch the file.

Asm breaker (« esc » key):

Extra ZX81's feature, it allow to stop an machine code routine when it's running. It point the PC register to then Basic start up routine.


Soft reset set the regPC to 0 and hard Reset clear the Ram and reset Z80 registers.

Capture screen:

Default directory : “/ScreenShot” in VB81_XuR directory.

- Capture the screen display (x1) in a BMP format (1bit format).

- Capture the screen in text mode and save it in ascii format in the VB_XuR/ScreenShot/Ascii_Screen.txt file.
All values are added in the same file.
Example : Allow to retrieve a database listing.

- Capture the screen display as is in a BMP format (24bits format).

Load Z80 files:

Load a memory image (*.z80) in Ram.

Save Z80 files:

Save a memory image to a file.


Close all opened windows and ...

Exit VB81...

Options... :

Display size:

To change emulator display size.

Show toolbar:

Display the main toolbar.

Show Larken info:

Display the Larken controller toolbar.

Show ZxPrinter:

Open the ZxPrinter emulator.

It able to :

(1) Save the paper sheet output.

(2) Reset the printer (clear the paper output).

(3) Feed paper output (add a blank line).

(4) Select the printing mode:
black and white / gray (photo-realistic rendering).

(5) Past the printer output on a single page. This feature create a new page and put your listing using four columns.
Note: To improve printer quality, don't use the photo-realisme feature.

(6) Take a screen snapshot without a “Copy” function. Able to get a screen while basic or ASM running program.

(7) Choose the printer “ink”

(8) Reverse the ploted dot color.

Show Output sound:

In case of “Save to Wav” patched ROM, all sound output are redirect to this window. (Right Switch in the tool bar, the red one)

If this switch is on the “P” stat, all files will be saved in P files (default directory) or in the wav fast-Load mode using the basic function SAVE”MYPROG.FL”

(the green switch is used to load a “wav” file in the current directory)

The sound will be buffered in memory and can be saved in a wav file with several harmonics:

1) Eighty-One profile: pure sinusoidal harmonic.

2) Zxd profile: triangle harmonic.

3) Zxtape profile: rectangle harmonic.

4) Fast load profile: rectangle harmonic, must be retrieved with a specific loader.

NOTE: This feature is an asynchronous buffer !
You can't directly save a sample like specifics Fast-Loads or beepers redirect to the “mic” output.

Tip: The “real” sample is not available yet, there's too many different profiles ! But, the sinus, used by EO, seem to be the more representative sample.


To change Zx81's screen color.


  • Speed: Change the z80 clock.
    was disactived, seem to hang the keyboard interrupt scan.

  • Graphic card:

    - None : Use the classic Zx81 display.

    - Memotech : Emule the HRG Memotech graphic card.

    Load card's Rom at 8192 and allows 0-1024 Ram support and redirect screen display Ram segment.

    Tip: Have a look to HRG Memotech demos in “HRG-CARDs-DEMO” folder.

    - G007 : Emule the HRG G007 graphic card.

    Load card's Rom at 10240 and redirect screen display Ram segment.

    The Rom is called with classic basic functions (CLS 1...)

    Tip: Have a look to HRG G007 demos in “HRG-CARDs-DEMO” folder.

    - QuickSilva HRG : Emule the HRG QuickSilva graphic card.

    Load card's Rom at 10240 and redirect screen display Ram segment.

    Have a look to the QuickSilva directory in the “HRG-CARDs-DEMO” folder.

    Type RAND USR 11036 to Launch card's auto-test .

    Type RAND USR 11321 to print the screen on the ZxPrinter .

  • Disk interface:

    - Larken disk controller card:

    Load card's Rom at 14336 and active virtual drives.

    In Larken Disk panel, select a drive (or both drives).

    Your drive is now active, and you can insert a new disk in your drive.

    In the main VB81's frame, select “Larken Controller” pop-up menu, select “mount disk” and load a disk image in your virtual drive.

    Default directory : “/Disk” in VB81_XuR directory.

    Type: RAND USR 14336

    and type DIRE

    If you check the Auto-Update, the disk image will be saved if a sector is changed. If unchecked, the disk image is only saved if the disk is ejected or if the main frame is closed.


    1) LOAD”+” also display the current active drive's disk directory.

    2) If you had to create a new disk, you had to initialize your disk image with “INIT” in the Larken editor.

    3) If you had to change the active drive, you had to load a basic program in P_TOOLS directory named ”CHDRIVE.P”.

    For more details, have a look to English Larken documentation available at http://zx81.ordi5.free.fr/larken

    - You had to select and active a drive in “Larken Dive” box !
    - The Larken or Mageco controller can't be used with a graphic card.
    both using the same Rom/Ram memory segments.

    - “Mageco” disk controller card:

  • Memory:

    Set the memory 1, 2, 16, 32 or 64kb.

    allow write to shadow ROM” able to activate a 8k RAM segment between the ROM (0-2000h) and basic ram (4000h).

    With an original ZX81, this segment is a ROM mirroring and can't be write. But, this address segment can be use to address a 8k ram or add-on roms (like Larken RAM and Larken buffer).

    64kb Memotech interface able to add a ram segment in 2000h-4000h.

    This segment is usually used to store machine-codes programs or datas, it isn't alter by a LOAD”” and able to use the UDG to address a new IR offset (I register point to the new font definition).

  • Cursors:

    Set the PC cursor to unshifted/shifted zx81 cursor.
    You also can assign specifics keys (Shifted or not)... Just select the key on the showed keyboard!

  • Rom Hack:

    Change ROM to allow advanced functions:

    Allow 32x24 'copy' function” : Patch the ROM to print a full screen in basic mode.(instead of 32x22)

    Save to Wav” : Use a Patch to redirect SAVE Basic function to your hard disk or in a separate wav file.

  • Larken Disk:

    Active virtual hardware drives.

  • Sound card:

    It's a debugging feature to display all datas assigned to address 0h to 4000h.
    This sound card isn't implemented wet.

Tools... :

Disassemble and Debugger window:

Open the inboard disassembler window.

To set memory offset, click on offset text-box and enter the start offset or select the rem line number in the bottom combo box.

To set hexadecimal to decimal display:

- Address: click on address column header.

- Op. Codes: click on Op.Code header. (1 click=Decimal, 2 click=ZX81 Ascii)

Mnemonics (standard Z80 codes):

JP NZ,$0000 = JP NZ 0000 in ARTIC ASM2

JR Z,+33 and LD C,(IY+40) are always in decimal.

Refresh icon: Rescan defined offset.

Save icon: Write disassembled op. Codes in a text file.

Print icon: Print op. Codes list to your printer.

Find Op. Code icon: Retrieve an ASCII string in the mnemonic column.

Just click on a row to add a add a debugging break point.
If the PC register reach this point, a new icon will be displayed to inform user about register stat (A register) , Jumps and running conditions.

Binary editor:

Able to overview all zx81 memory in hexadecimals/decimals values.

Click on the left panel (hexadecimal values) to change the memory.

ARTIC Assembler 2:

Open file icon: Retrieve a text file in editor text-box.

Save file icon: Save a text file with the text in editor text-box.

Create the Rem#2: Add the Rem line with the text in editor text-box.

Save ASM in REM#1: Save ASM Codes include in the compiled line #1.

( like the memory tool feature)

Tip: For more informations, have a look to the http://zx81.vb81.free.fr/ASM2.html

D_file tools:

The D_file is the display memory segment.

This segment is located bellow the basic program and its offset depend of basic program length. Begin at 4000h (empty basic program) to the top of the ZX81 RAM.

The D_File is include in your saved program.(“Save” function in basic mode)

If you had to retrieve the D_File offset, just click on the “system info” icon in the main tool bar, or LET DFILE= peek(16397)*256+peek(16396)

This toolbox can save, load or clear this memory segment.

Reset memory:

Allow to reinit the memory ram pack to 32kb.

Tip: You can use this feature to launch the ASM2 program in 32kb mode.

Memory Tools:

Allow to import or export binary codes to ZX memory or your hard disk.

File to memory: able to load a file to the ZX memory.(ROM or Datas)

Rem filler: able to fill a REM with a binary file.

Move memory: move a memory segment to another offset.

Save memory: Allow to save a part of memory or a REM line.

To retrieve an ASM2 segment (the Line “1 REM”), the mnemonic list must be assembled and the “1 REM” line must be present.

Just click on “retrieve ASM2 machine code” to extract ASM codes without header and footer.

Press execute to Load or save binary file.

Compare memory:

Allow to get a memory snap (memory dump) during a process and compare this memory image later.

Example: During a game your live credit is “3”.

select “Get memory image”

If your live credit is “2”, select “Compare...” and “Lower bytes”.

All bytes decreased or lower than your memory image will be displayed.

Note the “2” memory offset in this listing, and change this byte in the memory editor with “3” (or another value) to retrieve the old value.

Note: Can work with assemblers programs with temporary datas in REMs lines.
In case of Basic programs, it recommended to open the “Vars” window, and type in LET LIVE=3 ... for example.

Basic Tools:

Allow to renume or add a REM line.

Note: With merge function, the basic compiler may crash after the “execute” command. It's due to several internal Basic update in system variables. In fact, this process had to erase all variables and you had to reinit them to avoid problems.

This window can convert your running Basic program in a text file.

But, you also can use the Basic SAVE function : SAVE''MYPROG.TXT''
A basic text file will be generated in the default directory.

Type-in window:

Open the inboard type in frame, to change your REMs content.

You can display the disassembled mnemonics or the decimals values listing.

A: Full decimals rows Listing : With 32 characters and cut the last value the the next line if his length is too large.

B: Display a line with 6 decimals values.

C: Display a line with 6 or 7 decimals values. : With 32 characters and cut the last value the the next line if his length is too large.


Display a window to change the ZX81 graphic symbols.

Basic variables:

Display a window how enumerate all basic variables.

Easy Keys:

Display a keyboard with Functions, graphics chars and Basic commands.

Help... :

Zx81 Keyboard:

Display the ZX81 keyboard.

Upper : “K” Basic commands. ( goto ; gosub ...)

Black : direct keys.

Red : shifted keys.

Bottom : functions keys, Press “shift” and “New Line” (enter) to access to this functions.

Graphics: “G” cursor, Press “shift” and “9

Zx81 ASCII table:

Display the ascii table used with “CHR$”.

Zx81 ASM keys table:

Display the key code table used in machine code.

About... :

About window regard VB81 and XuR Release !

XuR release : XavSnap ( Xavier Martin )

Original release : Chris Cowley.

Mail ( XavSnap ) :


Return to VB81 XuR page ...