• Please review our updated Terms and Rules here

Tiny 'XT-class' machine

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Hi All,


My name is Valentin and this is my first post to this forum, although I've been 'lurking' for quite some time now!

I have been a long-time addict of PC hardware, ever since my folks shelled out for a PC-XT Turbo clone (8088 4.77/10MHz 640K RAM 2x360K FDD's mono screen printer etc.) back in 1987 that was upgraded over the years with the addition of a 20MB HDD, EGA, High-density drives, bus mouse, adlib card etc..

I did eventually move on to newer hardware platforms after around 1992 i.e. 386DX-40 / Cyrix-166 / Athlon 700 / Athlon XP 1800 etc. etc. But I never really forgot about that first machine I had all those years ago!

Around mid-2005, my XT clone powered-up for the last time. :(

Then in 2008 when I was asked to build design a custom industrial controller card, I thought: 'could this tiny little board, with the right custom firmware also be made to run just like that old XT I had before?' My boss thought I was crazy! :lol: But since I had plenty of spare (after hours) time, I was up for the challenge..

Here are the results (around 5 months part-time) of probably the most tedious work I'd ever done - enjoy!


An early image of the hardware running MS QBASIC:
http://members.optuszoo.com.au/pioneer10/DXDEMO1a.JPG

A demonstration video showing the prototype running a number of past PC gaming titles:
http://www.youtube.com/watch?v=E-Kl4uciERM

Another video of the same prototype running a GUI and related applications (OpenGEM Version 5):
http://www.youtube.com/watch?v=kS2YdGjhzFg

Comments (or flames) invited!

Regards,

Valentin Angelovski
 
Last edited:

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Whose chip did you use? VIA, ZF or someone else?

Hi Chuck,

Whilst I am unable to release any details of the main processor (yet), I can reveal some more background of the hardware: Early last year, I commenced design of an industrial controller for a remote site application. Since it was envisaged the system was to be powered by batteries for extended periods, it had to be consume very little power. The external keyboard/mouse circuits were part of the requirement, but the board could run without these connected..

The early prototype in the photo has a nominal power consumption of around 0.7W @ 5V with all accessories connected as shown. These early prototypes have linear regulators on-board which waste alot of energy! Substituting these with switched-mode brings the power usage down to around 0.25-0.3W.

The low power requirement pretty much ruled out any x86 hardware solution that I am aware of.


Regards,

Valentin
 
Last edited:

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,978
Location
Pacific Northwest, USA
Hi Valentin,

Is your design limited to 16-bit real-mode execution, or can it perform in 32-bit protected mode also? What is the resolution of your video interface?

I've been following ZFMicro's announcements for a couple of years; their latest ZF486 claims a power consumption of under 1W with full 486 support. At one time, they offered a version with VGA LCD support, but that seems to have disappeared.

If I have things right, it seems that your parent firm seems to specialize in automotive applications. Where do you see your product fitting into your firm's offerings. Do you think that ARM-based designs offer serious competition in that area?

Thanks in advance for satisfying my curiosity!
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Hi Valentin,
Is your design limited to 16-bit real-mode execution, or can it perform in 32-bit protected mode also? What is the resolution of your video interface?

As it stands, the system emulates 8088/86 real-mode only, with several 80188 instruction opcodes (i.e. PUSHA POPA) added, other 80188 instructions could be also added to enable Windows 3.1 to boot on this board.

The maximum (native, therefore not accessible to the emulator) resolution of the prototype board (with it's slow display RAM) shown here is 512x400 256-colors maximum. The following link provides an example of this mode.



Going to higher-speed memory would yield an emulated CPU speed of around 28 MHz (video out enabled), or 60-70MHz (video out disabled), fairly decent VGA 'chunky pixel' graphics along with some sound blaster capability 8-)

I've been following ZFMicro's announcements for a couple of years; their latest ZF486 claims a power consumption of under 1W with full 486 support. At one time, they offered a version with VGA LCD support, but that seems to have disappeared.

Yeah, was aware of the ZF offerings, but would still be considered overpowered (and overkill) for our original application..

If I have things right, it seems that your parent firm seems to specialize in automotive applications. Where do you see your product fitting into your firm's offerings.

Actually, there was an Industrial Automation section to the site that has been taken down for updating. My focus is Industrial Automation, not automotive related.

Do you think that ARM-based designs offer serious competition in that area?

..or in almost any other area (excluding PC desktops, for now), yes!

Thanks in advance for satisfying my curiosity!

No problem! ;)

Regards,
Valentin
 
Last edited:

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Thanks for the info, Valentin!

Did you use something like Zet as your starting point? It appears to be very similar.

Actually, I undertook this project long before I even knew about the existence of Zet, which is basically an FPGA implementation of an XT system (Hmm, I didn't know Dune 2 could even run on an XT? nice one! ;))

Perhaps I should clarify what the DX-Demo board is not: This isn't an implementation of Zet, Bochs, PCEmu or DOSBox etc it is a very tiny emulation program written completely written from the ground up (and mostly in assembly), by me.

DOSBox was really the only thing that inspired me to do this. However, the only way I was going to make it all fit into the tiny memory spaces of the on-board MCU, was to take all the Intel (8088,8237,8259,8253,8255) and Motorola (6845) datasheets and start reading...

Regards,
Valentin
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,978
Location
Pacific Northwest, USA
Thank you for the clarification, Valentin. I was somehow under the impression that you'd churned out a bunch of VHDL and loaded it into a low-power FPGA. I did not realize that this was an emulator program running on a commodity microcontroller. A nice project!
 

linuxlove

Veteran Member
Joined
Jan 11, 2009
Messages
1,018
Location
Auburn, AL
Maybe you should make and sell these systems once you can release details and stuff, unless your work agreement says something like "all products created while working with company X become the propert of company X".
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,978
Location
Pacific Northwest, USA
It would be interesting to take the idea and extend it to host an ISA bus interface, but I suspect that things become quite a bit more complicated electrically speaking, not to mention to code involved.
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Maybe you should make and sell these systems once you can release details and stuff, unless your work agreement says something like "all products created while working with company X become the property of company X".

I am currently discussing the possibility with my employer, though I have to admit providing an x86-based industrial solution wasn't part of their original game plan!

It would be interesting to take the idea and extend it to host an ISA bus interface, but I suspect that things become quite a bit more complicated electrically speaking, not to mention to code involved.

You are quite correct about the electrical requirements of supporting an external (5Volt TTL spec along with -5V and +/- 12V rails) bus like ISA. The bus function code effort should not present a great problem in itself, though I must admit I'm a little rusty at ISA interfacing.. been more than a decade since I last touched it! ;)

Yes, it could be done, but for starters extra circuitry that can support the 5V TTL requirements of ISA would be required. What I would propose is maybe a 'Low voltage' ISA version (with a different physical connector) with the 5V supply rail substituted for say, 3.3V? This would greatly simplify the interfacing circuitry (i.e. keeping the additional logic chip count down to zero), but would exclude peripheral devices designed for 5V-only operation.. Thoughts?


Regards,
Valentin
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,978
Location
Pacific Northwest, USA
I think most people would want to run existing 5v ISA cards (this is a vintage computer forum, after all). The bus interface isn't bad--it's basically PC104, but there are a bunch of annoying little things to observe, such as DMA and +/-12V supplies on the bus, as well as interrupt servicing. When I think of the level translation, the timing requirements, and the physical aspects of supporting an ISA bus, I think it might be cheaper to find a stosh of NEC V40 chips and build from there.
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
I think most people would want to run existing 5v ISA cards (this is a vintage computer forum, after all). The bus interface isn't bad--it's basically PC104, but there are a bunch of annoying little things to observe, such as DMA and +/-12V supplies on the bus, as well as interrupt servicing. When I think of the level translation, the timing requirements, and the physical aspects of supporting an ISA bus, I think it might be cheaper to find a stosh of NEC V40 chips and build from there.

I suppose another possible reason for full ISA compatibility (i.e. forget about any LV derivative), is the fact that you can still buy new ISA-compatible versions of various peripheral cards!

So the level translation would have to be done via a CPLD 'bridge' of suitable I/O count, to communicate with those cards. It would then be wired into the (custom) bus of the DX-Demo board to give it true ISA support. But then it is no longer an elegant solution..

I understand that some form of compliant (ideally ISA, but maybe USB could be considered instead?) system expansion would be an important feature if this thing is to have a wider appeal. Something to churn on after dinner methinks..


Regards,
Valentin

PS: Would've picked the Am188' over the V40, mainly because i'm partial to AMD.. :D
 
Last edited:

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,978
Location
Pacific Northwest, USA
PS: Would've picked the Am188' over the V40, mainly because i'm partial to AMD.. :D

The xxx188 is certainly more available, no matter who made it, but the V40 has internal peripherals that are closer to the original PC.

But there is no shortage of small contenders with silicon to provide a PC on a Chip for 8086-only code. There's Amphus or ST's STPC. They're all old technology and I don't know if you can still get them, however.
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
The xxx188 is certainly more available, no matter who made it, but the V40 has internal peripherals that are closer to the original PC.

But there is no shortage of small contenders with silicon to provide a PC on a Chip for 8086-only code. There's Amphus or ST's STPC. They're all old technology and I don't know if you can still get them, however.

You're quite correct about the number of x86 SOC manufacturers. Yes, they are all out there selling x86 solutions, including DMP. Which begs the obvious question: why would I 'reinvent the wheel'?

To elaborate what I stated previously, this board was designed as an interim board (due to the original eval board being unsuited, for various reasons) for a larger, more complex final hardware. It was originally intended to run native-mode control algorithms and never meant to run x86 code!

I had no intention of being another x86 'me-too' at all. This really all came about from a personal desire to learn what really made that beloved old machine that once warmed my desk tick - and I've certainly learned alot from those efforts thus far!

I'll also try to work out how to get some EGA modes onto the board, once I free-up some more room in the firmware space for additional code..

Regards,
Valentin
 
Last edited:

NobodyIsHere

Veteran Member
Joined
Dec 21, 2006
Messages
2,403
Hi! Great project! Impressive! I think this would make a great homebrew computer.

Is your employer willing to let the design information be released to the public? If it were Free/Open Source or just plain public domain that would be neat.

I post all the N8VEM home brew computer designs on a website but haven't documented the licensing yet. It's on my "to do" list for eventually but haven't gotten to it.

Thanks and have a nice day!

Andrew Lynch
 

per

Veteran Member
Joined
Jan 21, 2008
Messages
3,048
Location
Western Norway
I noted one thing when looking at the video; you are using a recent PS/2-based keyboard. As I know, the XT doesn't support the protocoll of the AT-style keyboard...

But else, it's a quite interesting project.
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
Hi! Great project! Impressive! I think this would make a great homebrew computer.

Is your employer willing to let the design information be released to the public? If it were Free/Open Source or just plain public domain that would be neat.

I post all the N8VEM home brew computer designs on a website but haven't documented the licensing yet. It's on my "to do" list for eventually but haven't gotten to it.

Thanks and have a nice day!

Andrew Lynch


Hi Andrew!


Thanks for the kind words. Though it has been quite some time since I've stopped by to see your progress (on the N8VEM), I gotta say I was quite impressed with the well-built and professional setup (that's a microbee monitor on top there? :D). Looks awesome in the aluminum case! :twisted:

About my plans for releasing this as finished product: Still working out minor details, but generally speaking a user manual (containing complete system schematics) would be available for download.

As for the main processor firmware this is somewhat a little more problematic: due to certain aspects of the firmware being seen as proprietary (i.e. forgot that I did kinda re-use two of my code modules that were actually paid-for). The firmware source will not be released into the public domain, not at least until after some attempt is made at commercializing the design.

Might be able to negotiate for this to occur after an agreed number of boards are sold or under some other plan, we shall see.


Regards,
Valentin
 

basman74

Experienced Member
Joined
Feb 16, 2010
Messages
124
I noted one thing when looking at the video; you are using a recent PS/2-based keyboard. As I know, the XT doesn't support the protocoll of the AT-style keyboard...

But else, it's a quite interesting project.

Correct (and thanks). But worse still, my board also supports (but only at the BIOS level) a PS/2 mouse! And the MMC interface? well, we won't go there.. :D

Since PS/2 were part of an existing requirement (which could be re-used) and the devices (very) readily available.. PS/2 it had to be.

(sigh) I realise this like totally breaks hardware compatibility with the original system..


Regards,
Valentin
 

carlsson

Veteran Member
Joined
Jul 30, 2003
Messages
6,274
Location
Västerås, Sweden
Well, let's say you are building a 8088 emulating system, not an XT emulating system. I'm sure a skilled engineer can interface almost anything to a 8088, not only limited to the hardware available and chosen at the time of the XT was defined.
 
Top