In order to connect to the outside world, you need a way to queue event based 
on cycle counts, execution of particular address or particular instructions. 
This allows you to connect to the outside world. Other than that it is just 
looking up instructions in an instruction table.

Dwight


________________________________
From: cctalk <cctalk-boun...@classiccmp.org> on behalf of Pontus Pihlgren via 
cctalk <cctalk@classiccmp.org>
Sent: Tuesday, February 20, 2018 11:22:32 AM
To: Adrian Stoness; General Discussion: On-Topic and Off-Topic Posts
Subject: Writing emulators [Was: Re: VCF PNW 2018: Pictures!]

On Mon, Feb 19, 2018 at 06:36:13PM -0600, Adrian Stoness via cctalk wrote:
> whats invovled in makin an emulator?
> i have a chunk of stuff for the phillips p1000

I would say it depends a lot on how complex your target machine is. But
in essense you will have to write code for each device you wish to
emulate mapping their functionality over to your host machine, the one
running the emulator.

As a minimum you will write code for the CPU and some sort of output
device, such as a serial console. For some machines you might need
images of ROM code in order to be fully compatible with existing
software.

I wrote a PDP-8 emulator for fun. The basic CPU and serial was done in a
few hours. I then hardcoded the paper tape loader in memory and allowed
input to be read from an image file.

Adding extended memory support and running conformance tests has taken
the bulk of the time.

/P

Reply via email to