Here is the AppleSoft program listing for my hires graphics screen dump program. The graphics print out sideways. It probably only works for the following configuration: * Apple Parallel Interface Card in Slot 1 * Epson-compatible 9-pin printer set to ignore bit 7 If you're typing it in, make sure you leave out all the spaces and use question marks for PRINT commands - there is one free character on the first line and nine on the second. 1 FOR I = 735 TO 767: READ J: POKE I,J: NEXT : INPUT "PAGE(1/2) :";P: INPUT "NORMAL(0),NEGAT IVE(1):";N: INPUT "LEFT(1),R IGHT(2):";J: FOR I = 1 TO 64 :I$ = I$ + CHR$ (0): NEXT : POKE 230,P * 32: POKE 747,N * 255: PRINT CHR$ (4)"PR#1 ": PRINT CHR$ (9)"N": PRINT CHR$ (27)"U1" CHR$ (27)"1": FOR I = 39 TO 0 STEP - 1 2 PRINT SPC( (J - 1) * 40);: POKE 743,I: PRINT CHR$ (27)"K" CHR$ (0) CHR$ (1);: CALL 735: PRINT I$: NEXT I: PRINT CHR$ (27) "2" CHR$ (27)"U0": PRINT CHR$ (4)"PR#0": DATA 169,0,133,25 5,32,17,244,160,0,177,38,73, 0,141,144,192,169,10,32,168, 252,230,255,165,255,201,192, 240,3,76,227,2,96 Here is a listing of the machine code you can see at the end of line 2. It POKEs data directly into the PIC I/O space. I have no idea why the last three instructions weren't "BNE $2E3,RTS". 02DF- A9 00 LDA #$00 ; row count 0..191 02E1- 85 FF STA $FF 02E3- 20 11 F4 JSR $F411 ; position hires cursor 02E6- A0 00 LDY #$00 ; (patched) select X column 02E8- B1 26 LDA ($26),Y ; read from hires buffer 02EA- 49 00 EOR #$00 ; (patched) optionally invert it 02EC- 8D 90 C0 STA $C090 ; send to printer 02EF- A9 0A LDA #$0A ; 398us delay 02F1- 20 A8 FC JSR $FCA8 02F4- E6 FF INC $FF ; next Y row 02F6- A5 FF LDA $FF 02F8- C9 C0 CMP #$C0 ; 192 = finished 02FA- F0 03 BEQ $02FF 02FC- 4C E3 02 JMP $02E3 02FF- 60 RTS Note: $F411 positions the hires cursor, but it also calculates the starting address for the row and puts it in $26 and $27. It doesn't matter what the X coordinate is, only the Y coordinate.