Welcome, Guest. Please login or register.

Author Topic: Homebrew Tandy 1000 PC replica  (Read 9447 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline basman74Topic starter

  • Jr. Member
  • **
  • Join Date: Aug 2007
  • Posts: 61
    • Show only replies by basman74
Homebrew Tandy 1000 PC replica
« on: May 27, 2010, 02:31:23 PM »
Hi All,

I would like to share with you all a story on the most frustrating, tedious but ultimately satisfying hobby project I have ever done!

Around a year ago, I had this crazy idea to build a replica of the classic systems that existed around the time of my youth but never had the chance to own. Back in the early days (mid-late 1980's), I was stuck with either a CoCo and then a PC-XT clone when nearly everyone around me had either a C64 or Amiga (or both! :)).

After putting aside the idea of recreating a commodore-related machine, as these were previously done by Dennis Van Weeren (Amiga 500 clone aka Minimig) and Jeri Ellsworth (C64 DTV), I originally decided on a PC-based platform due to having a soft spot for 'old beige' :D. As the project progressed, my focus then shifted to the machine that IMHO did much to help establish the IBM-PC as a viable platform for gaming - the Tandy 1000 clones.

To make things a little more challenging for me I did the following: I wanted the entire system hardware to be emulated by an 8-bit microcontroller!

Well, nearly twelve months (part-time) on, the prototype board works to the extent that it boots MS-DOS or FreeDOS, along with many various game titles supported by the system. The following Youtube videos show the prototype in action:

Latest video demo running Tandy 16-color games with 3-voice sound support:
http://www.youtube.com/watch?v=ZIW-iRq7Tnc

Second video demo running Tandy 16-color games:
http://www.youtube.com/watch?v=JDxYVR0bLQk

First video demo running ancient CGA style games:
http://www.youtube.com/watch?v=E-Kl4uciERM


Comments invited! Cheers and enjoy!

Regards,
Valentin Angelovski
« Last Edit: May 27, 2010, 02:44:07 PM by basman74 »
 

Offline AJCopland

Re: Homebrew Tandy 1000 PC replica
« Reply #1 on: May 27, 2010, 02:52:29 PM »
Awesome work! I applaud anyone who can see such a project through to completion like this! :) well done.
Be Positive towards the Amiga community!
 

Offline KThunder

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 1509
    • Show only replies by KThunder
Re: Homebrew Tandy 1000 PC replica
« Reply #2 on: May 27, 2010, 03:48:19 PM »
Very very cool.

I have downloaded documentation on the Parallax Propeller chip in hopes of doing some homebrew pc stuff similar to this. I have a few chips ordered to experiment with and support stuff. Do you know about the Propeller and how it compares to the chip you used?
Oh yeah?!?
Well your stupid bit is set,
and its read only!
(my best geek putdown)
 

Offline redrumloa

  • Original Omega User
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 10126
    • Show only replies by redrumloa
Re: Homebrew Tandy 1000 PC replica
« Reply #3 on: May 27, 2010, 07:25:15 PM »
@Valentin
 
Very nice, of course. I can't wait to see this come out! :afro:
Someone has to state the obvious and that someone is me!
 

guest7146

  • Guest
Re: Homebrew Tandy 1000 PC replica
« Reply #4 on: May 27, 2010, 07:40:05 PM »
Hi!

Nice work.  What Microcontroller did you use in the end? I didn't watch all of your videos but I did have a look at one of your demo vids where you showed some games running on the system.  I'd be interested in more information about the hardware itself.

:)

AH.
 

guest7146

  • Guest
Re: Homebrew Tandy 1000 PC replica
« Reply #5 on: May 27, 2010, 07:41:44 PM »
Ah, now I've found a video that details some information about the hardware.

AH.
 

Offline ferrellsl

Re: Homebrew Tandy 1000 PC replica
« Reply #6 on: May 27, 2010, 08:29:29 PM »
Great work!  But it also makes me remember why I chose a C-64 and then an Amiga.  The Amiga was light years ahead of Tandy and the MS-DOS world.
 

Offline recidivist

  • Hero Member
  • *****
  • Join Date: Aug 2006
  • Posts: 567
    • Show only replies by recidivist
Re: Homebrew Tandy 1000 PC replica
« Reply #7 on: May 27, 2010, 08:30:35 PM »
All very well and impressive;I just settle for digging a Tandy 1000 out of my  "collection",they are even on eBay still!

Tandy did a lot  for the PC world by pushing the graphics ,sound, and expanded memory of their stock  machines which were a step ahead of the genuine IBM.
 

Offline basman74Topic starter

  • Jr. Member
  • **
  • Join Date: Aug 2007
  • Posts: 61
    • Show only replies by basman74
Re: Homebrew Tandy 1000 PC replica
« Reply #8 on: May 28, 2010, 05:57:44 AM »
Dear all,

Thanks for all the positive responses! :)


To answer the specific questions:

@KThunder - While I am no expert on the Parallax propeller chip, one thing that I do know is that it has hardware support for mice/keyboards/video built-in (i.e. no need to attempt emulating these all in firmware like I did). So your task should be easier IMO. As I see it there are two ways to write an emulator using an embedded processor:
1.) Using available peripheral hardware support (i.e. far easier and quicker option)
2.) CPU Core alone bashes everything (i.e. the option I took, but do not recommend)


@redrumloa - Would be happy to release it as a product at some stage -  once it passes 'alpha testing' that is! :D


@AppleHammer - While I cannot reveal the specific processor model at this time, since some of the hardware was originally designed for a commercial application for my current employer. What I can say however, the platform is essentially built around an MCU running around the triple-digit MHz ballpark, coupled to around 1MByte or so of SDRAM. I hope at some stage to put up a dedicated website for this project, complete with schematics along with more complete information..


@ferrellsl - Which makes it even more remarkable how a machine that started off with 'whopping' 4-color capability became the dominant gaming platform! :D

Regards,
Valentin
« Last Edit: May 28, 2010, 02:54:40 PM by basman74 »
 

Offline basman74Topic starter

  • Jr. Member
  • **
  • Join Date: Aug 2007
  • Posts: 61
    • Show only replies by basman74
Re: Homebrew Tandy 1000 PC replica
« Reply #9 on: May 28, 2010, 05:59:46 AM »
@recidivist

You make a valid point, though I am certain your point could be equally applied to both the Minimig and C64-DTV as well. :)

Now while there may seem to be little point in getting a replica when you can buy (or already own) a real one, it should be noted there were some inherent features in the original architecture that I wanted to either update or improve upon in my own design:

1.) Possibility for easy switching between an original 8088 and later 80188/V20 CPU hardware behaviour for enhanced software compatibility i.e. POP CS only exists on the 8086 but not on later CPUs etc. To do this on a real Tandy 1000 you have to physically swap CPUs on the motherboard!
2.) Has a 'Tandy Graphics-to-VGA' video converter built-in! :)
3.) System RAM is configured as 704K conventional + 128K UMB RAM as standard
4.) BIOS ROM handlers are trapped and processed by the emulator natively, speeding up BIOS routines and potentially freeing up the Upper Memory Block for user RAM.
5.) System BIOS is copied to RAM on bootup and has mouse and HDD support built-in via INT's 13h and 33h respectively.
6.) Current maximum addressable 512MBytes of SD/MMC flash disk (Theoretical 8GB maximum)
7.) Small form factor(90mm x 110mm x 15mm overall) and very low power consumption (<0.5W)
8.) Could see these things easily retail for around USD$25-30 range - including a 512MByte flash disk. I wonder what it would cost to ship a replica (<50grams) instead of a real machine?

