home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d09xx
/
d0945.lha
/
PrtSc
/
Source
/
PrtSc.s
next >
Wrap
Text File
|
1993-12-20
|
21KB
|
983 lines
;
; PrintScreen V1.52 Wednesday, 13-Oct-1993
;
; (c) 1993 by Jan Hagqvist
;
; Utilizies the PrtSc-key and makes it to
; create a graphics dump to the printer
XREF _LVOOpenLibrary
XREF _LVOCloseLibrary
XREF _LVOOpenDevice
XREF _LVOCloseDevice
XREF _LVODisplayAlert
XREF _LVOCreateMsgPort
XREF _LVODeleteMsgPort
XREF _LVOCreateIORequest
XREF _LVODeleteIORequest
XREF _LVOGetVPModeID
XREF _LVODoIO
XREF _LVODelay
XREF _LVOOpenWindow
XREF _LVOCloseWindow
XREF _LVOWaitPort
XREF _LVOGetMsg
XREF _LVOReplyMsg
XREF _LVOOpen
XREF _LVOClose
XREF _LVOWrite
XREF _LVORead
XREF _LVOWait
XREF _LVOAllocSignal
XREF _LVOFreeSignal
XREF _LVOFindTask
XREF _LVOSignal
JAM1 equ 0
WBENCHSCREEN equ 1
PRD_PRTCOMMAND equ $a
io_Device equ 20
io_Unit equ 24
io_Command equ 28
io_PrtCommand equ 32
io_Parm0 equ 34
io_Data equ 40
is_Pri equ 9
is_Name equ 10
is_Data equ 14
is_Code equ 18
ie_Class equ 4
ie_Code equ 6
ie_Qualifier equ 8
IND_ADDHANDLER equ 9
IND_REMHANDLER equ 10
IECLASS_NULL equ 0
IECLASS_RAWKEY equ 1
IEQUALIFIER_LSHIFT equ 0
IEQUALIFIER_RSHIFT equ 1
IEQUALIFIER_LALT equ 4
IEQUALIFIER_RALT equ 5
pr_MsgPort equ 92
pr_CLI equ 172
GFLG_GADGHIMAGE equ $0002
GFLG_GADGIMAGE equ $0004
GFLG_SELECTED equ $0080
GACT_RELVERIFY equ $0001
GACT_TOGGLESELECT equ $0100
GTYP_BOOLGADGET equ $0001
IDCMP_GADGETUP equ $00000040
IDCMP_CLOSEWINDOW equ $00000200
WFLG_DRAGBAR equ $00000002
WFLG_DEPTHGADGET equ $00000004
WFLG_CLOSEGADGET equ $00000008
WFLG_SIMPLE_REFRESH equ $00000040
WFLG_ACTIVATE equ $00001000
WFLG_RMBTRAP equ $00010000
WFLG_NOCAREREFRESH equ $00020000
PrtSc
move.l 4,a6
sub.l a1,a1
jsr _LVOFindTask(a6)
move.l d0,MyTask
move.l d0,a4
tst.l pr_CLI(a4)
bne.s NoWorkbench
lea pr_MsgPort(a4),a0
jsr _LVOWaitPort(a6) ; Wait for message
lea pr_MsgPort(a4),a0
jsr _LVOGetMsg(a6) ; Get it
move.l d0,WorkbenchMsg ; Store it
NoWorkbench
moveq.l #0,d0
lea IntuitionName(pc),a1
jsr _LVOOpenLibrary(a6)
move.l d0,IntuitionBase
tst.l d0
beq Quit
moveq.l #36,d0
lea GfxName(pc),a1
jsr _LVOOpenLibrary(a6)
move.l d0,GfxBase
tst.l d0
beq NoGfx36
moveq.l #0,d0
lea DosName(pc),a1
jsr _LVOOpenLibrary(a6)
move.l d0,DosBase
tst.l d0
beq NoDos
jsr _LVOCreateMsgPort(a6)
move.l d0,MsgPort
tst.l d0
beq NoMsgPort
move.l d0,a0
moveq.l #62,d0
jsr _LVOCreateIORequest(a6) ; IODRPReq
move.l d0,Request
tst.l d0
beq NoRequest
move.l MsgPort(pc),a0
moveq.l #38,d0
jsr _LVOCreateIORequest(a6) ; IOPrtCmdReq
move.l d0,Request3
tst.l d0
beq NoRequest
jsr _LVOCreateMsgPort(a6)
move.l d0,MsgPort2
tst.l d0
beq NoMsgPort
move.l d0,a0
moveq.l #48,d0
jsr _LVOCreateIORequest(a6) ; IOStdReq
move.l d0,Request2
tst.l d0
beq NoRequest
lea InputName(pc),a0
move.l Request2(pc),a1
moveq.l #0,d0 ; unit 0
moveq.l #0,d1
jsr _LVOOpenDevice(a6)
tst.l d0
bne Quit
move.l 4,a6
moveq.l #-1,d0
jsr _LVOAllocSignal(a6)
move.l d0,PrintSignal
cmp.b #-1,d0
beq NoSignal
moveq.l #-1,d0
jsr _LVOAllocSignal(a6)
move.l d0,WindowSignal
cmp.b #-1,d0
beq NoSignal
bsr LoadConfig ; Load the configuration!
lea Interrupt,a0
move.l #MyHandler,is_Code(a0)
move.l #0,is_Data(a0)
move.b #100,is_Pri(a0)
move.l #MyHandlerName,is_Name(a0)
move.l 4,a6
move.l Request2(pc),a1
move.l #Interrupt,io_Data(a1)
move.w #IND_ADDHANDLER,io_Command(a1)
jsr _LVODoIO(a6)
moveq.l #0,d0
move.l PrintSignal(pc),d1
bset d1,d0
move.l WindowSignal(pc),d1
bset d1,d0
move.l d0,SignalMask
clr.b QuitFlag
GetKey
tst.b QuitFlag
bne.s GetKey4
move.l 4,a6
move.l SignalMask(pc),d0
jsr _LVOWait(a6)
move.l d0,d7
move.l PrintSignal(pc),d1
btst d1,d7
bne.s GetKey2
move.l WindowSignal(pc),d1
btst d1,d7
bne.s GetKey3
bra.s GetKey
GetKey2
bsr DoTheDump ; Shift+PrtSc pressed
bra.s GetKey
GetKey3
bsr GetFlags ; Alt+PrtSc pressed
bra.s GetKey
GetKey4
RemoveHandler
move.l 4,a6
move.l Request2(pc),a1
move.l #Interrupt,io_Data(a1)
move.w #IND_REMHANDLER,io_Command(a1)
jsr _LVODoIO(a6)
Quit ; Ctrl+Esc pressed, exit program
move.l 4,a6
cmp.l #-1,PrintSignal
beq.s Quit11
move.l PrintSignal(pc),d0
jsr _LVOFreeSignal(a6)
Quit11
cmp.l #-1,WindowSignal
beq.s Quit10
move.l WindowSignal(pc),d0
jsr _LVOFreeSignal(a6)
Quit10
tst.l DosBase
beq.s Quit9
move.l DosBase(pc),a1
jsr _LVOCloseLibrary(a6)
Quit9
tst.l Request2
beq.s Quit8
move.l Request2(pc),a1
jsr _LVOCloseDevice(a6)
move.l Request2(pc),a0
jsr _LVODeleteIORequest(a6)
Quit8
tst.l Request3
beq.s Quit7
move.l Request3(pc),a0
jsr _LVODeleteIORequest(a6)
Quit7
tst.l MsgPort2
beq.s Quit6
move.l MsgPort2(pc),a0
jsr _LVODeleteMsgPort(a6)
Quit6
tst.l Request
beq.s Quit5
move.l Request(pc),a0
jsr _LVODeleteIORequest(a6)
Quit5
tst.l MsgPort
beq.s Quit4
move.l MsgPort(pc),a0
jsr _LVODeleteMsgPort(a6)
Quit4
tst.l GfxBase
beq.s Quit3
move.l GfxBase(pc),a1
jsr _LVOCloseLibrary(a6)
Quit3
tst.l IntuitionBase
beq.s Quit2
move.l IntuitionBase(pc),a1
jsr _LVOCloseLibrary(a6)
Quit2
tst.l WorkbenchMsg
bne.s WBQuit ; We were started from WB
moveq.l #0,d0
rts ; Exit to CLI
WBQuit
move.l 4,a6
move.l WorkbenchMsg(pc),a1
jsr _LVOReplyMsg(a6)
moveq.l #0,d0
rts ; Exit to WB
DoTheDump
move.l 4,a6
lea PrinterName(pc),a0
move.l Request(pc),a1
moveq.l #0,d0 ; unit 0
moveq.l #0,d1
jsr _LVOOpenDevice(a6)
tst.l d0
bne DoTheDump3
move.l Request(pc),a0
move.l Request3(pc),a1
move.l io_Device(a0),io_Device(a1) ; Copy device to Request3
move.l io_Unit(a0),io_Unit(a1) ; Copy unit to Request3
tst.b ResetBeforeFlag
beq.s DoTheDump1.1
bsr ResetIt
DoTheDump1.1
move.l IntuitionBase(pc),a5
move.l 56(a5),a4 ; ActiveScreen
tst.b ActiveScreenFlag
beq.s DoTheDump1.15
move.l 60(a5),a4 ; FirstScreen
DoTheDump1.15
move.l a4,ActiveScreen
add.l #44,a4
move.l a4,ActiveVPort
add.l #40,a4
move.l a4,ActiveRPort
move.l GfxBase(pc),a6
move.l ActiveVPort(pc),a0
jsr _LVOGetVPModeID(a6)
move.l Request(pc),a5
move.l d0,40(a5) ; io_Modes
move.l ActiveRPort(pc),32(a5) ; io_RastPort
move.l ActiveScreen(pc),a4
move.w 8(a4),44(a5) ; io_ScrX
move.w 10(a4),46(a5) ; io_ScrY
move.w 12(a4),48(a5) ; io_ScrWidth
move.w 12(a4),d0
swap d0
move.l d0,52(a5) ; io_DestCols
move.w 14(a4),50(a5) ; io_ScrHeight
move.w 14(a4),d0
swap d0
move.l d0,56(a5) ; io_DestRows
move.l ActiveVPort(pc),a4
move.l 4(a4),36(a5) ; io_ColorMap
move.w SpecialFlags,60(a5) ; io_Special = ASPECT+NOFORMFEED
move.w #$b,io_Command(a5) ; io_Command = PRD_DUMPRPORT
move.l 4,a6
move.l a5,a1
jsr _LVODoIO(a6) ; Dump it!
tst.b ResetAfterFlag
beq.s DoTheDump1.2
bsr ResetIt
DoTheDump1.2
move.l Request(pc),a1
jsr _LVOCloseDevice(a6)
DoTheDump2
rts
DoTheDump3
lea NoPrinterText(pc),a0
bsr.s ShowAlert
bra.s DoTheDump2
NoDos
lea NoDosText(pc),a0
bra.s OpenAlert
NoRequest
lea NoRequestText(pc),a0
bra.s OpenAlert
NoMsgPort
lea NoMsgPortText(pc),a0
bra.s OpenAlert
NoGfx36
lea NoGfx36Text(pc),a0
bra.s OpenAlert
NoSignal
lea NoSignalText(pc),a0
bra.s OpenAlert
nop
OpenAlert
move.l IntuitionBase(pc),a6
moveq.l #0,d0
moveq.l #24,d1
jsr _LVODisplayAlert(a6)
bra Quit
ShowAlert
move.l IntuitionBase(pc),a6
moveq.l #0,d0
moveq.l #24,d1
jsr _LVODisplayAlert(a6)
rts
NoWindow
lea NoWindowText(pc),a0
bsr.s ShowAlert
move.b #1,QuitFlag
rts
GetFlags
move.l IntuitionBase(pc),a6
lea NewWindow(pc),a0
jsr _LVOOpenWindow(a6)
move.l d0,MyWindow
tst.l d0
beq.s NoWindow
move.l d0,a0
move.l 86(a0),MyUserPort
WaitForMessage
tst.b QuitFlag
bne GetFlags2
move.l 4,a6
move.l MyUserPort(pc),a0
jsr _LVOWaitPort(a6)
WaitForMessage2
move.l 4,a6
move.l MyUserPort(pc),a0
jsr _LVOGetMsg(a6)
tst.l d0
beq.s WaitForMessage
move.l d0,a1
move.l 20(a1),Class
move.w 24(a1),Code
move.w 26(a1),Qualifier
move.l 28(a1),IAddress
jsr _LVOReplyMsg(a6)
cmp.l #IDCMP_CLOSEWINDOW,Class
bne.s WaitForMessage3
bra.s GetFlags2
WaitForMessage3
cmp.l #IDCMP_GADGETUP,Class
bne.s WaitForMessage4
move.l IAddress(pc),a0
tst.l 40(a0)
beq.s WaitForMessage4
move.l IntuitionBase(pc),a6
move.l 40(a0),a0
jsr (a0)
WaitForMessage4
bra WaitForMessage2
GetFlags2
move.l IntuitionBase(pc),a6
move.l MyWindow(pc),a0
jsr _LVOCloseWindow(a6)
rts
SetQuitFlag
move.b #1,QuitFlag
rts
SaveConfig
move.l DosBase(pc),a6
move.l #ConfigFile,d1
move.l #1006,d2
jsr _LVOOpen(a6)
move.l d0,d7
tst.l d0
beq.s SaveConfig2
move.l d7,d1
move.l #SpecialFlags,d2
moveq.l #5,d3
jsr _LVOWrite(a6)
move.l d7,d1
jsr _LVOClose(a6)
SaveConfig2
rts
LoadConfig
move.l DosBase(pc),a6
move.l #ConfigFile,d1
move.l #1005,d2
jsr _LVOOpen(a6)
move.l d0,d7
tst.l d0
beq.s LoadConfig2
move.l d7,d1
move.l #SpecialFlags,d2
moveq.l #5,d3
jsr _LVORead(a6)
bsr CheckGadgets
move.l d7,d1
jsr _LVOClose(a6)
LoadConfig2
rts
CheckGadgets
tst.b ResetBeforeFlag
beq.s CheckGadgets2
or.w #GFLG_SELECTED,ResetBeforeGadgetFlags
CheckGadgets2
tst.b ResetAfterFlag
beq.s CheckGadgets3
or.w #GFLG_SELECTED,ResetAfterGadgetFlags
CheckGadgets3
tst.b ActiveScreenFlag
beq.s CheckGadgets4
or.w #GFLG_SELECTED,ScreenGadgetFlags
CheckGadgets4
move.w SpecialFlags(pc),d1
move.w d1,d0
and.w #$0080,d0
beq.s CheckGadgets5
or.w #GFLG_SELECTED,AspectGadgetFlags
CheckGadgets5
move.w d1,d0
and.w #$0040,d0
beq.s CheckGadgets6
or.w #GFLG_SELECTED,CenterGadgetFlags
CheckGadgets6
move.w d1,d0
and.w #$0800,d0
beq.s CheckGadgets7
or.w #GFLG_SELECTED,NoFormfeedGadgetFlags
CheckGadgets7
move.w d1,d0
and.w #$0004,d0
beq.s CheckGadgets8
or.w #GFLG_SELECTED,FullColsGadgetFlags
CheckGadgets8
move.w d1,d0
and.w #$0008,d0
beq.s CheckGadgets9
or.w #GFLG_SELECTED,FullRowsGadgetFlags
CheckGadgets9
rts
ResetBefore
bchg #0,ResetBeforeFlag
rts
ResetAfter
bchg #0,ResetAfterFlag
rts
SetScreenFlag
bchg #0,ActiveScreenFlag
rts
SetAspectFlag
bchg #7,SpecialFlags2
rts
SetCenterFlag
bchg #6,SpecialFlags2
rts
SetNoFormfeedFlag
bchg #3,SpecialFlags
rts
SetFullColsFlag
bchg #2,SpecialFlags2
rts
SetFullRowsFlag
bchg #3,SpecialFlags2
rts
ResetIt ; Reset the printer
move.l Request3(pc),a1
move.w #PRD_PRTCOMMAND,io_Command(a1)
move.w #0,io_PrtCommand(a1)
move.l #0,io_Parm0(a1)
jsr _LVODoIO(a6)
rts
MyHandler ; The handler itself
move.l a0,-(sp) ; Store event list
CheckLoop
cmp.b #IECLASS_RAWKEY,ie_Class(a0) ; Is this a key event?
bne.s CheckNext ; No, get the next event
cmp.w #$5d,ie_Code(a0) ; NumPad '*' pressed?
bne.s CheckNext ; No, get the next event
move.w ie_Qualifier(a0),d0 ; Get the qualifiers
btst #IEQUALIFIER_LSHIFT,d0 ; Left Shift?
bne.s SendPrintSignal ; Yes
btst #IEQUALIFIER_RSHIFT,d0 ; Right Shift?
bne.s SendPrintSignal ; Yes
btst #IEQUALIFIER_LALT,d0 ; Left Alt?
bne.s SendWindowSignal ; Yes
btst #IEQUALIFIER_RALT,d0 ; Right Alt?
bne.s SendWindowSignal ; Yes
bra.s CheckNext
EatIt
move.b #IECLASS_NULL,ie_Class(a0) ; Nobody knows anything about any key event...
CheckNext
move.l (a0),d0 ; Get next event
move.l d0,a0 ; Into a0
bne.s CheckLoop ; If there is a next one, check it
move.l (sp)+,d0 ; Restore event list
rts
SendPrintSignal
movem.l d0-d1/a0-a1/a6,-(sp)
move.l 4,a6
moveq.l #0,d0
move.l PrintSignal(pc),d1
bset d1,d0
move.l MyTask(pc),a1
jsr _LVOSignal(a6)
movem.l (sp)+,d0-d1/a0-a1/a6
bra.s EatIt
SendWindowSignal
movem.l d0-d1/a0-a1/a6,-(sp)
move.l 4,a6
moveq.l #0,d0
move.l WindowSignal(pc),d1
bset d1,d0
move.l MyTask(pc),a1
jsr _LVOSignal(a6)
movem.l (sp)+,d0-d1/a0-a1/a6
bra.s EatIt
IntuitionBase dc.l 0
GfxBase dc.l 0
DosBase dc.l 0
MsgPort dc.l 0
Request dc.l 0
Request3 dc.l 0
ActiveScreen dc.l 0
ActiveVPort dc.l 0
ActiveRPort dc.l 0
MsgPort2 dc.l 0
Request2 dc.l 0
MyWindow dc.l 0
MyUserPort dc.l 0
PrintSignal dc.l 0
WindowSignal dc.l 0
SignalMask dc.l 0
MyTask dc.l 0
WorkbenchMsg dc.l 0
Class dc.l 0
IAddress dc.l 0
Code dc.w 0
Qualifier dc.w 0
NewWindow
dc.w 160,40,320,120
dc.b 1,2
dc.l IDCMP_GADGETUP!IDCMP_CLOSEWINDOW
dc.l WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_ACTIVATE!WFLG_RMBTRAP!WFLG_NOCAREREFRESH!WFLG_SIMPLE_REFRESH
dc.l QuitGadget,0,WindowTitle,0,0
dc.w 320,120,320,120,WBENCHSCREEN
QuitGadget
dc.l SaveFlagsGadget
dc.w 170,95,130,16,GFLG_GADGHIMAGE,GACT_RELVERIFY,GTYP_BOOLGADGET
dc.l QuitBorder,QuitBorder3,QuitIText,0,0
dc.w 0
dc.l SetQuitFlag
QuitIText
dc.b 1,2,JAM1,0
dc.w 25,5
dc.l Font0,QuitText,0
QuitBorder
dc.w 0,0
dc.b 2,3,JAM1,3
dc.l QuitVectors,QuitBorder2
QuitBorder2
dc.w 0,0
dc.b 1,2,JAM1,3
dc.l QuitVectors2,0
QuitBorder3
dc.w 0,0
dc.b 2,3,JAM1,3
dc.l QuitVectors2,QuitBorder4
QuitBorder4
dc.w 0,0
dc.b 1,2,JAM1,3
dc.l QuitVectors,0
QuitVectors
dc.w 0,16,0,0,130,0
QuitVectors2
dc.w 0,16,130,16,130,0
SaveFlagsGadget
dc.l ResetBeforeGadget
dc.w 20,95,130,16,GFLG_GADGHIMAGE,GACT_RELVERIFY,GTYP_BOOLGADGET
dc.l QuitBorder,QuitBorder3,SaveFlagsIText,0,0
dc.w 0
dc.l SaveConfig
SaveFlagsIText
dc.b 1,2,JAM1,0
dc.w 21,5
dc.l Font0,SaveFlagsText,0
ResetBeforeGadget
dc.l ResetAfterGadget
dc.w 138,20,16,10
ResetBeforeGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,ResetBeforeIText,0,0
dc.w 0
dc.l ResetBefore
ResetBeforeIText
dc.b 1,2,JAM1,0
dc.w -104,1
dc.l Font0,ResetBeforeText,0
CheckBoxImage
dc.w 0,0,16,10,2
dc.l CheckBoxImageData
dc.b 3,0
dc.l 0
CheckBoxImage2
dc.w 0,0,16,10,2
dc.l CheckBoxImageData2
dc.b 3,0
dc.l 0
ResetAfterGadget
dc.l ScreenGadget
dc.w 204,20,16,10
ResetAfterGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,ResetAfterIText,0,0
dc.w 0
dc.l ResetAfter
ResetAfterIText
dc.b 1,2,JAM1,0
dc.w -44,1
dc.l Font0,ResetAfterText,0
ScreenGadget
dc.l AspectGadget
dc.w 204,40,16,9
ScreenGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l ArrowsImage,ArrowsImage2,ScreenIText,0,0
dc.w 0
dc.l SetScreenFlag
ScreenIText
dc.b 1,2,JAM1,0
dc.w -100,1
dc.l Font0,ScreenText,0
ArrowsImage
dc.w 0,0,16,9,2
dc.l ArrowsImageData
dc.b 3,0
dc.l 0
ArrowsImage2
dc.w 0,0,16,9,2
dc.l ArrowsImageData2
dc.b 3,0
dc.l 0
AspectGadget
dc.l CenterGadget
dc.w 20,40,16,10
AspectGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,AspectIText,0,0
dc.w 0
dc.l SetAspectFlag
AspectIText
dc.b 1,2,JAM1,0
dc.w 20,1
dc.l Font0,AspectText,0
CenterGadget
dc.l NoFormfeedGadget
dc.w 20,58,16,10
CenterGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,CenterIText,0,0
dc.w 0
dc.l SetCenterFlag
CenterIText
dc.b 1,2,JAM1,0
dc.w 20,1
dc.l Font0,CenterText,0
NoFormfeedGadget
dc.l FullColsGadget
dc.w 184,58,16,10
NoFormfeedGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,NoFormfeedIText,0,0
dc.w 0
dc.l SetNoFormfeedFlag
NoFormfeedIText
dc.b 1,2,JAM1,0
dc.w 20,1
dc.l Font0,NoFormfeedText,0
FullColsGadget
dc.l FullRowsGadget
dc.w 20,76,16,10
FullColsGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,FullColsIText,0,0
dc.w 0
dc.l SetFullColsFlag
FullColsIText
dc.b 1,2,JAM1,0
dc.w 20,1
dc.l Font0,FullColsText,0
FullRowsGadget
dc.l 0
dc.w 184,76,16,10
FullRowsGadgetFlags
dc.w GFLG_GADGHIMAGE!GFLG_GADGIMAGE,GACT_RELVERIFY!GACT_TOGGLESELECT,GTYP_BOOLGADGET
dc.l CheckBoxImage,CheckBoxImage2,FullRowsIText,0,0
dc.w 0
dc.l SetFullRowsFlag
FullRowsIText
dc.b 1,2,JAM1,0
dc.w 20,1
dc.l Font0,FullRowsText,0
Font0
dc.l Font0Name
dc.w 8
dc.b 0,1
SpecialFlags dc.b 0 ; 1
SpecialFlags2 dc.b 0 ; 2
ResetBeforeFlag dc.b 0 ; 3
ResetAfterFlag dc.b 0 ; 4
ActiveScreenFlag dc.b 0 ; 5 bytes
QuitFlag dc.b 0
IntuitionName dc.b 'intuition.library',0
GfxName dc.b 'graphics.library',0
DosName dc.b 'dos.library',0
PrinterName dc.b 'printer.device',0
InputName dc.b 'input.device',0
Font0Name dc.b 'topaz.font',0
NoGfx36Text dc.b 0,170,14,'Can''t open graphics.library V36+',0,0
NoDosText dc.b 0,210,14,'Can''t open dos.library',0,0
NoMsgPortText dc.b 0,198,14,'Can''t create message port',0,0
NoRequestText dc.b 0,210,14,'Can''t create IORequest',0,0
NoPrinterText dc.b 0,210,14,'Can''t open printer.device',0,0
NoWindowText dc.b 0,202,14,'Can''t open window, quitting',0,0
NoSignalText dc.b 0,214,14,'Can''t allocate signal',0,0
VersionString dc.b '$VER: PrintScreen V1.52 (13.10.93) ⌐1993 Jan Hagqvist',10,0
QuitText dc.b 'Quit PrtSc',0
SaveFlagsText dc.b 'Save config',0
ResetBeforeText dc.b 'Reset before',0
ResetAfterText dc.b 'after dumping',0
ScreenText dc.b 'ActiveScreen FirstScreen',0
AspectText dc.b 'Aspect',0
CenterText dc.b 'Center picture',0
NoFormfeedText dc.b 'No formfeed',0
FullColsText dc.b 'Full columns',0
FullRowsText dc.b 'Full rows',0
ConfigFile dc.b 's:PrtSc.cfg',0
MyHandlerName dc.b 'PrtSc-key eater',0
WindowTitle dc.b 'PrtSc V1.52, Freeware.',0
SECTION 2,data,chip
Interrupt dcb.b 22,0
CheckBoxImageData
dc.w %0000000000000000
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0011111111111111
dc.w %1111111111111111
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
CheckBoxImageData2
dc.w %1111111111111111
dc.w %1100000000000000
dc.w %1100110000110000
dc.w %1100011001100000
dc.w %1100001111000000
dc.w %1100001111000000
dc.w %1100011001100000
dc.w %1100110000110000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %0000000000000000
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0011111111111111
ArrowsImageData
dc.w %0000000000000000
dc.w %0000000000000011
dc.w %0000001100000011
dc.w %0000011000000011
dc.w %0000111111110011
dc.w %0000011000000011
dc.w %0000001100000011
dc.w %0000000000000011
dc.w %0011111111111111
dc.w %1111111111111111
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %1100000000000000
ArrowsImageData2
dc.w %1111111111111111
dc.w %1100000000000000
dc.w %1100000011000000
dc.w %1100000001100000
dc.w %1100111111110000
dc.w %1100000001100000
dc.w %1100000011000000
dc.w %1100000000000000
dc.w %1100000000000000
dc.w %0000000000000000
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0000000000000011
dc.w %0011111111111111
END