-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
***** yaze version 1.10 of 1998/01/27 *****
Changes since 1.06: 1998-01-27 * simz80.pl: set the flags correctly for LD A,I/R and CPI/CPIR/CPD/CPDR (reported by Sean Young). * monitor.c (mountdir): fix fencepost error when setting cp[15], as reported by Richard Hirst. 1998-01-25 * simz80.pl: change direct and indirect references to the RAM() macro, because it now evaluates its operand more than once if MMU is in use (contributed by Michael Haardt). * yaze.c, simz80.h: Make BIOS optional and add MMU initialisation (contributed by Michael Haardt). Changes since 1.05: 1996-04-28 * cdm.c (getblock): rename index to idx (avoids a warning about shadowing index()). (main): correct a type in the !USE_GNU_READLINE case. 1996-04-25 * bios.c (constat, lststat): select() may modify timeval, so reinitialise it. (readsec,writesec): protect against undefined or unmounted disk. (bios): Add BgiiFix. * monitor.c (mount): use MAP_FILE flag in mmap() call (linux-ism?). * yaze.c (load_cpm): correctly calculate available memory if loadadr is specified. * simz80.pl (CALLC): rename symbol adr to avoid warning msg. * cdm.c (srchdir): ignore cpm-3 byte count. Originated-by: yaze-1.10.tar.gz Originated-md5: 4e2c1db0df05caa9879de5e2e09ba394 Originated-URL: ftp://ftp.ping.de/pub/misc/emulators/yaze-1.10.tar.gz Signed-off-by: Stephan Linz <linz@li-pro.net>
- Loading branch information
0 parents
commit bda7d22
Showing
32 changed files
with
14,943 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
mount a test | ||
go |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
1998-01-27 Frank D. Cringle <fdc@cliwe.ping.de> | ||
|
||
* simz80.pl: set the flags correctly for LD A,I/R and | ||
CPI/CPIR/CPD/CPDR (reported by Sean Young). | ||
|
||
* monitor.c (mountdir): fix fencepost error when setting cp[15], | ||
as reported by Richard Hirst. | ||
|
||
1998-01-25 Frank D. Cringle <fdc@cliwe.ping.de> | ||
|
||
* simz80.pl: change direct and indirect references to the RAM() | ||
macro, because it now evaluates its operand more than once if MMU | ||
is in use (contributed by Michael Haardt). | ||
|
||
* yaze.c, simz80.h: Make BIOS optional and add MMU initialisation | ||
(contributed by Michael Haardt). | ||
|
||
Sun Apr 28 11:30:52 1996 Frank D. Cringle <fdc@cliwe.ping.de> | ||
|
||
* cdm.c (getblock): rename index to idx (avoids a warning about | ||
shadowing index()). | ||
(main): correct a type in the !USE_GNU_READLINE case. | ||
|
||
Thu Apr 25 15:32:24 1996 Frank D. Cringle <fdc@cliwe.ping.de> | ||
|
||
* bios.c (constat, lststat): select() may modify timeval, so | ||
reinitialise it. | ||
(readsec,writesec): protect against undefined or unmounted disk. | ||
(bios): Add BgiiFix. | ||
|
||
* monitor.c (mount): use MAP_FILE flag in mmap() call (linux-ism?). | ||
|
||
* yaze.c (load_cpm): correctly calculate available memory if | ||
loadadr is specified. | ||
|
||
* simz80.pl (CALLC): rename symbol adr to avoid warning msg. | ||
|
||
* cdm.c (srchdir): ignore cpm-3 byte count. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# Makefile for yaze | ||
|
||
# CC must be an ANSI-C compiler | ||
CC = gcc | ||
|
||
#where you want the binaries and manual page | ||
BINDIR = /usr/local/bin | ||
MANDIR = /usr/local/man/man1 | ||
LIBDIR = /usr/local/lib | ||
|
||
# full speed or debugging to taste | ||
OPTIMIZE = -O2 | ||
#OPTIMIZE = -g | ||
|
||
# -DUSE_GNU_READLINE for command recall/editing and filename completion | ||
# -DBGii_BUG works around a problem in Backgrounder II | ||
# -DBIOS to build a CP/M bios and monitor program into the emulator | ||
# (see also YAZE_OBJS, below) | ||
# -DMMU compiles in support for bank-switched memory | ||
# -DMEMSIZE <val> sets size of memory in KBytes (default 64) | ||
# solaris2 needs -D__EXTENSIONS__ | ||
# linux needs -D_POSIX_SOURCE | ||
OPTIONS = -DBIOS | ||
|
||
# Link with CP/M BIOS support, | ||
YAZE_OBJS = yaze.o simz80.o bios.o monitor.o | ||
# or link as a naked Z80 | ||
#YAZE_OBJS = yaze.o simz80.o io.o | ||
|
||
# -lreadline -lcurses -liberty if you defined USE_GNU_READLINE | ||
# (you don't need -liberty on linux or BSD systems) | ||
LIBS = | ||
|
||
# a bsd-like install program (/usr/ucb/install on Solaris2) | ||
INSTALL = install | ||
|
||
|
||
###### you should not need to change anything below this line ###### | ||
CWARN = -ansi -pedantic -Wall -Wshadow \ | ||
-Wpointer-arith -Wnested-externs -Winline | ||
CFLAGS = $(CWARN) $(OPTIMIZE) $(OPTIONS) -DLIBDIR=\"$(LIBDIR)/\" | ||
|
||
SRCS = yaze.c simz80.c io.c bios.c monitor.c cdm.c | ||
DOC = README README-1.10 COPYING yaze.doc yaze.1 cdm.1 ChangeLog | ||
TEST = test/prelim.z80 test/zexlax.pl test/zexall.z80 test/zexdoc.z80 \ | ||
test/prelim.com test/zexall.com test/zexdoc.com \ | ||
test/savage.pas test/savage.com test/sys.azm test/sys.com \ | ||
test/timex.com | ||
|
||
DISTRIB = Makefile simz80.h yaze.h bios.h \ | ||
simz80.pl .yazerc yaze.boot $(SRCS) $(DOC) $(TEST) | ||
|
||
all: yaze cdm | ||
|
||
yaze: $(YAZE_OBJS) | ||
$(CC) $(CFLAGS) $(YAZE_OBJS) $(LIBS) -o $@ | ||
|
||
simz80.c: simz80.pl | ||
rm -f simz80.c | ||
perl -w simz80.pl >simz80.c | ||
chmod a-w simz80.c | ||
|
||
cdm: cdm.o | ||
$(CC) $(CFLAGS) cdm.o $(LIBS) -o $@ | ||
|
||
install: all | ||
$(INSTALL) -s -c -m 755 yaze $(BINDIR) | ||
$(INSTALL) -s -c -m 755 cdm $(BINDIR) | ||
$(INSTALL) -c -m 644 yaze.boot $(LIBDIR) | ||
$(INSTALL) -c -m 644 yaze.1 $(MANDIR) | ||
$(INSTALL) -c -m 644 cdm.1 $(MANDIR) | ||
|
||
tar: $(DISTRIB) | ||
(P=`pwd`; D=`basename $$P`; cd ..; \ | ||
for f in $(DISTRIB); do echo $$D/$$f; done \ | ||
| tar -T - -czf $$D/$$D.tar.gz) | ||
|
||
clean:; rm -f *.o *~ core | ||
|
||
yaze.o: yaze.c simz80.h yaze.h | ||
bios.o: bios.c simz80.h yaze.h | ||
simz80.o: simz80.c simz80.h | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
Yet Another Z80 Emulator | ||
======================== | ||
|
||
Yaze is a Z80 and CP/M emulator designed to run on Unix systems. | ||
|
||
The package consists of: | ||
|
||
* an instruction set simulator which accurately imitates a real Z80 | ||
microprocessor, | ||
|
||
* a CP/M-2.2 bios written in C which runs on the Unix host but | ||
interacts with the simulated Z80, | ||
|
||
* a monitor which loads CP/M into the simulated processor's ram and | ||
which makes Unix directories or files look like CP/M disks, and | ||
|
||
* a separate program (cdm) which creates and manipulates CP/M disk | ||
images for use with yaze. | ||
|
||
Yaze's "selling points", compared with previously available Z80 | ||
emulators, are: | ||
|
||
* It emulates all documented and most undocumented processor-internal | ||
instructions and all flag bits (all 8, including the undocumented | ||
ones). A test program is included in the package which exhaustively | ||
(well, nearly exhaustively) compares all instructions, for all | ||
machine states before and after execution, against the results from | ||
a real chip. | ||
|
||
* It is independent of the host machine architecture and instruction | ||
set. Written in ANSI standard C it is provided with full source | ||
code under the GNU General Public License. | ||
|
||
* It supports all CP/M disk geometries in the form of images in Unix | ||
files or as read-only disks constructed on-the-fly from the contents | ||
of Unix directories. These disks are indistinguishable from real | ||
disks for even the most inquisitive, low-level CP/M programs. They | ||
can be mounted and unmounted at will during emulation. | ||
|
||
|
||
|
||
Frank Cringle, October 1995 | ||
fdc@cliwe.ping.de | ||
|
||
|
||
Various trademarks are the property of various organisations. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
This is the first release of yaze since version 1.06 came out about 2 | ||
years ago. | ||
|
||
It was prompted by Michael Haardt's work on emulation of non-CP/M | ||
Z80-Systems. He contributed the io.c file and the bank switching | ||
memory logic, which may provide a platform for running MP/M and UZI on | ||
the emulator. | ||
|
||
Frank Cringle, January 1998 |
Oops, something went wrong.