Z80 Monitor Type Operating System and SBC

3,946

33

5

Introduction: Z80 Monitor Type Operating System and SBC

About: Orthopaedic Surgeon, Paragliding, Skiing, Digital electronics, Microcomputer lover.

EfexV4 is a monitor ROM with inline assembler and disassembler and

basic utilities to write, run and debug your z80 programs in real hardware

EfexMon do not needs CP/M, N8VEM or other complicated hardware. You need only standard Z80 architecture SBC and one UART with terminal

Step 1: HARDWARE TO RUN EfexMonV4

MEMORY MAP

XTAL = 4 MHZ

USE ATTACHED CLOCK CIRCUIT

ROM START: 0000H TOTAL LENGHT 8KB

RAM START: 8000H RAM END : FFFFH

STACK: F800H

SYSTEM VARIABLES: F900H-F910H FF00-FFFFH

UART 8251 PORT ADRESS: 00H, BAUDRATE: 19200 KBS 8-n-1

PIO 8255 PORT ADRESS: 08H : CONNECT 8255 CS TO IC 74LS139'S PIN 5

Step 2: SOFTWARE

As described in previous page, Efexmon needs 32Kb of ram (62256 SRAM is good), and 8 Kb of ROM (28c64 may be)

stack and system variables sits top of ram, so, after 8000H there is tons of free bytes

Step 3: USAGE:

You must use a Terminal emulator program to reach EfexV4

System starts with greeting message and version info

command promt comes then

C:\> this is an irony to DOS promt :)

all input must be UPPERCASE CHARACTERS! dont forget to press caps lock one time.

Pres H for help, press U for useful routines

(S) mean subroutine must be called

(R) mean routine must be jumped

ASSEMBLER:

Aseembler is full powered and rocksolid, only (IX+*) and (IY+*) bit maniplation commands excluded

except this, Efex assembler accepts all official z80 commands.

During mnemonic input, backspace is welcome till # or $ characters. do not backspace after this chars.

(Full backspace function disabled to fit ROM in 8k)

Some parts of this ROM written on itself! with its own assembler.

DISASSEMBLER:

Disassembler can recognise all z80 code and it can recognise non-command bytes

and points them with '***' sign

INPUT:

Efex Hexadecimal inputs can recognise nonhex chars and ignores them.

Once input started, you must fill all areas till end;

#: mean 1 byte input (two hex char)

$:mean 2 byte input (four hex char)

Step 4: WHATS NEXT?

-USB KEYBOARD SUPPORT (TEST IMPLEMENTATION COMPLETE)

-LCD ON BOARD WIDE SCREEN 128X64 GRAPH LCD IN TEXT MODE(TEST IMPLEMENTATION COMPLETE)

-BASIC INTERPRETER (TEST IMPLEMENTATION COMPLETE)

--SD CARD SUPPORT

THIS FOUR IMPLEMENTATION WILL MAKE EFEXV4 A STANDALONE COMPUTER

Step 5: SOURCES

1) z80 instruction table http://clrhome.org/table/

2) TASM assembler code tables: http://www.filewatcher.com/m/tasm301.zip.144656-0.html

3) Grandmaster Erturk KOCALAR's 6809 monitor (inspired) http://www.8bitforce.com/simon6809/

4) Grant Searle's works (inspired) http://searle.hostei.com/grant/

5) Integrated circuits and microprocessors. R C HOLLAND 1986 book

6) Z80SimulatorIde http://www.oshonsoft.com/z80.html

7) Leventhall Z80 assembly routines book

8) Brian M. Phelps's 6502 works http://mypeoplepc.com/members/spacebacker/symon/index.html

9) Zilog z80 catalogs and chip descriptions

10) z80 info website http://www.z80.info/

11) Project based on :https://www.instructables.com/id/Build-your-own-z80-microcomputer/

12) My followers opinions and talks

Share

    Recommendations

    • Metalworking Contest

      Metalworking Contest
    • Tiny Home Contest

      Tiny Home Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    5 Discussions

    Is the source code available?

    i have absolutely No use for this... but I just have to make a z80 CPU based SBC to bring me down memory lane. my first computer was the marathon 32K computer... basically a zx81 with 2kb memory instead of the zx81's 1kb RAM

    wow z80. I still have one of those in my parts cabinet. great job thanks for sharing

    This project is entered 2017 DIY microcontroller contest in instructables.com. Please vote if you like this project.


    Thankyou

    Cool! Reminds my of my youthful computer.