toddtmw Posted May 8, 2020 Share Posted May 8, 2020 Using Print Shop is kind of a pain because of flipping the disks all the time (especially with the add-on disks). Has anyone modified it to run on one "virtual" floppy? (Or at least to have the original The Print Shop sides A and B fit on one side of a single double-density floppy? Thanks! -Todd 2 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted May 8, 2020 Share Posted May 8, 2020 if all the disk signatures were set to the same string... and then all were copied to the same large virtual disk... it probably would work, of if the signature check were removed completely... just some ideas Quote Link to comment Share on other sites More sharing options...
+Stephen Posted May 8, 2020 Share Posted May 8, 2020 Not sure what all protections there are either - the disk will not show a valid directory so it at least has an altered VTOC. Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 8, 2020 Share Posted May 8, 2020 Yeah, I vaguely remember something about a custom directory on Print Shop graphics disks. Back in the late 80s, I wrote a utility to print out "thumbnails" of all of the pics on the disks onto an Epson printer. I *think* all of the pics from a single disk would fit on a single printed page. I remember discovering that there was a certain sequence of graphics that I couldn't print. Some escape code which caused the printer to exit graphics mode. One of the pics would print part way and then start printing characters. Upon more investigation, I found that Print Shop also didn't print that sequence, but instead masked out a bit in the second byte. So I had my tool do the same thing. I sent the program, along with a write-up, to one of the Atari mags (Maybe Antic? Analog? Don't recall which magazine i sent it to) but never heard back from them. Not even a rejection letter. If there is any interest, I can try and see if I can find the tool & source in my boxes of disks. Although I will probably be embarrassed by the code written by my young self. 7 Quote Link to comment Share on other sites More sharing options...
evilmoo Posted May 8, 2020 Share Posted May 8, 2020 6 minutes ago, StickJock said: If there is any interest, I can try and see if I can find the tool & source in my boxes of disks. Although I will probably be embarrassed by the code written by my young self. I say go and get it. Anything that helps reverse engineer it is useful. And if you think it's hideous, you can clean it up now. Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 9, 2020 Share Posted May 9, 2020 Ok. I'll have a look for it this weekend if I find the time. At this point, I don't even recall if it is written in Basic, Mac 65 or both. The article is most likely written in Paperclip, which was my favorite word processor in the late 80s. 2 Quote Link to comment Share on other sites More sharing options...
venom4728a Posted May 9, 2020 Share Posted May 9, 2020 3 hours ago, StickJock said: Ok. I'll have a look for it this weekend if I find the time. At this point, I don't even recall if it is written in Basic, Mac 65 or both. The article is most likely written in Paperclip, which was my favorite word processor in the late 80s. I hope you are able to find and post it. 1 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted May 9, 2020 Share Posted May 9, 2020 19 hours ago, toddtmw said: Using Print Shop is kind of a pain because of flipping the disks all the time (especially with the add-on disks). Has anyone modified it to run on one "virtual" floppy? (Or at least to have the original The Print Shop sides A and B fit on one side of a single double-density floppy? Partially. PrintShop uses essentially a DOS 1 layout, and I have a version here where I extracted all the files from the disk, and put that on a regular Dos 2 layout, removing the custom loaders. However, it requires a Dos with a very low MEMLO (such as Dos 2.++ or Dos 2.XL) to work, and I am not sure what I did about the disk swap, or if. There is, however, a patch in the binary to support my Nec P6 printer with 24 dot graphics. Thus, if you need the disk contents in files, I can provide that, but that alone would not solve your problem. 2 Quote Link to comment Share on other sites More sharing options...
toddtmw Posted May 9, 2020 Author Share Posted May 9, 2020 7 hours ago, thorfdbg said: Partially. PrintShop uses essentially a DOS 1 layout, and I have a version here where I extracted all the files from the disk, and put that on a regular Dos 2 layout, removing the custom loaders. However, it requires a Dos with a very low MEMLO (such as Dos 2.++ or Dos 2.XL) to work, and I am not sure what I did about the disk swap, or if. There is, however, a patch in the binary to support my Nec P6 printer with 24 dot graphics. Thus, if you need the disk contents in files, I can provide that, but that alone would not solve your problem. I'd love to see what you did with that. When you did that, did it work without flipping the disk? Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 9, 2020 Share Posted May 9, 2020 (edited) OK, so amazingly enough I was able to find a listing of the source code (but not the submission letter) on one of my doc disks. It was all written in MAC65 assembly, about 600 lines. How should I post it? As a text file attachment, or should I paste the code into this thread? Edited May 9, 2020 by StickJock 2 Quote Link to comment Share on other sites More sharing options...
evilmoo Posted May 10, 2020 Share Posted May 10, 2020 3 hours ago, StickJock said: How should I post it? As a text file attachment, or should I paste the code into this thread? As an attachment is probably better -- that way it won't clutter the thread if other parts of the post are quoted. Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 Here is the source listing. I called the utility Print Sheet. I wrote this back in 1987, prior to becoming a professional, so please excuse the coding style. I added a few comments to clarify things where control characters or inverse video characters are used. The new comments start with "2020edit". I'll post the listing here in a spoiler (it's 610 lines long) so people can see it without downloading it, as well as the attachment. You should be able to ENTER the attachment into MAC/65 (maybe have to fixup the control characters) and assemble it. btw: I misremembered the fix-up. It was adding a bit, not removing a bit. If the graphic output to the Epson printer had two $0D bytes in a row (remember, these are vertical bitmaps, 1 wide by 8 tall), the second $0D gets changed to a $0F. This just turns on an extra dot in the output in this special case. Spoiler 0100 ; PRINT SHEET 0110 ; BY SCOTT J. SHAW 0120 ; 0130 .OPT NO LIST 0140 *= $3000 0150 JMP START 0160 ; EQUATES 0170 RTCLOKL = $14 0180 PSPZ = $80 0190 PLPZ = $82 0200 SDLSTL = $0230 0210 COLOR0 = $02C4 0220 COLOR1 = $02C5 0230 COLOR2 = $02C6 0240 COLOR3 = $02C7 0250 COLOR4 = $02C8 0260 RUNAD = $02E0 0270 SECTLOC = $0600 0280 DUNIT = $0301 0290 DCOMND = $0302 0300 DBUFLO = $0304 0310 DBUFHI = $0305 0320 DAUX1 = $030A 0330 DAUX2 = $030B 0340 IOCB1 = $0350 0350 COLPF3 = $D019 0360 CONSOL = $D01F 0370 WSYNC = $D40A 0380 DSKINV = $E453 0390 CIOV = $E456 0400 NAMES = $2000 0410 PICLOC = $4000 0420 PICSECT = $2800 0430 DONEYET 0440 .BYTE 0 0450 SECTOR 0460 .BYTE 0,0 0470 DRIVE 0480 .BYTE 1 0490 INDEX20S1 0500 .BYTE $10,$30,$50,$70,$90,$B0,$D0,$F0 0510 INDEX20S0 0520 .BYTE $00,$20,$40,$60,$80,$A0,$C0,$E0 0530 INDEX11 0540 .BYTE 0,11,22,33,44,55,66,77 0550 INDEXNAME 0560 .BYTE $08,$19,$2A,$3C,$4D,$5E,$6F,$80 0570 INDEX78LO 0580 .BYTE $00,$78,$F0,$68,$E0,$58,$D0,$48 0590 INDEX78HI 0600 .BYTE $00,$00,$00,$01,$01,$02,$02,$03 0610 SECNUMLO 0620 .BYTE 0,0,0,0,0,0,0,0 0630 SECNUMHI 0640 .BYTE 0,0,0,0,0,0,0,0 0650 TEMPNAME 0660 .BYTE " " 0670 TEMPA 0680 .BYTE 0 0690 TEMPX2 0700 .BYTE 0 0710 TEMPX3 0720 .BYTE 0 0730 TEMPY1 0740 .BYTE 0 0750 TEMPY2 0760 .BYTE 0 0770 TEMPY3 0780 .BYTE 0 0790 PRADR 0800 .BYTE "P:" 0810 RETADR 0820 .BYTE $9B,$9B,$9B 0830 PRGRSET 0840 .BYTE "A",$08,"L",$C0,$03 ;2020edit "[ESC]A",..,"[ESC]L"... 0850 INTRODL 0860 .BYTE $70,$70,$70,$70,$70,$70,$70,$70,$46 0870 .WORD INTROSCR 0880 .BYTE $30,$02,$70,$70,$70,$02,$06,$06,$70,$70,$70,$02,$41 0890 .WORD INTRODL 0900 INTROSCR 0910 .SBYTE " ðòéîô óèååô " ;2020edit inverse video, lower case "print sheet" 0920 .SBYTE " Designed and written by Scott J. Shaw " 0930 .SBYTE " TM " 0940 .SBYTE " INSERT print shop " 0950 .SBYTE " GRAPHICS DISK " 0960 .SBYTE " READY PRINTER AND PUSH START " 0970 INTRO 0980 .LOCAL 0990 LDA #$00 1000 STA COLOR4 1010 STA COLOR2 1020 LDA #$60 1030 STA COLOR3 1040 LDA #$0F 1050 STA COLOR1 1060 LDA #$70 1070 STA COLOR0 1080 LDX # <INTRODL 1090 LDY # >INTRODL ; TURN ON 1100 STX SDLSTL ; INTRO SCREEN 1110 STY SDLSTL+1 1120 LDA #$08 1130 STA CONSOL 1140 ?WAITSTART 1150 STX WSYNC 1160 INX 1170 INX 1180 STX COLPF3 ; FLASH COLORS 1190 LDA CONSOL ; AND WAIT FOR 1200 CMP #$06 ; START 1210 BNE ?WAITSTART 1220 RTS 1230 LOADDL 1240 .BYTE $70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$46 1250 SCRLINE 1260 .WORD LOADLINE 1270 .BYTE $41 1280 .WORD LOADDL 1290 LOADLINE 1300 .SBYTE " LOADING " 1310 LOAD 1320 .LOCAL 1330 PHA 1340 LDA # <LOADDL 1350 STA SDLSTL 1360 LDA # >LOADDL ; PRINT 1370 STA SDLSTL+1 ; "LOADING" 1380 LDA # <LOADLINE 1390 STA SCRLINE 1400 LDA # >LOADLINE 1410 STA SCRLINE+1 1420 LDA RTCLOKL 1430 ?WAITJIF 1440 CMP RTCLOKL 1450 BEQ ?WAITJIF 1460 PLA 1470 RTS 1480 THINKLINE 1490 .SBYTE " THINKING " 1500 THINK 1510 .LOCAL 1520 PHA 1530 LDA # <THINKLINE ; PRINT 1540 STA SCRLINE ; "THINKING" 1550 LDA # >THINKLINE 1560 STA SCRLINE+1 1570 PLA 1580 RTS 1590 PRINTLINE 1600 .SBYTE " PRINTING " 1610 PRINT 1620 .LOCAL 1630 PHA 1640 LDA # <PRINTLINE ; PRINT 1650 STA SCRLINE ; "PRINTING" 1660 LDA # >PRINTLINE 1670 STA SCRLINE+1 1680 PLA 1690 RTS 1700 PSHEADER 1710 .BYTE "PRINT SHOP:CLK!" 1720 CHKDSK 1730 .LOCAL 1740 LDA DRIVE ; CHECKS FOR A 1750 STA DUNIT ; PRINT SHOP 1760 LDA #$69 ; DISK 1770 STA DAUX1 1780 LDA #$01 1790 STA DAUX2 1800 LDA # <SECTLOC 1810 STA DBUFLO 1820 LDA # >SECTLOC 1830 STA DBUFHI 1840 LDA #$52 1850 STA DCOMND 1860 ?CD1 1870 JSR DSKINV 1880 BMI ?CD1 1890 LDX #$0E 1900 ?CD2 1910 LDA SECTLOC,X 1920 CMP PSHEADER,X 1930 BNE ?NPSD 1940 DEX 1950 BPL ?CD2 1960 LDA #$00 1970 RTS 1980 ?NPSD 1990 LDA #$FF 2000 RTS 2010 INITPS 2020 .LOCAL 2030 LDY #$00 ; CLEARS MEMORY 2040 TYA ; FOR PIC DATA 2050 ?INIT1 2060 STA PICSECT,Y 2070 STA PICSECT+$0100,Y 2080 STA PICSECT+$0200,Y 2090 DEY 2100 BNE ?INIT1 2110 RTS 2120 INIT 2130 .LOCAL 2140 LDY #$00 2150 TYA 2160 ?INIT1 2170 STA SECTLOC,Y 2180 LDA #$20 ; CLEARS MEMORY 2190 STA NAMES,Y ; FOR SECTOR AND 2200 LDA #$00 ; NAMES 2210 DEY 2220 BNE ?INIT1 2230 LDX #$07 2240 ?INIT2 2250 STA SECNUMLO,X ; CLEARS OUT 2260 STA SECNUMHI,X ; SECTOR LIST 2270 DEX 2280 BPL ?INIT2 2290 LDX #$40 2300 LDY #$00 2310 LDA # <PICLOC 2320 STA PSPZ 2330 LDA # >PICLOC 2340 STA PSPZ+1 2350 LDA #$00 2360 ?INIT3 2370 STA (PSPZ),Y 2380 DEY ;CLEARS OUT 2390 BNE ?INIT3 ;GRAPHICS MEMORY 2400 INC PSPZ+1 2410 DEX 2420 BNE ?INIT3 2430 RTS 2440 START 2450 .LOCAL 2460 JSR INTRO ; INTRO SCREEN 2470 JSR CHKDSK ; CHECK PS DISK 2480 CMP #$00 2490 BNE START 2500 STA DONEYET 2510 JSR LOAD ; PRINT LOADING 2520 LDA #1 2530 STA SECTOR+1 2540 LDA #$6A 2550 STA SECTOR 2560 DOIT 2570 JSR INIT ; WIPE MEMORY 2580 LDA SECTOR 2590 STA DAUX1 2600 LDA SECTOR+1 2610 STA DAUX2 2620 LDA # <SECTLOC 2630 STA DBUFLO 2640 LDA # >SECTLOC 2650 STA DBUFHI 2660 LDA DRIVE 2670 STA DUNIT 2680 LDA #$52 2690 STA DCOMND 2700 ?STDI1 2710 JSR DSKINV ; GET PRINT SHOP 2720 BMI ?STDI1 ; DIRECTORY 2730 INC SECTOR ; SECTORS 2740 LDA SECTOR 2750 STA DAUX1 2760 LDA #$80 2770 STA DBUFLO 2780 LDA #$52 2790 STA DCOMND 2800 ?STDI2 2810 JSR DSKINV 2820 BMI ?STDI2 2830 INC SECTOR 2840 GETNAMES 2850 .LOCAL 2860 LDY #$07 2870 ?GN1 2880 LDX INDEX20S0,Y 2890 STY TEMPY1 ; COPY SECTORS 2900 LDY #$00 ; INTO TABLE 2910 ?GN2 2920 LDA SECTLOC,X 2930 CMP #$00 2940 BNE ?GNN0 ; COPY NAMES 2950 LDA #$20 ; INTO TEMP LOC 2960 ?GNN0 2970 STA TEMPNAME,Y 2980 INX 2990 INY 3000 CPY #$10 3010 BNE ?GN2 3020 DEY 3030 ?GN3 3040 LDA TEMPNAME,Y 3050 CMP #$20 ; FIND LENGTH OF 3060 BNE ?GN4 ; NAME 3070 DEY 3080 BPL ?GN3 3090 BMI ?GN5 3100 ?GN4 3110 TYA 3120 INY 3130 STY TEMPY2 3140 LSR A 3150 STA TEMPA 3160 LDY TEMPY1 3170 LDA INDEXNAME,Y 3180 SEC 3190 SBC TEMPA 3200 TAX 3210 LDY #$00 3220 ?GN6 3230 LDA TEMPNAME,Y 3240 STA NAMES,X ; CENTER NAME 3250 INX ; BENEATH PIC 3260 INY 3270 CPY TEMPY2 3280 BNE ?GN6 3290 ?GN5 3300 LDY TEMPY1 3310 DEY 3320 BPL ?GN1 3330 GETSECS 3340 .LOCAL 3350 LDY #$07 3360 ?GS1 3370 LDX INDEX20S1,Y ; SET UP TO 3380 LDA SECTLOC,X ; LOAD PIC 3390 STA SECNUMLO,Y ; DATA 3400 BNE ?GS2 3410 LDA SECTLOC+1,X 3420 BNE ?GS2 3430 STX DONEYET 3440 ?GS2 3450 LDA SECTLOC+1,X 3460 STA SECNUMHI,Y 3470 DEY 3480 BPL ?GS1 3490 LDA DONEYET 3500 CMP #$10 3510 BNE GETPICS 3520 JMP START 3530 GETPICS 3540 .LOCAL 3550 LDX #$00 3560 DNS 3570 JSR LOAD ; PRINT LOADING 3580 STX TEMPX3 3590 JSR INITPS 3600 LDA SECNUMLO,X 3610 STA DAUX1 3620 LDA SECNUMHI,X 3630 STA DAUX2 3640 CMP #$00 3650 BNE ?TIAP 3660 LDY SECNUMLO,X 3670 CPY #$00 3680 BEQ CONVPIC 3690 ?TIAP 3700 LDA # <PICSECT 3710 STA DBUFLO 3720 LDA # >PICSECT 3730 STA DBUFHI 3740 ?GP1 3750 LDA #$52 ; LOAD THE PIC 3760 STA DCOMND ; DATA SECTORS 3770 JSR DSKINV 3780 BMI ?BADPS ; DISK ERROR? 3790 CLC 3800 LDA DBUFLO 3810 STA PSPZ 3820 ADC #$7E 3830 STA DBUFLO 3840 LDA DBUFHI 3850 STA PSPZ+1 3860 ADC #$00 3870 STA DBUFHI 3880 LDY #$7E 3890 LDA (PSPZ),Y 3900 STA DAUX1 ; FIND NEXT SECT 3910 INY ; TO LOAD 3920 LDA (PSPZ),Y 3930 STA DAUX2 3940 BNE ?GP1 3950 LDA DAUX1 3960 BNE ?GP1 3970 ?BADPS 3980 LDA #$00 ; WIPE OUT 3990 LDX #$30 ; "EXTRA" DATA 4000 ?ZE 4010 STA PICSECT+$023C,X 4020 DEX 4030 BPL ?ZE 4040 CONVPIC 4050 .LOCAL 4060 JSR THINK ; PRINT THINKING 4070 LDX TEMPX3 4080 STX $02C6 4090 LDA # <PICSECT 4100 STA PSPZ 4110 LDA # >PICSECT 4120 STA PSPZ+1 4130 LDA INDEX78LO,X 4140 CLC 4150 ADC # <PICLOC 4160 STA PLPZ 4170 LDA INDEX78HI,X 4180 ADC # >PICLOC 4190 STA PLPZ+1 4200 LDX #$06 4210 ?CV3 4220 STX TEMPX2 4230 LDY #$10 4240 STY TEMPY3 4250 LDY #11 4260 ?CV2 4270 STY TEMPY1 4280 LDY #$07 4290 ?CV 4300 STY TEMPY2 4310 LDX #$00 4320 STX TEMPA 4330 ?CV1 4340 LDY INDEX11,X 4350 LDA (PSPZ),Y 4360 ASL A 4370 STA (PSPZ),Y 4380 LDA TEMPA ; CONVERT DATA 4390 ROL A ; TO PRINTER 4400 STA TEMPA ; CODE AND MOVE 4410 INX ; IT TO PRINTER 4420 CPX #$08 ; OUTPUT MEMORY 4430 BNE ?CV1 4440 LDY TEMPY3 4450 STA (PLPZ),Y 4460 INY 4470 STY TEMPY3 4480 LDY TEMPY2 4490 DEY 4500 BPL ?CV 4510 LDY PSPZ 4520 INY 4530 STY PSPZ 4540 BNE ?CV4 4550 INC PSPZ+1 4560 ?CV4 4570 LDY TEMPY1 4580 DEY 4590 BNE ?CV2 4600 LDA PLPZ 4610 CLC 4620 ADC #$C0 4630 STA PLPZ 4640 LDA PLPZ+1 4650 ADC #$03 4660 STA PLPZ+1 4670 LDA PSPZ 4680 CLC 4690 ADC #$4D 4700 STA PSPZ 4710 LDA PSPZ+1 4720 ADC #$00 4730 STA PSPZ+1 4740 LDX TEMPX2 4750 DEX 4760 BPL ?CV3 4770 LDX TEMPX3 4780 INX 4790 CPX #$08 4800 BEQ PRINTPIC 4810 JMP DNS 4820 PRINTPIC 4830 .LOCAL 4840 LDX #$20 4850 LDY #$00 4860 LDA # <PICLOC 4870 STA PSPZ 4880 LDA # >PICLOC 4890 STA PSPZ+1 4900 ?FIXD 4910 LDA (PSPZ),Y ; "FIX" CERTAIN 4920 CMP #$0D ; DATA BYTES 4930 BNE ?ND ; WHICH CAUSE 4940 INY ; PECULIAR 4950 BNE ?NW1 ; PRINTER 4960 INC PSPZ+1 ; BEHAVIOR. 4970 DEX ; ERROR OCCURS 4980 BEQ ?DCD ; WHEN TWO $0D 4990 ?NW1 5000 LDA (PSPZ),Y ;(13) CHRS. ARE 5010 CMP #$0D ; SENT TO THE 5020 BNE ?ND ; PRINTER 5030 LDA #$0F ; CONSECUTIVELY. 5040 STA (PSPZ),Y ; A $20 (32) IS 5050 ?ND 5060 INY ; INSERTED 5070 BNE ?FIXD ; BETWEEN THEM. 5080 INC PSPZ+1 ;PS AND I REMEDY 5090 DEX ;BY CHANGING 2ND 5100 BNE ?FIXD ; $0D TO A $0F 5110 ?DCD 5120 JSR PRINT ; PRINT PRINTING 5130 LDA #$03 5140 STA IOCB1+2 5150 LDA #$08 5160 STA IOCB1+10 5170 LDA # <PRADR 5180 STA IOCB1+4 5190 LDA # >PRADR 5200 STA IOCB1+5 5210 LDA #$02 5220 STA IOCB1+8 5230 LDA #$00 5240 STA IOCB1+9 5250 LDX #$10 ; OPEN CHANNEL 5260 JSR CIOV ; TO PRINTER 5270 LDA #$02 ; PRINT TWO 5280 JSR PRTRET ; RETURNS 5290 LDA # <PICLOC 5300 SEC 5310 SBC #$07 5320 STA PLPZ 5330 LDA # >PICLOC 5340 SBC #$00 5350 STA PLPZ+1 5360 LDY #$06 5370 ?PP 5380 STY TEMPY1 5390 LDA #$01 5400 JSR PRTRET ; PRINT A RETURN 5410 LDA #$0B 5420 STA IOCB1+2 5430 LDY #$06 5440 ?PSGS 5450 LDA PRGRSET,Y 5460 STA (PLPZ),Y 5470 DEY ; SET UP PRINTER 5480 BPL ?PSGS ; CONTROL CODES 5490 LDA PLPZ 5500 STA IOCB1+4 5510 LDA PLPZ+1 5520 STA IOCB1+5 5530 LDA #$C7 5540 STA IOCB1+8 5550 LDA #$03 5560 STA IOCB1+9 5570 LDX #$10 ; PRINT LINE OF 5580 JSR CIOV ; GRAPHICS 5590 LDA #$00 5600 LDY #$06 5610 ?PSCGS 5620 STA (PLPZ),Y 5630 DEY ; REMOVE PRINTER 5640 BPL ?PSCGS ; CONTROL CODES 5650 LDA PLPZ 5660 CLC 5670 ADC #$C0 ; FIND NEXT LINE 5680 STA PLPZ ; OF GRAPHIC 5690 LDA PLPZ+1 ; DATA 5700 ADC #$03 5710 STA PLPZ+1 5720 LDY TEMPY1 ; DONE WITH THAT 5730 DEY ; ROW OF PICS? 5740 BPL ?PP ; NOPE! 5750 LDA #$01 5760 JSR PRTRET ; PRINT RETURN 5770 LDA #$0F 5780 STA NAMES-1 5790 LDA #$9B 5800 STA NAMES+$8A 5810 LDA #$0B 5820 STA IOCB1+2 5830 LDA # <NAMES-1 5840 STA IOCB1+4 5850 LDA # >NAMES-1 5860 STA IOCB1+5 5870 LDA #$8C 5880 STA IOCB1+8 5890 LDA #$00 5900 STA IOCB1+9 5910 LDX #$10 5920 JSR CIOV ; PRINT NAMES 5930 LDA #$0C 5940 STA IOCB1+2 5950 LDX #$10 5960 JSR CIOV ; CLOSE CHANNEL 5970 LDA DONEYET ; FINISHED ALL 5980 BNE ?DONE ; PICS ON DISK? 5990 LDA SECTOR 6000 CMP #$8A 6010 BEQ ?DONE 6020 JMP DOIT 6030 ?DONE 6040 JMP START ; RE-START PROG. 6050 PRTRET 6060 STA IOCB1+8 ; ROUTINE TO 6070 LDA #$00 ; PRINT RETURNS. 6080 STA IOCB1+9 ; NUMBER TO 6090 LDA #$0B ; PRINT WAS HELD 6100 STA IOCB1+2 ; IN ACCUMULATOR 6110 LDA # <RETADR 6120 STA IOCB1+4 6130 LDA # >RETADR 6140 STA IOCB1+5 6150 LDX #$10 6160 JSR CIOV ; PRINT 'EM 6170 RTS 6180 *= RUNAD 6190 .WORD START prtsheet.lst.editted.txt 3 1 Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 And here is the obj. I just ran it. I guess I liked flashy titles. It's got a color strobing title. I didn't even remember writing this thing until this thread popped up. It's been 33 years, after all. Anyway, I don't have a printer hooked up, but I ran it and it will look for a Print Shop graphics disk. If it finds one, it will load it (screen toggles between Loading and Thinking, 8 times, I think once per pic across the sheet) and then I get a long fart as it says Printing. It repeats this for a long time, and then goes back to the main screen so that you can print out another disk. I hope someone finds this useful. If you print out some PS graphics disks, show us a pic of them. I'd like to see what the results were. Enjoy! prtsheet.obj 4 Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 In the listing above, this line: 0840 .BYTE "A",$08,"L",$C0,$03 ;2020edit "[ESC]A",..,"[ESC]L"... There are two characters inside each set of quotes. The ESC character (press ESC twice on the Atari keyboard) followed by the letter shown. So the line would be: 0840 .BYTE "[ESC]A",$08,"[ESC]L",$C0,$03 ;2020edit "[ESC]A",..,"[ESC]L"... On the line: 0910 .SBYTE " ðòéîô óèååô " ;2020edit inverse video, lower case "print sheet" The funky characters in the middle of the string should be the words "print sheet" in Inverse Video, sort of like this: 0910 .SBYTE " print sheet " ;2020edit inverse video, lower case "print sheet" I don't recall from the source if the space was inverse, but it probably doesn't matter. 1 Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted May 10, 2020 Share Posted May 10, 2020 3 hours ago, StickJock said: I'll post the listing here in a spoiler Thanks for posting it. Even more thanks for posting it THIS way. Many long-time power-posters dont's use this feature and clutter their threads with squaremiles of code which are interesting to only a few readers. As many lazy long-time power-quoters do single-line answers with full quotes which are interesting to nobody (the quotes, not the answers ). 3 Quote Link to comment Share on other sites More sharing options...
+skr Posted May 10, 2020 Share Posted May 10, 2020 8 hours ago, StickJock said: I hope someone finds this useful. If you print out some PS graphics disks, show us a pic of them. I'd like to see what the results were. I´ve created a blank DOS 2.5 disk and copied your obj on it. Connected a STAR LC24-10 to it, booted it and inserted one of the PS graphics disks that @venom4728a posted in another thread. This is the result: IMG_2802.MOV 8 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted May 10, 2020 Share Posted May 10, 2020 16 hours ago, toddtmw said: I'd love to see what you did with that. When you did that, did it work without flipping the disk? Just checked, no: It still requires to flip the disk. It neither uses the Dos functions for loading, it seems I rather modified the print shop loader to the 2.0 directory and file structure. Sorry, this probably won't help you much. 1 Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 5 hours ago, skr said: I´ve created a blank DOS 2.5 disk and copied your obj on it. Connected a STAR LC24-10 to it, booted it and inserted one of the PS graphics disks that @venom4728a posted in another thread. This is the result: Cool! Looks good. I wrote this BitD because I had acquired a few Print Shop graphics library disks, but didn't have the reference sheets that came with them. Otherwise, it was difficult to find the pics that you were looking for among the many library disks. If the preservation project doesn't have the reference sheets that came with the various graphics libraries (I am assuming that they came with such sheets?), maybe they can be printed out and added to the archives? 1 Quote Link to comment Share on other sites More sharing options...
+skr Posted May 10, 2020 Share Posted May 10, 2020 18 minutes ago, StickJock said: I wrote this BitD because I had acquired a few Print Shop graphics library disks, but didn't have the reference sheets that came with them. I remember the days, when we had all the stuff but no manuals. I have a few Libraries here, this is how the printed reference looks: Quote If the preservation project doesn't have the reference sheets that came with the various graphics libraries (I am assuming that they came with such sheets?), maybe they can be printed out and added to the archives? I don´t know who exactly would take of this. But it would be easier to use your program and print them with an Emulator to get a nice PDF. I took your program and @venom4728a´s disk 1. Setting the printer in Atari800MacX to Epson FX80 results in this PDF: Miller1.pdf Edit: I just realised, that the names are doing a linebreak in the middle of the sheet. Needs some printer setting adjustment I guess. But you get the idea. 1 Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 (edited) Other than the line break, the PDF looks good. I originally coded this with an Epson RX80, but I doubt that is making a difference. Edited May 10, 2020 by StickJock Quote Link to comment Share on other sites More sharing options...
toddtmw Posted May 10, 2020 Author Share Posted May 10, 2020 @skrNice custom graphic. Did you use that for disk labels? Quote Link to comment Share on other sites More sharing options...
toddtmw Posted May 10, 2020 Author Share Posted May 10, 2020 5 hours ago, thorfdbg said: Just checked, no: It still requires to flip the disk. It neither uses the Dos functions for loading, it seems I rather modified the print shop loader to the 2.0 directory and file structure. Sorry, this probably won't help you much. I think it would be helpful if you were to post it. Perhaps someone smarter than me can patch it to at least work with the original disk so it doesn't need to be flipped. That would be a huge improvement! Thanks, everyone for the amazing responses! Quote Link to comment Share on other sites More sharing options...
venom4728a Posted May 10, 2020 Share Posted May 10, 2020 (edited) I don't have a mac, but that looks awesome! I have read in another thread the pc version of atari800 for windows doesn't have this same print function. I have read in another thread that printing is possible with APE and SIO2PC. I have a Retro-Printer device, but mine has a defect and I will be sending it back to Germany on Monday and a replacement is on the way. The Retro-Printer has a centronics connector, it takes the atari printer output builds a PNG and then converts it to a PDF which then can dump to a network or USB attached printer. I was thinking about printing PDF's for all the graphics disks too. I have done mine the old way so far. printed on a real printer then scanned and converted to pdf. Edited May 10, 2020 by venom4728a Quote Link to comment Share on other sites More sharing options...
StickJock Posted May 10, 2020 Share Posted May 10, 2020 I was just thinking, should the Print Sheet utility that I posted here be posted to another thread or location? Maybe to the Programming forum? It really has nothing to do with this thread topic. It's just that this thread jogged my memory about this tool that I wrote back in '87. Apart from the usefulness of the tool, the source code is useful to show how to interpret a Print Shop graphics library disk. I'm still pretty new here, so I'm not sure what the etiquette is for duplicate posts / spinning posts off into new topics. Quote Link to comment Share on other sites More sharing options...
toddtmw Posted May 10, 2020 Author Share Posted May 10, 2020 1 minute ago, StickJock said: I was just thinking, should the Print Sheet utility that I posted here be posted to another thread or location? Maybe to the Programming forum? It really has nothing to do with this thread topic. It's just that this thread jogged my memory about this tool that I wrote back in '87. Apart from the usefulness of the tool, the source code is useful to show how to interpret a Print Shop graphics library disk. I'm still pretty new here, so I'm not sure what the etiquette is for duplicate posts / spinning posts off into new topics. I think that is not a bad idea. Maybe link back to this post in case anyone wants more information? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.