
Sharp 80: TRS-80 Model III Emulator for Windows - sohkamyung
http://www.sharp80.com/index.php
======
teh_klev
Neat and well done. Also nice to see how an emulator can be written in
C#/.NET.

The "Sharp 80" name might be a tad confusing for those of us who fondly
remember the Sharp MZ80:

[https://en.wikipedia.org/wiki/Sharp_MZ](https://en.wikipedia.org/wiki/Sharp_MZ)

------
xxxxxxxx
This brings back very fond memories of high school. I think we have about 4 of
these for a school of several hundred students. We would make a booking and
stay back after school to write our programs in BASIC and assembly. Thank you
to the developers, you made my day.

The model before this (was it the version II?) had a terrible keybounce
problem - it was almost usable.

Later we were lucky enough to get a Compucolor II. I still have the manual
from 1979 here on my bookshelf.

------
JustSomeNobody
Learned Pascal on one. Good times. Good times.

------
athom
Oh, this could be really good! I've played with a couple emulators that had
some proprietary restrictions, but still worked well for my needs. A good one
free and clear would be really nice!

~~~
lkesteloot
Here's one I wrote in Go, though I just noticed I never bothered putting on a
license. Let me know if you want me to.
[https://github.com/lkesteloot/trs80](https://github.com/lkesteloot/trs80)

~~~
LambdaComplex
Why ask? If you don't mind how it's used, just make it MIT, 2- or 3-Clause
BSD, or Apache 2.0

------
RUG3Y
This is cool. My dad threw away our TRS-80 when I was in high school, and I
miss it. It was the one with the integrated monitor, I don't remember what
model it was. My first computer.

~~~
codewritinfool
The first in that line with an integrated monitor was a Model III. It was gray
and smooth. The Model 4 looked practically identical but was white and
textured.

I had both a III and a 4.

~~~
RUG3Y
Mine was the gray one, and model III rings a bell.

------
sixothree
Are there any available C compilers for these?

~~~
jacquesm
These were not normally programmed in C but in Assembler or basic. You might
be able to find Misosys if you search hard enough, it's multi-pass iirc and
works but you won't be getting a whole lot of work done in a day.

------
andrewstuart
You should write up how and why you did this.

------
paulrpotts
I get an error about the Direct X driver, then an unhandled exception dialog:

See the end of this message for details on invoking just-in-time (JIT)
debugging instead of this dialog box.

 __ __ __ __ __ __ __Exception Text __ __ __ __ __ __
__System.NullReferenceException: Object reference not set to an instance of an
object. at Sharp80.SoundX. <Dispose>d__57.MoveNext() \--- End of stack trace
from previous location where exception was thrown --- at
System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object
state)

 __ __ __ __ __ __ __Loaded Assemblies __ __ __ __ __ __ __mscorlib Assembly
Version: 4.0.0.0 Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file: ///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
\---------------------------------------- Sharp80 Assembly Version: 1.1.0.87
Win32 Version: 1.1.0.87 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/sharp80.exe
\---------------------------------------- System.Windows.Forms Assembly
Version: 4.0.0.0 Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
\---------------------------------------- System Assembly Version: 4.0.0.0
Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
\---------------------------------------- System.Drawing Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
\---------------------------------------- SharpDX Assembly Version: 3.1.0.0
Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.DLL
\---------------------------------------- System.Runtime Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.dll
\---------------------------------------- SharpDX.DXGI Assembly Version:
3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.DXGI.DLL
\---------------------------------------- SharpDX.Direct2D1 Assembly Version:
3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.Direct2D1.DLL
\---------------------------------------- SharpDX.DirectInput Assembly
Version: 3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.DirectInput.DLL
\---------------------------------------- System.Threading Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Threading/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Threading.dll
\---------------------------------------- System.Collections Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Collections/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Collections.dll
\---------------------------------------- System.Reflection Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Reflection/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Reflection.dll
\---------------------------------------- System.Configuration Assembly
Version: 4.0.0.0 Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
\---------------------------------------- System.Core Assembly Version:
4.0.0.0 Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
\---------------------------------------- System.Xml Assembly Version: 4.0.0.0
Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
\---------------------------------------- SharpDX.Direct3D10 Assembly Version:
3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.Direct3D10.DLL
\---------------------------------------- SharpDX.Mathematics Assembly
Version: 3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.Mathematics.DLL
\---------------------------------------- System.Runtime.InteropServices
Assembly Version: 4.0.0.0 Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.InteropServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.InteropServices.dll
\---------------------------------------- System.IO Assembly Version: 4.0.0.0
Win32 Version: 4.6.1087.0 CodeBase:
file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.IO/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.IO.dll
\---------------------------------------- System.ValueTuple Assembly Version:
4.0.1.0 Win32 Version: 4.6.24705.01 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/System.ValueTuple.DLL
\---------------------------------------- SharpDX.XAudio2 Assembly Version:
3.1.0.0 Win32 Version: 3.1.0 CodeBase:
file:///C:/Program%20Files%20(x86)/Sharp80/SharpDX.XAudio2.DLL
\----------------------------------------

 __ __ __ __ __ __ __JIT Debugging __ __ __ __ __ __ __To enable just-in-time
(JIT) debugging, the .config file for this application or computer
(machine.config) must have the jitDebugging value set in the
system.windows.forms section. The application must also be compiled with
debugging enabled.

For example:

<configuration> <system.windows.forms jitDebugging="true" /> </configuration>

When JIT debugging is enabled, any unhandled exception will be sent to the JIT
debugger registered on the computer rather than be handled by this dialog box.

So... needs work : ) It does seem to run after that, though.

I'll try it at home on a different PC.

I am trying to run the DirectX installer. That seems like a really old
installer -- 2010. I'll see if that fixes the startup error though.

My first computer was a Model I with 4K and Level 1 BASIC. I'd love to get
this working. I'd love it more if I could make it emulate a Model 1 with Level
1 BASIC so my kids could try working through the original TRS-80 BASIC
programming book like I did in 1977.

I have tried some other emulators recently and had no luck.

~~~
deelowe
There's a github link on the website.

~~~
paulrpotts
Thank you. I don't use HN that much and it seemed like the developer was
asking for feedback in this forum.

