Jump to content
IGNORED

The Print Shop Single Disk


toddtmw

Recommended Posts

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

  • Like 2
Link to comment
Share on other sites

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. 

 

  • Like 7
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

  • Like 2
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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 by StickJock
  • Like 2
Link to comment
Share on other sites

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

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

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

  • Like 4
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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 ;) ).

  • Like 3
Link to comment
Share on other sites

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:

psprint.thumb.jpg.f0ac3881be0381501370ac84ebe503b6.jpg

  • Like 8
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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?

 

  • Like 1
Link to comment
Share on other sites

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: 

 

graphlib.thumb.jpeg.ef74de11e66d41401825de52e2cd84f9.jpeg

 

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.

  • Like 1
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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 by venom4728a
Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...