Home

Z80 INFO IV

ROM BIOS INFO Part 1
Forward to Part 2

Overview

We have installed and run the ROM Monitor. We burned it into an EEPROM and used it to boot our Z80 system. With the right tweaking it can become its own application (more on that later). That means something will need to underpin it and any other apps we write for the EEPROM. That will be the job of the Basic Input Output System or BIOS.

 

BIOS Functions

 - Initialize the CPU

 - Init the other boards we build for the M62 Z80 bus system

 - Provide drivers for 16C550 UARTs, 82C55 PPIs, PS/2 keyboard, LCD display, IDE-CF interface, etc.

 - Provide a user menu for loading apps into memory, etc.

 - Organize Z80 code segments by their function. This will allow for independent modularity and easy updates

 

Changing Addresses

As an example of how easy it is to make a change to the system, we're going to change the address of the 8255 PPI we set back in the I/O section of circuits and tests. We had set the 74138 (3-line to 8-line decoder) such that the 16550 UART used address $08 and the 8255 PPI used address $00. Well, we're going to add an IDE/Compact Flash interface in the upcoming circuits and tests so we'd like to make the addressing change now. As you can see in the adjacent hw_defs.asm file (click the image to expand it), the new addressing will be:

IDEBASE: $00

UART_BASE: $08

IDE_HIGH: $10

BASE8255: $18

We need to change the address for the 8255 from $00 to $18.  In the adjacent schematic pin 15 for address $00 now goes to the IDE interface, and pin 12 for address $18 now goes to the 8255 chip select line.

We make those two wiring changes and then make the changes to the hw_defs.asm file. Next we assemble the m62bios.asm file into a .obj file using the batch file Assemble_m62bios.bat and burn it to our EEPROM.

 

Final Results

When you startup the Z80, you will see the adjacent screenshot, BIOS v1.1. Additionally, if you've made the minor hardware jumper changes and you still have the LCD hooked up, whatever you type on your PC keyboard will now echo on the 4 rows x20 columns LCD panel. We chose to not echo the terminal content because it will just appear to be a mess with 80x25 screen characters going to a 20x4 LCD panel.

 

 

Short Video: ROM BIOS Test of 4x20 LCD

Clicking the thumbnail gif above will provide an HD video (8.1MB, .mp4 format)

 

 

 

 

M62 Z80 BIOS v1.1 2018-11-11\

 

hw_defs.asm

 

74138 Addressing Schematic

 

BIOS v1.1

 

NEXT PAGE  =>

TOP

Home