TENBUG 2.1 

I removed the TENBUG 2.1 rom image that had an error in it at 0x6650. The value 0x48e3 should have been a 0x48E7. 

I added TENBUG 2.1 imaged from my real VME10s.. it is OK.


TENBUG 2.2

The TENBUG 2.2 rom is supplied and it is recommended that you use it instead of the BSOD or TENBUG 2.1.

I added TENBUG 2.2 imaged from my real VME10s. Left the old 2.2, since it, too, is OK.

It would be wise to set the initial FONT default file, simply to not see the warning that there's no FONT at startup. TENBUG loads the FONT from its internal FONT when it initializes.

Use menu->Boot->defaults->ROM to set default ROM location. Use TENBUG22.S19 or TENBUG22.mx
Use menu->Boot->defaults->FONT to set default Font location. Use CharRam.S19 or Font.S19

NOTE - prior to v1.0.6 the save of the defaults failed. The ROM and the FONT file had to be placed i a fixed path and file, in the app path, and the name was immutable. Fixed that.

You can load the ROM at anytime by using File->Load Rom

You can load the Font at anytime by using File->Load Memory
  (WARNING - Font MUST be org'ed at the address of the Character Generator RAM)


NOTE - TENBUG22.s19 is loaded using 0 as the address. TENBUG21.mx and TENBUG22.mx are loaded using address 0xF00000. This is OK due to the fact that the Load Rom loads modulo 64k.


BSOD ROM-

The file ROM.S19 contains a custom ROM for use with the VME10 emulator. This was due to the fact that  the TenBUG 2.1  ROM image had an error in it and failed to work. The TENbug 2.1 rom image has been replaced and a newer TENBUG 2.2 is now supplied

These instructions were for using the BSOD rom in leiu of the TENBUG ROM. BSOD tries to do the stuff that TENBUG would do. 

BSOD is not a complete implementation of TENBUG. (but, BSOD, unlike TENBUG can work if the CPU is set to MC68000)

You MUST specify the location of the BSOD ROM file and the Initial Font file. 

Use menu->Boot->defaults->ROM to set default ROM location. Use ROM.S19 (but now should use Tenbug22.mx)
Use menu->Boot->defaults->FONT to set default Font location. Use CharRam.S19 or Font.S19

You can load the ROM at anytime by using File->Load Rom

You can load the Font at anytime by using File->Load Memory
  (WARNING - Font MUST be org'ed at the address of the Character Generator RAM)

The BSOD unswaps ROM, then initailizes the vector table, initializes some of the hardware(graphics and 6845, 400 and 410 cards); then, it does a BRA *. When an unclaimed exception occurs, it prints the stack, and then does a BRA *. During initialization the BSOD will display stuff in the Front Panel LED and the First MVME400 cards first port.

BSOD ROM Version 181022
 Trap 15 Support and TENbug Jump Table
 CPU Type is MC68010
 Stack Formats supported are 0,8

BSOD ROM DONE

The codes on the LED are DB followed by D0. D0 indicates DONE. (TENBUG does not use the LED)

The BSOD also implements some functions of TenBUG and VMEBUG. The functions required to Boot using IPL.SY and Unix Loader are implemented, as well as functions required for displaying messages from the CPMLDR. The CPMLDR uses its own internal Disk IO to boot CPM.SY. IPL.SY uses the functions as is indicated in the initial Registers(loaded by TENBUG or the emulator when simulating a boot). The emulator boot, sets up the registers so as to indicate to IPL.SY to use TENBUG table based Disk IO. TenBUG tells IPL.SY to use a jump table found in TenBUG. The Jump table implements only the Console communication functions, Disk IO, Retrieve parameters, and return to BSOD. The TRAP 15 handler implements a mix of TenBUG and VMEBUG routines. This mish-mash allows IPL.SY, CPMLDR, Unix Loader and the Resident Diagnostic Modules to Boot and interact with the BSOD ROM. 

The VMEbug stuff is NOT needed by any VME10 software. It was there to facilitate initial development where i used the VMEbug DISK IO for IPL.SY. Now IPL.SY is told to use TENBUG stuff.



CPM BIOS-

There are Three BIOS's for the emulator. 


FAKE- 

The Fake Hardware BIOS is designed to work with a Fake Disk Controller(CPM5mbHiTPA.DSK), that is designed, specifically, for CPM (CPMDC.txt). IT also uses a minimum set of MVME400 and MVME410 features to access the Console and Printer. Two Consoles are defined, TTY: (first port on MVME400 card 0) and CRT: (second port on MVME400 card 0). Two printers are defined, LPT: (first PIA on MVME410) and UL1: (second PIA on MVME410). 

The Fake Bios can detect which drive it was booted from, and login to the appropriate drive. 

The Fake Bios queries for the TPA definitions at boot. 

H= $180000 - $E00000 (the VMEbus) 
L=    $B00 - $E00000 (B00 is after the TenBug (BSOD) scratch. You MUST populate the Reserved SCM memory)
V=    $400 -  $60000 (VME10 - overlays Tenbug (BSOD) scratch)
2=    $B00 -  $60000 (standard VME10)
C=    $400 - $E00000 (allows CPMSIM stuff to run. You MUST populate the Reserved SCM memory)
S=    $B00 -  $15000 (for the CPM15000 S-Rec files)

The CPM.SYS is located in the High VMEbus at $F1E000

The Fake Bios can detect and auto-login many formats of disk images.

NOTE - H is for the stuff on the disk(CPM5mbHiTPA.DSK)
NOTE - 2 and V should be exchanged but i am too lazy (TenBug uses 400-AFF for scratch)


ORIGINAL-

The Original VME10 BIOS as found on the Original VME10 CPM distribution disks. This is the original. It does not implement IOBYTE. Logs in to Drive A:


MODIFIED-

Then, there's a modified Original Bios, found in USER 5, on the 5 MB drive VME105MB.dsk that is modified to support IOBYTE and to login to drive C: at boot. It supports three Consoles, TTY: (first port on MVME400 card 0), CRT: (second port on MVME400 card 0) and UC1:(VME10's Screen/Keyboard). It support two printers, LPT: (first PIA on MVME410) and UL1: (second PIA on MVME410). 

TTY: is the first port on the MVME400. 
CRT: is the second port on the MVME400. 
LPT: is the first port on the MVME410. 
UL1: is the second Port on the MVME410. 
UC1: is the VME10 Screen/Keyboard.