The downsides to this implementation (currently)?
1.) Lack of an standards-compliant expansion bus or game ports (only proprietary bus at the moment).
2.) BIOS ROM compatibility still incomplete (MUCH more to this than I first thought!).
3.) Only 32K of video RAM currently, so no multiple video pages in 320x200x16 color mode, though many games seem not to need it.
4.) Noise channel in the 3-voice sound circuit slightly different from original due to different implementation.
5.) Only 8088 CPU behaviour largely complete - currently working on NEC V20 emulation..


Regards,
Valentin
« Last Edit: May 28, 2010, 02:55:02 PM by basman74 »
 

Offline LoadWB

  • Hero Member
  • *****
  • Join Date: Jul 2006
  • Posts: 2901
  • Country: 00
    • Show only replies by LoadWB
Re: Homebrew Tandy 1000 PC replica
« Reply #10 on: May 28, 2010, 06:15:43 AM »
Wow.  Damn impressive.  I never realized the 1000 was similar to the PCjr.  I was never an Intel guy back then, though I knew how to use the PC computers.  I do remember thinking "Thexder" was pretty cool, and I lament that I never obtained a copy of it for the 64 or Amiga.

Excellent work.
 

Offline skurk

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 929
    • Show only replies by skurk
Re: Homebrew Tandy 1000 PC replica
« Reply #11 on: May 28, 2010, 12:59:29 PM »
Quote from: basman74;561334
I would like to share with you all a story on the most frustrating, tedious but ultimately satisfying hobby project I have ever done!


What great and truly inspiring work!

Do you have some technical details about your work somewhere?
For example, which mcu did you use, how exact is the emulation, etc?

I've been experimenting with something similar, maybe I should get my ass in gear and actually start working on the schematics.
Code 6502 asm or... DIE!!

[C64, C128, A500, A600, A1200, A3000, MBP+Mini, Efika/MOS2.1, Sam440 w/AOS4.1
 

Offline basman74Topic starter

  • Jr. Member
  • **
  • Join Date: Aug 2007
  • Posts: 61
    • Show only replies by basman74
Re: Homebrew Tandy 1000 PC replica
« Reply #12 on: May 28, 2010, 03:46:18 PM »
Quote from: LoadWB;561539
I never realized the 1000 was similar to the PCjr.  I was never an Intel guy back then, though I knew how to use the PC computers.


To be honest neither did I, well at least not until I did some serious digging into the PCjr's colorful history in my search to find a machine to emulate. From memory, at the time I was fooling around with XT clones I had the impression our local Tandy store was still heavily pushing the CoCo3 (complete with running demos etc.) with a Tandy 1000 machine sitting farther back with an 'A>' prompt on it's screen.. Commodore resellers didn't make this mistake with their Amigas, that's all I will say!

Quote from: LoadWB;561539
I do remember thinking "Thexder" was pretty cool, and I lament that I never obtained a copy of it for the 64 or Amiga.


Actually I have similar feelings with respect to the Tandy 1000 version.. i.e. I prefer the 320x200 Tandy screen over the 640x200 EGA version (not to mention better sound!), Awesome game though, regardless of platform..

Quote from: LoadWB;561539
Wow. Damn impressive.

Thanks! :)

Regards,
Valentin
« Last Edit: May 28, 2010, 03:50:40 PM by basman74 »
 

Offline redrumloa

  • Original Omega User
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 10126
    • Show only replies by redrumloa
Re: Homebrew Tandy 1000 PC replica
« Reply #13 on: May 28, 2010, 05:00:48 PM »
Parallel port, parallel port, parallel port!!! ;)
Someone has to state the obvious and that someone is me!
 

Offline B00tDisk

  • VIP / Donor - Lifetime Member
  • Hero Member
  • *****
  • Join Date: Dec 2002
  • Posts: 1670
    • Show only replies by B00tDisk
    • http://www.thedelversdungeon.com
Re: Homebrew Tandy 1000 PC replica
« Reply #14 on: May 28, 2010, 05:06:15 PM »
Where do I plug my Disney Sound System? :D

I love this, it's so cool!
Back away from the EU-SSR!