[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Updating KEGS, have some questions



On 3/10/2010 10:29 PM, Michael J. Mahon wrote:
Christopher G. Mason wrote:
Hello all,

I have been hacking away at the last release of KEGS 0.91, namely the
KEGS32 port that used to be hosted over at geocities. So far I have
added full Uthernet support via WinPCap (using the latest tfe code
from VICE), parallel card support, and virtual color printer support
(Epson LQ based, from an unofficial CVS build of the DOSBOX project).
Anyway I had a few questions.

1. For the parallel card emulation, I implemented a very basic
interface in virtual Slot 1 utilizing the firmware from the Apple II
Parallel Card. How do these cards work officially? Right now I am
sending all data being written to $C090 to the virtual printer. It
seems to work ok but I am noticing apps are writing the same data to
other addresses (ex: $C092), is there any particular reason for this
behavior? For printer status info, I am following AppleWin's approach
and just returning 0xFF ("Ready") anytime an app reads $C090-C09F.
What is the "official" address used to query printer status, and what
are the hex values for the various states? (ex: off line, out of
paper, etc.)

2. I would like to implement ImageWriter II emulation, but I am
running into issues with GS/OS. Its Imagewriter driver queries the
printer using ESC-? to determine if there is a color ribbon installed
and assumes B&W only printing if it receives no response. Even though
it isn't possible in real life, I would like to route data via the
parallel interface because it "prints" ALOT faster, KEGS' SCC
emulation is timing accurate and 57600 baud is 57600 baud. The problem
is parallel data transfer is one way and one can't return the query
string the driver is looking for. Is there a patched driver around one
can use to force color printing? Otherwise I will have to resort to
using the emulated serial interface.

How about always returning either "color capable" or "black and white"
based on a user option?


The GS/OS Imagewriter driver already has a combo box to toggle between B&W and Color. The issue is the color option is greyed out unless the driver receives a reply from the printer after issuing it the ESC-? command. This article goes into detail what actually happens: <http://home.datacodsl.com/~kalandi/apple/AUG/1992/04%20APR/PRINT.GSOS.html> Worst comes to worst I'll just have to "connect" the printer to a serial port. The SCC code in KEGS needs an overhaul anyway, the configuration right now isn't very flexible.

That would enable many older //e programs to use MIDI as well.

The clock rate and character frame of the UART must be changed to match
MIDI. Other than that, it's an electrical conversion problem.


I kinda figured that. MIDI via serial port emulation is pretty straight forward then, basically redirect the MIDI I/O to the host system's MIDI subsystem. VICE also has Passport (6850 based) MIDI emulation that I could implement as well, the advantage being all Apple II software (including GS/OS) could use it. The hardest part (as usual) is going to be targeting the various host systems. I'll add it to the list, I think it would be cool to control a modern wavetable synth using Music Studio, or using Cakewalk or Cubase to control the emulated IIgs 5503DOC. I do have other things I would like to add to KEGS first though.... like a real configuration GUI.