Subject: DOS power basic fuel injection software
From: Rotary Engine
Date: 12/28/2009, 10:09 PM
To: AAA Put this in the To box

 Paul,

 With the Parallel Port, you are going through the super IO
 Chip.  This device is off the LPC (low pin count) bus.
 Four lines with multiplexing of command, address, and data
 bits.  From the LPC back into the system are a few more
 paths.  While the printer will generate an interrupt, that
 interrupt is polled to see if it is set.

 The BIOS is running a bunch of events in the background,
 with DOS sitting on top of that software.

 System is not deterministic.  So there is variable timing
 to the system on what the parallel port is serviced.

 There are ways of working around this, from both hardware
 and software points of view.  For hardware using a separate
 timing subsection to handle inputs from the eccentric shaft
 pulley, to software of rewriting the bios and coding
 everything in a fixed matter.  So it can be done.

 Nice thing about rotary engines is they are so much simpler
 to determine when to fire injectors, and spark plugs.  No
 camshaft timing required, so using the Ford Ignition
 subsystem for spark and DOS computer for fuel is very
 viable, that it should work nicely for the dyno testing.
 Once you have the parameters established, then code in that
 small micro controller for aviation use.  I still like
 redundant back up with 'Notlauf' (emergency run, aka limp
 home mode) which the 555 timer could provide.

 Tom W

 Good info Tom. Thanks. That explains why MTIMER is all over
 the playing field. I can buy a PCI plug in card with an external
 counter timer chip which may improve the situation. Also do
 you think a PCI plug in par. port card would help. I have one so
 I will try that.

 I have a listing around here someplace for the IBM BIOS.
 You would not happen to have it in computer readable form
 would you? How about a list of the back ground processes?
 I know time is lost to refresh the ram.

 Is there anything I can disable in the BIOS setting or config.sys?

 I don't think recoding the BIOS will work on these cheap mother boards
 as the ROM appears to be embedded  in one of just several chips
 on board. I might be able to live with it as is if I can get
 the RPM with a external counter timer chip.

 Thanks again for your thoughts on this thing.

 ------------------------------------------------------------------------
 http://www.via.com.tw/en/products/mainboards/others/p4pb_ultra.jsp

 I think I was wrong about changing the BIOS. It appears
 to be in flash. Perhaps they have a real time BIOS.

 There are two ways to update the BIOS:

 Second method:
 (System needs to boot into DOS prompt with bootable disk):

 1. Make a bootable system 3.5" diskette.
 2. Then copy the flash utility (eg. awfl818.exe) and the new BIOS file
 (eg. P4XBSOLI.BIN)
 onto this diskette. The latest BIOS update and flash utility can be
 downloaded from
 www.viavpsd.com for your specific product.
 3. Boot the computer using this diskette.
 4. At the A: prompt type awfl818.exe (file name).BIN.

 You can find out additional parameters of the flash program by type
 "awfl818/?". This will
 cause the flash utility to load and automatically use the new file.
 Just follow the
 prompts that you see on the screen. When you are through, reboot your
 computer. Please
 load the optimized default settings in the BIOS.

 WARNING!! During the final flash process, power should not be
 disconnected and the process
 should not be interrupted or the motherboard will not be able to boot up.

 I am looking into this further.

 ---------------------------------------------------------------
 I have email into VIA. They make a whole range of PC boards for
 embedded applications. If every car had a PC the possibilities
 are stunning.

 http://www.via.com.tw/en/company/locations.jsp#usa

 BASIC is the fastest way to program. Programs can be written in
 minutes that take hours or days in C or assemble language.

 This mother board is 200 times!! TWO HUNDRED TIMES!!! faster than
 boards just ten years ago. BASIC historically has been dismissed
 as too slow for real time applications. NOT TRUE ANYMORE.
 DOS BASIC instructions execute in less than one microsecond.

 --------------------------------------------------------------------

 Wow! Look at this Tom.

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 *==============VIA Flash Tool V0.9 Beta===============*
 *--------------       Readme      --------------------*
 *=====================================================*
 VIA Technologies Inc.

 *Description:
 This tool is used for flashing or backing up the BIOS under DOS on VIA
 VEPD Mother Boards with Award BIOS.

 *How to use:
 1. Execute "viaflash.exe" under DOS.
