Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!rpi!bu.edu!snorkelwacker.mit.edu!mit-eddie!uw-beaver!ubc-cs!phillips From: phillips@cs.ubc.ca (George Phillips) Newsgroups: comp.sys.tandy Subject: Re: TRS-80 emulator for the IBM-PC/Amiga Computers Summary: I've written one, want it? Keywords: TRS-80, EMULATOR, IBM, AMIGA Message-ID: <1991Jan18.061931.4445@cs.ubc.ca> Date: 18 Jan 91 06:19:31 GMT References: <184@lsw.UUCP> Sender: news@cs.ubc.ca (Usenet News) Organization: University of British Columbia, Vancouver, B.C., Canada Lines: 54 In article <184@lsw.UUCP> gjc@lsw.UUCP (Greg) writes: >Does anybody in this newsgroup know if there is a TRS-80 emulator for >either the IBM-PC or Amiga computers??? A friend of mine is searching >for one desperatly! I've written a TRS-80 simulator for an IBM-PC. The program itself is not up to any "serious"* emulation tasks since it doesn't provide disk emulation, but otherwise it runs pretty well. Here are some particulars: - written in Turbo-C with the nitty-gritty in assembler - a 10 MHz AT runs programs about as fast as a TRS-80 (unless they have lots of block move instructions). - keyboard emulation - sound emulation (as in out-the-cassette-port sound) - display emulation on CGA or Hercules - some control over the emulation (keyboard mapping, pause, sound off/on, checkpoint machine state, Z-80 R register and some other stuff). - beginnings of an external poke-at-the-Z-80 disassembler and debugger What is doesn't have: - speed control; it will run as fast as yer PC can go - disk emulation (it does have some hooks to trap TRSDOS functions and I do sorta know how the disk hardware works, but I need a good look at a TRSDOS disk to see how it boots, etc.) - all the Z-80 instuctions; a few of the esoteric ones are missing It doesn't yet run under UNIX, but I did have an earlier version which ran under X windows. A port wouldn't be too hard since I did make a Z-80 emulator in C. I suppose this has some implications for an Amiga port; the assembler emulator uses 1 nice 8088-specific instruction, but the C code does it all by hand. Anyhow, I'm willing to give away the source code to anyone who's interested (I reserve the right to have some time to clean it up first). I've been sitting on it for quite a while since it really isn't useful unless you have (a) ROM images, (b) software, neither of which I can distribute with it. I was hoping to write something which could read TRS-80 disks on a PC so that I could distribute a turnkey sort of system, but I haven't been up to the task. So here is the usual net.sheepish offer: let me know if you're interested in such a thing. You'll need Turbo-C 2.0 and MASM 4.0 (or something) to compile it, but I'll send you a ready-to-run executable if you've got the net.bandwidth (which you'll need anyway 'cause the sources are not small). If enough people respond, I'll send it off to alt.sources or something. If somebody were keen enough to hack it such that it supports disks and stuff, great! * Not that simulating Super Nova or Armoured Attack isn't serious stuff! -- George Phillips phillips@cs.ubc.ca {alberta,uw-beaver,uunet}!ubc-cs!phillips