Software Projects
A generic overview about my past, current and (maybe) future software related transputer projects.
- DOS-B004-Support for WindowsNT: To use the DOS server like iserver or helios io server under WindowsNT.
- ISERVER for WindowsNT: A more efficient and more modular approach than a simple recompile.
- Rayshade for T80X transputer: A simple, single processor port of Rayshade for a Transputer with FPU.
- HELIOS B016 Support Resident Library: To support the IMS B016 VMEbus master card under HELIOS 1.3.
- HELIOS Ethernet driver for the MVME376 Ethernet Controller: A driver for HELIOS 1.3 to use the things from the Ethernet I & II package.
- Transputer Emulator for WindowsNT: To collect information from running programs, which are difficult or impossible to aggregate on a real transputer.
DOS-B004-Support for WindowsNT
A few days after my first experiments with a DOS-Bootdisk and a network share in 2004, I decided to create a more convenience environment. Since Win9X was ineligible, I try to find a solution under WindowsNT 4.0.
Two problems have to be solved:
- Reset timing where sometimes realized be counter-loops, which is unreliable.
- The process has to access the port without interceptions. Otherwise the performance degradation was too high.
My solution is a combination of a physical device driver (PDD) and a virtual device driver (VDD) for the virtual dos machine (VDM). Every program which runs in a VDM loads the VDD. This DLL connects to the PDD. The PDD punches a hole of 4 bytes in the i386 I/O permission bitmap of this process. So the process can direct access the lower 4 bytes from the B004 register map. All other register are intercepted by the VDD and processed regularly over the PDD. If the process accesses the RESET or ANALYSE register an additional delay of 100ms is generated.
This solution allows me to run iserver, afserver, helios-server on my WindowsNT 4.0 box. It works so good, that I still use it.
You can download these two drivers. There is also a readme.txt which explains in very reduced and technical instructions how to install and uninstall them.
Note: I have no real experiences (except successfully install/start/stop/uninstall) under WindowsXP.
ISERVER for WindowsNT
My big picture:
| DRIVER.EXE | ISPY.EXE | B300SVC.EXE | ||
| ISERVER.DLL | ||||
| ICONNECT.DLL | ||||
| B004.DLL | B032.DLL | B300.DLL | ||
| B004.SYS | B032.SYS | |||
So for example if you run icc on machine A and your transputer hardware is on machine B you will go through this layers:
- icc.exe (=driver.exe on machine A)
- iserver.dll
- iconnect.dll
- b300.dll
- b300svc.exe (now on machine B)
- iconnect.dll
- b032.dll
- b032.sys
This example requires an ethernet connection between machine A and machine B.
Still under development...
The iserver.dll generates a binary debug/trace file in the Microsoft Network Monitor format. I've written a parser dll which allows me to load and analyze this trace files in the Network Monitor 2.x. You can use the full power of Network Monitor, like Search, Filter, insert Comments etc. Unfortunately 2.x parsers are incompatible with the new Network Monitor 3.0. This part is mostly finished. As far as I know, you will find the latest Network Monitor 2.x in Windows Server 2003 as an optional component. These binaries are also installable under WindowsXP (->instructions) but I think this is unsupported :-)
Also finished is the processing of the ANSI control sequences. So idebug and isim works properly.
Rayshade for T80X transputer
During September 2006 I've done a quick port of rayshade for the transputer.
I'm sorry to say, that there is NO MULTIPROCESSORSUPPORT.
The fileformat of the output file is only Windows Bitmap.
More information and the original rayshade sources are available from:
http://graphics.stanford.edu/~cek/rayshade/rayshade.html
You can download the transputer binary file and the winecup.ray source.
USAGE: iserver.exe /SB main.btl -F 1 -O winecup.bmp <winecup.ray
The winecup was calculated on a IMS B004 (T800D 20MHz and 2 MB RAM) in my WindowsNT Server. The 300x450 picture takes 18370 seconds or 306 minutes or a little bit more than 5 hours to calculate.
Note: You can click on the winecup to see the full 1200x1800 picture (642K).
HELIOS B016 Support Resident Library
The IMS B016 contains a real time clock, interrupt controller, two asynchronous serial ports Flash-ROM and some special things like MAP-RAM, a Byte multiplexer and so on.
To use most of these things, I plan to create a Resident Library which contains routines analogous to the F008A support library.
Still under development...
HELIOS Ethernet driver for the MVME376 Ethernet Controller
Based on the B016 Support Resident Library I will create a driver for my MVME376 10MB ethernet adapter.
Programming the Am79C90 (C-LANCE):
Still under development...
Transputer Emulator for WindowsNT
Not really started. Only some deeper inquiries.
Back to the top