If you would like to show update status, please execute "viaflash
 /ps" instead.
 2. You will see the flash tool menu: (1) Backup BIOS (2)Update BIOS
Please enter the option that you would like to do.
 3. Key in valid file name:
If back up bios, please key in the file name for creating the file
 and saving the BIOS.
If update bios, please key in the file name for updating the BIOS.
Note: The empty file name is invalid.
Besides, please don't enter file name string the length of that is
 more than 8 characters due to DOS contriction; otherwise, we will just
 save the first eight characters.
 4. If update BIOs, please enter if you would like to update bootblock.

 5.The flash tool will show "Please Wait" and then "Programming Now"
 when flashing or backing up. When flash tool completed flashing or
 saving, you will see "BIOS Updated" or "BIOS Saved" on the screen.



 *Supporting ROM:
 SST= 49LF004B, 49LF040B, 49LF004A, 39SF020A
 PMC= PM49L004T
 +++++++++++++++++++++++++++++++++++++++++

 This is coming together real nice.

 Here is the block diagram for the board I have. It is
 a VIA EPIA-M. Tons of power and I/O for $80.
 I notice Intel is starting to build this
 kind of PC mother using the Atom processor.

 Paul Lamar

Hi Paul;

There are a ton of these boards being used in cars and mobile devices in
a wide variety of form factors.
For an open source BIOS replacement try:
 www.coreboot.org
VIA boards are well represented.
Some of the Intel Atom based boards may also suit your needs.

Also look up Texas Instruments OMAP.  One example is "Beagle Board".
These boot with U-boot / X-Loader and are typically Linux based.

Have fun!
Cary

Wow that is great Cary. I had no idea 34 seconds to Linux boot.
Wow this is great just what was looking for. The Holy Grail
of real time. Thanks for that URL.

BTW I get a PCI par. port working on the VIA card at B000 and I am about
to test it to see if the super I/O chip is slowing me down.

------------------------------------------------------
Doping all this out has been a real bear for me. The last time
I fooled with DOS was way back in the 1980's. What blew me away
was the port address at hex B000 or decimal 45056. Apparently that is
common for boards on the PCI bus. Way back all we had was the
ISA buss. It is like you can not teach a fixed wing pilot how to fly
a helicopter :)  My old DOS CheckIt program was at a loss to find
the port.

Here is the program that worked and the screen output.
Apparently it is worth it to by pass the super I/O chip as
the least number of available microseconds has risen to 155.
When I get into the BIOS that number should go up again.

The highest number is 7000 microseconds (7 ms) so that is our goal
for 7500 RPM. My guess is to service the  rotor with fuel
and spark will take less than 200 microseconds. But I am
tuning up the computer just in case I need more. It is
taking a lot of time to do this but once I have it all
figured out it will be a piece of cake to change the
program.

DEFLNG A-Z
CLS
FOR Z = 1 TO 24

begin1:
sbyte = INP (45057)
if sbyte = 120 goto begin1

begin2:
sbyte = INP (45057)
if sbyte = 248 goto begin2

print sbyte;
MTIMER
start2:
sbyte = INP (45057)
if sbyte = 248 goto ItIsUp
goto start2

ItIsUp:
ElapsedTime!=MTIMER
print "Up time"; ElapsedTime!,

print sbyte;
MTIMER
ItIsUp2:
sbyte = INP (45057)
if sbyte = 248 goto ItIsUp2

ElapsedTime2!=MTIMER
print  "Down Time";ElapsedTime2!

NEXT Z

The port address used is actually 45057 as that is
the status port address and we are looking at the
printer busy line.

Paul Lamar
-- 
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site. http://www.rotaryeng.net
Youtube key word UTUBPLEASE
Copyright 1998-2009 All world wide rights reserved.