Z80 Monitor Type Operating System and SBC
by mkpeker in Circuits > Microcontrollers
13204 Views, 44 Favorites, 0 Comments
Z80 Monitor Type Operating System and SBC
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
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
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
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)
Source Code
Please don't hesitate to contact me for any questions
Source code is not under GNU licence. It cannot be use for commercial purposes!
For using commercial purpose of code, you need my permission.
You may freely use, modify or share it by my name
Thank you for your respect to hard work and time spend on this code
Dr. Mustafa Kemal PEKER (MD)
Downloads
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
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/projects/simon6809/
4) Grant Searle's works (inspired) https://www.heinpragt.nl/?p=699
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