PDA

View Full Version : Need help finding finding information to program QLT Futura 100



rmay635703
July 26th, 2006, 05:21 PM
Ditto title

What I want to do is program new printer drivers for this very old but very usefull computer photography system.

It is a motorolla 680010 system, it is basically a board with System memory (rasterizing/program memory)
Video memory dividing into text (menu) memory and 2 flash photo capture slots and a scsi, keyboard and floppy controller (all made of discrete ttl logic), the printer controller is on its own independant board, the video to analog converter is on its own board and operates independant of the system.

The disk as far as I can tell is a linear (no FAT) 720kb standard 3.5" floppy the first 128kb/256kb get loaded into various memory locations and the rest of the disk is for fonts and printer drivers.

I have read the entire disk into an image file and can read some of the text within the menus for the system but have no idea really where to start.

My first step is to find a utility that can open any type of file, leaving it entact in every way allowing me to view and change key bits and then save the file so I can reimage the disk. I would like to start out by changing the resolution bit in the HP 2000c driver so the system could do higher resolution albeit smaller images for keychains on said printer.

Anyone willing to help? You might get a free $23000 futura out of it :) (in 1993) I can send the disk image if anyone is curious what is on said unit.

I have also been lulling about figuring out how to read the old HI/LOW roms on the board

The system is so simple I should be able to program it given time and documentation (I am an engineer) just haven't done much beyond C++

Thanx for any Assistance
Ryan http://www.angelfire.com/co4/futura100 (beware popups, use mozilla)

mbbrutman
July 27th, 2006, 05:20 AM
Can you be more specific? Are you trying to write a new printer driver so that this device can use other printers, or are you trying to reuse it's printer?

rmay635703
July 27th, 2006, 12:28 PM
Eventually I would like to be able to write new drivers, for now, modifying would be great.

The first thing I would like to be able to do is simply be able to view and change single bytes within the image without corrupting it, I assume I need some form of hex editor. I am using herne data systems maxi disk to image the disks as it actually leaves the disk info intact.

The next thing I would like to do is locate and change the HP 2000c's print driver by editing the Hi res byte to send the printer the byte that puts it into 300dpi mode instead of Bleh 150dpi (yes the driver is VERY poorly written, like most last of the line quick fixes) This should be simple since the 2000c has a very simple command to set the res in dos mode, this would at least allow for printing clearer smaller images. (600dpi is not dos mode and more complex so I dont think I can use that mode and be simple)

My next goal would be to adjust the blue level of the printer driver (all other printers have this changable within the driver) The unit req. you to take the picture WAY oversaturated or the image turns out too blueish.

My ultimate goal is to have the futura send the header to put the HP 2000c printer into 600dpi byte addressable mode, then steal the rasterizing routines from the old omniflex printer driver (it uses the rom pattern generator to rasterize on the fly instead of actually using software to rasterize to ram first) this would allow the unit to rasterize on the fly and not run out of memory when doing hi-res large images.

Cheers
Ryan

modem7
July 28th, 2006, 03:55 PM
Re changing the printer resolution. Sounds like you've already done the research into the printer commands/language.

You've got a 720Kb boot disk on which somewhere the current command resides. You've established that you need to alter one byte.

I suggest that you use a PC. There are lots of disk editors out there for the PC that will work in 'raw' mode (viewing the diskette as a bunch of sectors). For example, there's a free one at http://www.mirkes.de/en/freeware/tinyhex.php You open A: using File/Disk/openDrive. Then navigate using File/Disk/Load. It has a search function so you can find the sector containing the current printer command.

Note: The diskette authors may have put CRC or checksum bytes in the code. No point worrying about that until evidence of that appears.

modem7
July 28th, 2006, 04:22 PM
That disk editor I quoted (and others out there) may baulk if the diskette uses a different format to what PC's expect, i.e. different sector size, different sector count per track.

If that turns out to be the case, other disk editors (possibly the ones you need to pay for) may be needed.

An alternative is to use one of the disk imagers quoted in other threads at this forum. They may be able to handle the different format. On the PC you create an image file of the diskette, modify the image using a hex editor, then create a new diskette. Hopefully the disk imager software won't complain about one or more bytes in the image file being changed.

rmay635703
July 29th, 2006, 07:49 AM
That disk editor I quoted (and others out there) may baulk if the diskette uses a different format to what PC's expect, i.e. different sector size, different sector count per track.

If that turns out to be the case, other disk editors (possibly the ones you need to pay for) may be needed.

An alternative is to use one of the disk imagers quoted in other threads at this forum. They may be able to handle the different format. On the PC you create an image file of the diskette, modify the image using a hex editor, then create a new diskette. Hopefully the disk imager software won't complain about one or more bytes in the image file being changed.

Actually I would prefer to edit the image of the disk on a PC, the disk itself has no fat it is relatively standard DSDD 9 x 512bytes x 80 but I seem to corrupt disks when trying to "page" through it. Also I am uncertain how the machine colludes the info to the printer AKA if its sending a "BB" to the printer (example) I do not know what that value would be on the program side of things. I almost wonder if there would be a proggy to emulate this system so I could step through the motions, I can almost mill another board with some effort as its so simple a design. (honestly when I was at college I was dumb not to take one of my profs offers to update & duplicate it if I gave him one to keep (at the time I only had 2 and they cost an arm and a leg and he said he might potentially destroy it))

I will give the program you list a try, If I corrupt a disk, no biggie as I just reformat and try again (I've done so, so many times on one floppy that it won't format anymore :) )

Thanx

modem7
July 30th, 2006, 03:38 AM
You have a 68010 CPU based system with ???? operating system.

To give you some sort of comparisom, let's look at DOS. DOS knows nothing about the printer that's attached to the computer. Therefore any program that wanted to print anything beyond simple text needed to know what brand/model of printer was attached (so that exactly the correct commands/data would be sent).
And each program couldn't make assumptions on the state of the printer. For example, if Lotus 123 started up, there was no way it could know that the previous program (dBase III) had accidently left the printer in a particular graphics mode. Therefore it was very common to see programs prefix every print job with a 'printer initialisation string'. A printer initialisation string (similar to a modem initialisation string) just put the printer into a known state. The first few bytes were normally the command/s to reset the printer to factory defaults.

And by the way, a lot of older printers (and some today) allow you to put the printer into a 'hex' mode (or debug mode) where every byte sent to the printer is printed out in hex. That may help you.

Out of curiousity, do you configure your operating system with the printer details, or do you configure the program that does the printing?
Either way, you've identified that the drivers are on the boot disk, and so targeting them there should work.


Also I am uncertain how the machine colludes the info to the printer AKA if its sending a "BB" to the printer (example) I do not know what that value would be on the program side of things.
If you just wanted "BB" printed, just send two bytes: the ASCII value for "B" (which is 42h) followed by the same byte. Some line printers will want that terminated in a LF (10h) before they print the line. Page printers (eg. lasers) will need the "BB" terminated with a formfeed byte (0Ch) to print the page.

That "BB" will print using the printer's default font. The printer will have other inbuilt fonts. If you wanted one of the other inbuilt fonts, the printer's technical manual will detail the command bytes that are needed before the "BB". If the printer doesn't contain the font you need, the printer's technical manual will detail the commands/data needed to download a font into the printer (usually lost on power-off of the printer).

And of course, you could print the "BB" as a graphic.

rmay635703
July 30th, 2006, 01:29 PM
Going throught the boot disk
At the very begginning is a list of printers on that disk, right after is a long section of misc code with some plain text menu data mixed in. Near the middle/end of what I can identify as the "operating system" I see a mention of Innovion IDOS and some errors I've occasionally encountered with the system and mentions of the systems name/os name PGS-III. After that filling the end of the disk appears to be the actual printer drivers is sectioned (paragraphed) areas with lots and lots of text tables thrown in aka

ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^

If you are wondering how and what the system does, its VERY simple
After turned on...
1. Clears video screen with various color patterns
2. Boots off the floppy (only way it can, hard drive is only used for advanced text, storage, cache area for hollywood makover and "fantasy body" overlays)

3. Loads up flash grab menu with a list of functions AKA
F1/F2 Flash grab / Live on
F3 loading graphics / fantasy bodys,
F4 Swap memorys
F5 Print menu
F6 Multifont lettering menu
F7 Animate
F8 Posterize Screen
F9 Disk menu AKA load previously taken photos,
F10 Erase Screen
F11 Hollywood makover

So you take a picture (flash grab) go into the print menu,
the system automatically loads the first printer in the list and provides options to select amoungst the (4) standard sizes, mirror for photo transfers, resolution (if applicable to the printer), Black and white or color mode (if applicable) Then start printer or stop printer. And you can take photos while the system prints if you stay in the printer menu.

You can go to the printer setup menu which allows you to select any printer within the list or assign a printer to the 2nd printer port and you can setup the density, intensity, hue and other aspects of the printer you select by hitting F3. Allowing you to adjust if you took the photo wrong or if your printer just prints too something it can be adjusted for.

Hope this explains a little, this machine is perfect for my parents, it is simple, fast and the quality on our Shinko 545 is excellent. Also the ability to take a picture every 1/30 of a second helps catch little brats right when they smile. Unit has a video scanner and Kodak Flashsync RGB color camera.

Cheers
Ryan

Gene2u
November 6th, 2007, 02:57 PM
Hi rmay635703
I have (TGA Conversion Utility) i can save a photo to a 720 disk with my Futura 100 and then i can conver it so i can read it with window XP pro. i read it are print it with windows xp pro
Gene2u

rmay635703
November 6th, 2007, 04:02 PM
I am very curious about this TGA conversion utility, where I can get it and where you came about finding it.

Do you know what type of format and style the futura uses?