Claus Graf wrote: > I have finished a new PQIV. The new features of v0.2 are: > - Printing to PostScript files > - Printer Dialog, size and position of image on paper can be adjusted with the mouse > - Rotation of images
Well done. It's a really nice application, I think it deserves a bigger audience. Pity that you didn't find the time to include mode32 support. But don't worry, I spent a few minutes and patched the binary. The SBASIC program below applies the necessary changes. I hope this is in your interest. Instructions ------------ * Get PQIV v0.2 and unpack it somewhere * Load the program below and adjust the paths in the first two lines * Run it * Have fun with PQIV Comments/known issues --------------------- * Patch should be good for both QXL and QPC. But I haven't checked it on the QXL (don't have one). Feedback welcome. * Pictures are by default always loaded in 2:1 aspect ratio. While this is fine for me (I usually use a very similar ratio) most people will want to use the 4:3 aspect ratio option. * Due to the somewhat strange way the program scans directories (it actually hands DOS wildcards to the device driver) the DOS device is not accessible. A future QPC version will increase the compatibility in this respect. * The "scanning drive" function of the file dialog is a problem because QPC usually has much more devices attached than there are on a Q40. As SMSQ/E is limited to 16 devices this scan most likely eats up the limit and e.g. the DEV device becomes inaccessible afterwards (needs at least one free slot). Use the DEL_DEFB SBASIC command to clean up the mess, after that everything should be back to normal. The function also causes problems with the altered DOS device mentioned in the previous point (seems to scan forever). It probably can't cope with the number of files on my PC partitions, but I haven't investigated that further. I suggest to adjust DATA_USE before running the program and to avoid the scan function altogether. * Ironically the program only shows mode33 PIC files correctly, the save function however produces mode32 pictures. Therefore it can't show the files it produces itself. * The move/resize function of the print dialog doesn't seem to work (quits the program). Again I didn't investigate this further. Nonetheless the postscript output seems to be fine. I think that was all so far. Hope this is useful to someone. Cheers, Marcel --- 100 S$ = 'win2_pqiv_pqiv' 110 D$ = 'win2_pqiv_pqiv32' 120 SL = FLEN(\S$) 130 M = ALCHP(SL) 140 LBYTES S$, M 150 RESTORE 160 REPeat 170 READ P 180 IF P = -1 THEN EXIT 190 READ Length 200 FOR Loop = 0 TO Length - 2 STEP 2 210 READ O: READ N 220 IF HEX$(PEEK_W(M + P + Loop),16) <> HEX$(O, 16) THEN 230 PRINT#0,"Sorry, but the patch is not suitable for this source file" 240 RECHP M 250 STOP 260 END IF 270 POKE_W M + P + Loop, N 280 END FOR 290 END REPeat 300 SEXEC D$, M, SL, $932C 310 RECHP M 990 : 10000 DATA $332, $76, $302E, $48A7, $FFD6, $600, $8047, $3C2E 10010 DATA $806E, $FFD6, $FFD2, $3A2E, $C07C, $FFD2, $4, $3007 10020 DATA $E448, $E608, $3D40, $205, $FFCA, $FC, $3007, $206 10030 DATA $E648, $F8, $3E00, $E74D, $302E, $8045, $FFD6, $E058 10040 DATA $E648, $8046, $3D40, $2203, $FFD6, $D281, $302E, $3580 10050 DATA $FFD2, $1800, $E648, $5283, $3D40, $4C97, $FFD2, $60 10060 DATA $3004, $DC6E, $8046, $FFD6, $8045, $E246, $C07C, $DA6E 10070 DATA $4, $FFD2, $E448, $E245, $3D40, $3004, $FFC8, $D047 10080 DATA $3004, $E848, $E648, $205, $3800, $FC, $3006, $206 10090 DATA $E648, $F8, $3C00, $E74D, $3005, $8045, $E648, $E058 10100 DATA $3A00, $8046, $4280, $2203, $302E, $D281, $FFD6, $3580 10110 DATA $ED80, $1800, $4281, $5283, $3207, $4C9F, $D281, $60 10120 DATA $8081, $3004, $4281, $E608, $322E, $205, $FFD2, $FC 10130 DATA $740B, $206, $E5A1, $F8, $8081, $E74D, $4281, $8045 10140 DATA $322E, $E058, $FFCA, $8046, $8081, $6000, $2203, $80 10150 DATA $528, $14, $3800, $E608, $8046, $205, $8045, $FC 10160 DATA $C07C, $206, $4, $F8, $E448, $E74D, $3D40, $8045 10170 DATA $FFCA, $E058, $3004, $8046, $E648, $602E, $670, $14 10180 DATA $3600, $E608, $8045, $204, $8044, $FC, $C07C, $205 10190 DATA $4, $F8, $E448, $E74C, $3D40, $8044, $FFDC, $E058 10200 DATA $3003, $8045, $E648, $602E, $87A, $38, $3004, $E608 10210 DATA $8046, $205, $8045, $FC, $C07C, $206, $4, $F8 10220 DATA $E448, $E74D, $3D40, $8045, $FFA8, $E058, $3004, $8046 10230 DATA $E648, $222E, $3800, $FFCC, $3006, $D281, $E648, $2041 10240 DATA $3C00, $D1EE, $3005, $FFA0, $E648, $3080, $3A00, $52AE 10250 DATA $302E, $FFCC, $FFAC, $3C2E, $806E, $FFB8, $FFB8, $DC6E 10260 DATA $806E, $FFB6, $FFB2, $E24E, $C07C, $3A2E, $4, $FFB2 10270 DATA $E448, $DA6E, $3D40, $FFB0, $FFA6, $E24D, $8B6, $1A 10280 DATA $E648, $D06E, $3D40, $FFAA, $FFAC, $E848, $302E, $205 10290 DATA $FFB8, $FC, $E648, $206, $3D40, $F8, $FFB8, $E74D 10300 DATA $302E, $8045, $FFB2, $E058, $E648, $8046, $3D40, $6000 10310 DATA $FFB2, $BC, $A92, $14, $3800, $E608, $8046, $205 10320 DATA $8045, $FC, $C07C, $206, $4, $F8, $E448, $E74D 10330 DATA $3D40, $8045, $FFA8, $E058, $3004, $8046, $E648, $602E 10340 DATA $BC4, $2, $21, $20, $C40, $2, $6708, $6008 10350 DATA -1
