![]() Munger said he gives himself a pass for not predicting Inc.’s ascent, since Jeff Bezos is a “miracle worker.” But he decreed that not buying shares of Google was a big mistake. may atone for missing out on other technology giants, Vice Chairman Charlie Munger said. + c = GetPravets().(Bloomberg) - Berkshire Hathaway Inc.’s profits earned betting on Apple Inc. c = GetPravets().ConvertToPrinterChar(value) +static BYTE _stdcall PrintTransmit(WORD, WORD address, BYTE, BYTE value, ULONG) static BYTE _stdcall PrintTransmit(WORD, WORD, BYTE, BYTE value, ULONG) +++ -142,21 +142,25 static BYTE _stdcall PrintStatus(WORD, WORD, BYTE, BYTE, ULONG) Sorry it's a wall of text, but does all that make sense? If that doesn't make sense in AppleWin I can also just make the changes downstream instead.ĭiff -git a/source/ParallelPrinter.cpp b/source/ParallelPrinter.cpp Text and BMP files older than some (configurable?) interval (say, 30 days by default) can be deleted, but that doesn't have to be implemented in the printer code at all.This would break printouts that mix text and graphics, but the alternative would be to rasterize the text as well, or adopting a rich text format to do both. ![]() Graphics commands/data are stripped from the text file, and instead a BMP file is created for each page (separated by the Form Feed character). ![]() We start a new text file every time the emulation is rebooted, as if you turn the printer off and on along with the emulated computer.The smaller question is the behavior of the "paper." I'm thinking: A proper split would also allow other printers to be emulated later. Using that as API just seems hopelessly brittle. But this would be a far more substantial refactoring of ParallelPrinter.cpp so I'd like to know if that makes sense to you and the other maintainers, but it just seems tedious to me if the printer emulation has to go through the disk file that ParallelPrinter.cpp saves and can unexpectedly wipe after some period of inactivity. In my mind, ParallelPrinter.cpp should basically emulate the PIC but not the printer, and instead of writing its output to a file, it should send it to a new MX80.cpp which might save it to text files or BMP files. I'd like to implement the graphics printing support for maybe a MX-80, but I want to put the code in the right place. So the bug here is that PrintTransmit() does not correctly handle writes to $C092 and thinks it's another data byte being sent to the printer. It then reads $C094 (acknowledge) and is presumably happy with the hardcoded $FF it gets back from PrintStatus() because it keeps going. In this case, it writes $0D to $C090 (output port), then the same value to $C092 (strobe), which I believe is a signal to the printer to pick up the value latched at $C090 (and the value being written might not be relevant so $0D might just be a stray value in the accumulator). Once I'm done with the row (i.e., received a LF) I just printed out the bits in XBM format and got it converted to PNG on some website. So basically I have a buffer of 7 rows of pixels, and the 7 meaningful bits of each byte from the printer is distributed to the 7 rows, one bit at a time. ![]() Within the data bytes, the print head is 9 pins arranged vertically (so it can print a line of text in one pass) but I think the Apple parallel card can only address 7 of those pins, so the MSB of the byte is unused. Then, with 'A' command to set the line height (how much LF moves the paper vertically) so that there won't be a gap in between passes. I can then tell The Print Shop that we have an "Epson MX-, FX-, RX- (80 or 100)" printer and it would print in AppleWin to Printer.txt. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |