[comp.os.cpm] UNIX Z80/CPM EMULATOR

dwatola@YODA.EECS.WSU.EDU (12/01/90)

hi again,

just in case anyone is getting anxious, or if anyone is still interested,
here is what's going on with my emulator.

it is all but finished.  only a few (rare) instructions need to be
implemented and the sucker needs to be debugged (my flag emulation is
apparently off).  i only made a few compromises, the main one being that
i ditched all BCD support.  as far as i am concerned, it is a waste of time
since i never use it.  ditching the half-carry flag emulation sped up the
program considerably (and yes, it is quite fast on this 25 MHz NeXT N1000).
I also made some slight compromises in portability that should be easy to 
work around (especially if you are running 'real' BSD4.3).

i am amazed that i had the time to do what i have done so far, so who knows
when i will actually finish.  in the next few weeks i have to design and
lay out an entire vlsi chip plus prepare for finals.  xmas break is looking
good though--i'll get back to yall around the second week of january.

dave watola
dwatola@nextasy2.eecs.wsu.edu
dwatola@yoda.eecs.wsu.edu

"you're just a heroin face!" - R. Smith

del@fnx.UUCP (Dag Erik Lindberg) (12/09/90)

In article <9012010454.AA22006@yoda.eecs.wsu.edu> dwatola@YODA.EECS.WSU.EDU writes:
>
>apparently off).  i only made a few compromises, the main one being that

I am impressed with your effort, and look forward to seeing what you have
done.

>i ditched all BCD support.  as far as i am concerned, it is a waste of time
>since i never use it.  ditching the half-carry flag emulation sped up the

This is unfortunate, and will break more programs than you might suspect.
The following seemingly innocuous code is a fairly common and extremely
space efficient hack to convert a 4 bit binary number into ASCII ("0"-"F")
representation of the hex value:

	add	a,090H		; Set overflow character
	daa
	adc	a,040H		; Add with ASCII offset
	daa

Notice that it uses only 6 bytes, but includes the 'daa' (Decimal Adjust
Accumulator), which is a BCD opcode.

-- 
del AKA Erik Lindberg                             uunet!pilchuck!fnx!del
                          Who is John Galt?