;*********************************************
;*                                           *
;*       Designer (C) Ian OConnor 1994       *
;*                                           *
;*     Designer Produced Asm include file    *
;*                                           *
;*********************************************


RefreshGList             EQU    -432
DisposeObject            EQU    -642
SetGadgetAttrsA          EQU    -660
SetAttrsA                EQU    -648
NewObjectA               EQU    -636
DrawImageState           EQU    -618
FreeScreenDrawInfo       EQU    -696
GetScreenDrawInfo        EQU    -690
GetDisplayInfoData       EQU    -756
FindDisplayInfo          EQU    -726
BltClear                 EQU    -300
FreeRaster               EQU    -498
AllocRaster              EQU    -492
InitBitMap               EQU    -390
OpenScreenTagList        EQU    -612
ReplyMsg                 EQU    -378
Remove                   EQU    -252
Permit                   EQU    -138
Forbid                   EQU    -132
ModifyIDCMP              EQU    -150
RemoveAppWindow          EQU    -54
AddAppWindowA            EQU    -48
DrawImage                EQU    -114
OpenCatalogA             EQU    -150
CloseCatalog             EQU    -36
GetCatalogStr            EQU    -72
GT_ReplyIMsg             EQU    -78
GT_GetIMsg               EQU    -72
WaitPort                 EQU    -384
WindowToFront            EQU    -312
ActivateWindow           EQU    -450
AllocVec                 EQU    -684
FreeVec                  EQU    -690
CloseLibrary             EQU    -414
OpenLibrary              EQU    -552
CopyMem                  EQU    -624
DrawBevelBoxA            EQU    -120
CloseFont                EQU    -78
OpenDiskFont             EQU    -30
FreeMenus                EQU    -54
LayoutMenusA             EQU    -66
CreateMenusA             EQU    -48
FreeGadgets              EQU    -36
GT_RefreshWindow         EQU    -84
CreateGadgetA            EQU    -30
CreateContext            EQU    -114
FreeVisualInfo           EQU    -132
GetVisualInfoA           EQU    -126
ClearMenuStrip           EQU    -54
SetMenuStrip             EQU    -264
UnlockPubScreen          EQU    -516
LockPubScreen            EQU    -510
PrintIText               EQU    -216
CloseWindow              EQU    -72
OpenWindowTagList        EQU    -606
    cnop    0,2

    XDEF    findreq
    XDEF    findreqGList
    XDEF    findreqVisualInfo
    XDEF    findreqDrawInfo

findreq:
    dc.l    0
findreqVisualInfo:
    dc.l    0
findreqDrawInfo:
    dc.l    0
findreqScreenTitle:
    dc.b    'Textread - Find',0
findreqWindowTitle:
    dc.b    'Find',0
    cnop    0,2

findreqBufNewGad:
    dc.w    0,0,0,0
    dc.l    0,0
    dc.w    0
    dc.l    0,0,0

sw_fwdbwdLabels:
    dc.l    sw_fwdbwdLabelString0
    dc.l    sw_fwdbwdLabelString1
    dc.l    0

sw_fwdbwdLabelString0:
    dc.b    'Forward',0
sw_fwdbwdLabelString1:
    dc.b    'Backward',0
    cnop    0,2
GD_sw_searchfor                                EQU    0
sw_searchfor                                   EQU    0
GD_sw_casesens                                 EQU    1
sw_casesens                                    EQU    1
GD_sw_wildcards                                EQU    2
sw_wildcards                                   EQU    2
GD_sw_fwdbwd                                   EQU    3
sw_fwdbwd                                      EQU    3
GD_sw_search                                   EQU    4
sw_search                                      EQU    4
GD_sw_use                                      EQU    5
sw_use                                         EQU    5
GD_sw_cancel                                   EQU    6
sw_cancel                                      EQU    6

GDX_sw_searchfor                               EQU    0
GDX_sw_casesens                                EQU    1
GDX_sw_wildcards                               EQU    2
GDX_sw_fwdbwd                                  EQU    3
GDX_sw_search                                  EQU    4
GDX_sw_use                                     EQU    5
GDX_sw_cancel                                  EQU    6

findreqGTags:
    dc.l    $8008002E,80
    dc.l    $80030024,0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    $8008000E,sw_fwdbwdLabels
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0

findreqGTypes:
    dc.w    12
    dc.w    2
    dc.w    2
    dc.w    7
    dc.w    1
    dc.w    1
    dc.w    1

findreqNGad:
    dc.w    95,4,216,14
    dc.l    sw_searchforText,0
    dc.w    GD_sw_searchfor
    dc.l    1,0,0
    dc.w    285,22,26,11
    dc.l    sw_casesensText,0
    dc.w    GD_sw_casesens
    dc.l    1,0,0
    dc.w    95,22,26,11
    dc.l    sw_wildcardsText,0
    dc.w    GD_sw_wildcards
    dc.l    1,0,0
    dc.w    95,37,107,14
    dc.l    sw_fwdbwdText,0
    dc.w    GD_sw_fwdbwd
    dc.l    1,0,0
    dc.w    8,55,86,14
    dc.l    sw_searchText,0
    dc.w    GD_sw_search
    dc.l    16,0,0
    dc.w    116,55,86,14
    dc.l    sw_useText,0
    dc.w    GD_sw_use
    dc.l    16,0,0
    dc.w    225,55,86,14
    dc.l    sw_cancelText,0
    dc.w    GD_sw_cancel
    dc.l    16,0,0

sw_searchforText:
    dc.b    '_Find',0

sw_casesensText:
    dc.b    'C_ase sensitive',0

sw_wildcardsText:
    dc.b    '_Wildcards',0

sw_fwdbwdText:
    dc.b    '_Direction',0

sw_searchText:
    dc.b    '_Search',0

sw_useText:
    dc.b    '_Use',0

sw_cancelText:
    dc.b    '_Cancel',0

    cnop    0,2


    XDEF    findreqGadgets
findreqGadgets:
    ds.l    7
findreqCla:
    dc.l    0
findreqPrevGadget:
    dc.l    0
findreqQuickTags:
    dc.l    0,0,0
    cnop    0,2

    XDEF    findreqOffx
    XDEF    findreqOffy
findreqOffx:
    dc.w    0
findreqOffy:
    dc.w    0

findreqTags:
    dc.l    $80000064,30
    dc.l    $80000065,30
findreqIW:
    dc.l    $80000076,319
findreqIH:
    dc.l    $80000077,73
    dc.l    $8000006E
findreqWT:
    dc.l    findreqWindowTitle
    dc.l    $8000006F
findreqST:
    dc.l    findreqScreenTitle
    dc.l    $80000072,67
    dc.l    $80000073,21
    dc.l    $80000074,656
    dc.l    $80000075,200
    dc.l    $80000082,1
    dc.l    $80000089,1
    dc.l    $8000008A,1
    dc.l    $80000093,1
    dc.l    $8000008D,1
    dc.l    $80000090,1
    dc.l    $8000006C
findreqGList:
    dc.l    0
    dc.l    $80000070
findreqScr:
    dc.l    0
    dc.l    $8000006A,35651652
    dc.l    0

    cnop    0,2

    XDEF    printreq
    XDEF    printreqGList
    XDEF    printreqVisualInfo
    XDEF    printreqDrawInfo

printreq:
    dc.l    0
printreqVisualInfo:
    dc.l    0
printreqDrawInfo:
    dc.l    0
printreqScreenTitle:
    dc.b    'Textread - Printer options',0
printreqWindowTitle:
    dc.b    'Printer options',0
    cnop    0,2

printreqBufNewGad:
    dc.w    0,0,0,0
    dc.l    0,0
    dc.w    0
    dc.l    0,0,0

pw_headleftLabels:
    dc.l    pw_headleftLabelString0
    dc.l    pw_headleftLabelString1
    dc.l    pw_headleftLabelString2
    dc.l    0

pw_headleftLabelString0:
    dc.b    'Nothing',0
pw_headleftLabelString1:
    dc.b    'Filename',0
pw_headleftLabelString2:
    dc.b    'Title',0
    cnop    0,2

pw_headmidLabels:
    dc.l    pw_headmidLabelString0
    dc.l    pw_headmidLabelString1
    dc.l    pw_headmidLabelString2
    dc.l    0

pw_headmidLabelString0:
    dc.b    'Nothing',0
pw_headmidLabelString1:
    dc.b    'Date',0
pw_headmidLabelString2:
    dc.b    'Page #',0
    cnop    0,2

pw_headrightLabels:
    dc.l    pw_headrightLabelString0
    dc.l    pw_headrightLabelString1
    dc.l    pw_headrightLabelString2
    dc.l    0

pw_headrightLabelString0:
    dc.b    'Nothing',0
pw_headrightLabelString1:
    dc.b    'Date',0
pw_headrightLabelString2:
    dc.b    'Page #',0
    cnop    0,2
GD_pw_headleft                                 EQU    0
pw_headleft                                    EQU    0
GD_pw_headmid                                  EQU    1
pw_headmid                                     EQU    1
GD_pw_headright                                EQU    2
pw_headright                                   EQU    2
GD_pw_headtitle                                EQU    3
pw_headtitle                                   EQU    3
GD_pw_bold                                     EQU    4
pw_bold                                        EQU    4
GD_pw_underlined                               EQU    5
pw_underlined                                  EQU    5
GD_pw_italic                                   EQU    6
pw_italic                                      EQU    6
GD_pw_print                                    EQU    7
pw_print                                       EQU    7
GD_pw_use                                      EQU    8
pw_use                                         EQU    8
GD_pw_cancel                                   EQU    9
pw_cancel                                      EQU    9
GD_pw_enableordisable                          EQU    10
pw_enableordisable                             EQU    10

GDX_pw_headleft                                EQU    0
GDX_pw_headmid                                 EQU    1
GDX_pw_headright                               EQU    2
GDX_pw_headtitle                               EQU    3
GDX_pw_bold                                    EQU    4
GDX_pw_underlined                              EQU    5
GDX_pw_italic                                  EQU    6
GDX_pw_print                                   EQU    7
GDX_pw_use                                     EQU    8
GDX_pw_cancel                                  EQU    9
GDX_pw_enableordisable                         EQU    10

printreqGTags:
    dc.l    $8008003D,2
    dc.l    $80080040,'_'
    dc.l    $80080045,1
    dc.l    $80080047,4
    dc.l    $8008000A,1
    dc.l    $80080009,pw_headleftLabels
    dc.l    0
    dc.l    $8008003D,2
    dc.l    $80080040,'_'
    dc.l    $80080045,1
    dc.l    $80080047,4
    dc.l    $80080009,pw_headmidLabels
    dc.l    0
    dc.l    $8008003D,2
    dc.l    $80080040,'_'
    dc.l    $80080045,1
    dc.l    $80080047,4
    dc.l    $8008000A,1
    dc.l    $80080009,pw_headrightLabels
    dc.l    0
    dc.l    $8008002E,40
    dc.l    $8003000E,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080044,1
    dc.l    $80080040,'_'
    dc.l    0

printreqGTypes:
    dc.w    5
    dc.w    5
    dc.w    5
    dc.w    12
    dc.w    2
    dc.w    2
    dc.w    2
    dc.w    1
    dc.w    1
    dc.w    1
    dc.w    2

printreqNGad:
    dc.w    8,32,16,8
    dc.l    pw_headleftText,0
    dc.w    GD_pw_headleft
    dc.l    2,0,0
    dc.w    169,32,16,8
    dc.l    pw_headmidText,0
    dc.w    GD_pw_headmid
    dc.l    2,0,0
    dc.w    331,32,16,8
    dc.l    pw_headrightText,0
    dc.w    GD_pw_headright
    dc.l    2,0,0
    dc.w    101,66,331,14
    dc.l    pw_headtitleText,0
    dc.w    GD_pw_headtitle
    dc.l    1,0,0
    dc.w    8,88,27,11
    dc.l    pw_boldText,0
    dc.w    GD_pw_bold
    dc.l    2,0,0
    dc.w    169,88,27,11
    dc.l    pw_underlinedText,0
    dc.w    GD_pw_underlined
    dc.l    2,0,0
    dc.w    331,88,27,11
    dc.l    pw_italicText,0
    dc.w    GD_pw_italic
    dc.l    2,0,0
    dc.w    8,108,101,14
    dc.l    pw_printText,0
    dc.w    GD_pw_print
    dc.l    16,0,0
    dc.w    169,108,101,14
    dc.l    pw_useText,0
    dc.w    GD_pw_use
    dc.l    16,0,0
    dc.w    331,108,101,14
    dc.l    pw_cancelText,0
    dc.w    GD_pw_cancel
    dc.l    16,0,0
    dc.w    8,4,27,11
    dc.l    pw_enableordisableText,0
    dc.w    GD_pw_enableordisable
    dc.l    2,0,0

pw_headleftText:
    dc.b    '_Left field',0

pw_headmidText:
    dc.b    '_Middle field',0

pw_headrightText:
    dc.b    '_Right field',0

pw_headtitleText:
    dc.b    '_Title',0

pw_boldText:
    dc.b    '_Bold',0

pw_underlinedText:
    dc.b    'Un_derlined',0

pw_italicText:
    dc.b    '_Italic',0

pw_printText:
    dc.b    '_Print',0

pw_useText:
    dc.b    '_Use',0

pw_cancelText:
    dc.b    '_Cancel',0

pw_enableordisableText:
    dc.b    '_Header enabled',0

    cnop    0,2


    XDEF    printreqGadgets
printreqGadgets:
    ds.l    11
printreqCla:
    dc.l    0
printreqPrevGadget:
    dc.l    0
printreqQuickTags:
    dc.l    0,0,0
    cnop    0,2

    XDEF    printreqOffx
    XDEF    printreqOffy
printreqOffx:
    dc.w    0
printreqOffy:
    dc.w    0

printreqTags:
    dc.l    $80000064,30
    dc.l    $80000065,30
printreqIW:
    dc.l    $80000076,440
printreqIH:
    dc.l    $80000077,126
    dc.l    $8000006E
printreqWT:
    dc.l    printreqWindowTitle
    dc.l    $8000006F
printreqST:
    dc.l    printreqScreenTitle
    dc.l    $80000072,67
    dc.l    $80000073,21
    dc.l    $80000074,656
    dc.l    $80000075,200
    dc.l    $80000082,1
    dc.l    $80000089,1
    dc.l    $8000008A,1
    dc.l    $80000093,1
    dc.l    $8000008D,1
    dc.l    $80000090,1
    dc.l    $8000006C
printreqGList:
    dc.l    0
    dc.l    $80000070
printreqScr:
    dc.l    0
    dc.l    $8000006A,39847036
    dc.l    0

    cnop    0,2

    XDEF    tabsizereq
    XDEF    tabsizereqGList
    XDEF    tabsizereqVisualInfo
    XDEF    tabsizereqDrawInfo

tabsizereq:
    dc.l    0
tabsizereqVisualInfo:
    dc.l    0
tabsizereqDrawInfo:
    dc.l    0
tabsizereqScreenTitle:
    dc.b    'Textread - Tab size',0
tabsizereqWindowTitle:
    dc.b    'Tab size',0
    cnop    0,2

tabsizereqBufNewGad:
    dc.w    0,0,0,0
    dc.l    0,0
    dc.w    0
    dc.l    0,0,0
tw_tabsizeLF:
    dc.b    '%2ld',0
    cnop    0,2
GD_tw_tabsize                                  EQU    0
tw_tabsize                                     EQU    0
GD_tw_use                                      EQU    1
tw_use                                         EQU    1
GD_tw_cancel                                   EQU    2
tw_cancel                                      EQU    2

GDX_tw_tabsize                                 EQU    0
GDX_tw_use                                     EQU    1
GDX_tw_cancel                                  EQU    2

tabsizereqGTags:
    dc.l    $80080026,1
    dc.l    $80080027,15
    dc.l    $80080028,8
    dc.l    $8008002A, tw_tabsizeLF
    dc.l    $80080029,4
    dc.l    $8008002B,2
    dc.l    $80030016,1
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0

tabsizereqGTypes:
    dc.w    11
    dc.w    1
    dc.w    1

tabsizereqNGad:
    dc.w    100,4,120,13
    dc.l    tw_tabsizeText,0
    dc.w    GD_tw_tabsize
    dc.l    1,0,0
    dc.w    8,24,85,14
    dc.l    tw_useText,0
    dc.w    GD_tw_use
    dc.l    16,0,0
    dc.w    157,24,85,14
    dc.l    tw_cancelText,0
    dc.w    GD_tw_cancel
    dc.l    16,0,0

tw_tabsizeText:
    dc.b    '_Tab size',0

tw_useText:
    dc.b    '_Use',0

tw_cancelText:
    dc.b    '_Cancel',0

    cnop    0,2


    XDEF    tabsizereqGadgets
tabsizereqGadgets:
    ds.l    3
tabsizereqCla:
    dc.l    0
tabsizereqPrevGadget:
    dc.l    0
tabsizereqQuickTags:
    dc.l    0,0,0
    cnop    0,2

    XDEF    tabsizereqOffx
    XDEF    tabsizereqOffy
tabsizereqOffx:
    dc.w    0
tabsizereqOffy:
    dc.w    0

tabsizereqTags:
    dc.l    $80000064,30
    dc.l    $80000065,30
tabsizereqIW:
    dc.l    $80000076,252
tabsizereqIH:
    dc.l    $80000077,42
    dc.l    $8000006E
tabsizereqWT:
    dc.l    tabsizereqWindowTitle
    dc.l    $8000006F
tabsizereqST:
    dc.l    tabsizereqScreenTitle
    dc.l    $80000072,67
    dc.l    $80000073,21
    dc.l    $80000074,656
    dc.l    $80000075,200
    dc.l    $80000082,1
    dc.l    $80000089,1
    dc.l    $8000008A,1
    dc.l    $80000093,1
    dc.l    $8000008D,1
    dc.l    $80000090,1
    dc.l    $8000006C
tabsizereqGList:
    dc.l    0
    dc.l    $80000070
tabsizereqScr:
    dc.l    0
    dc.l    $8000006A,35652724
    dc.l    0

    cnop    0,2

    XDEF    revealreq
    XDEF    revealreqGList
    XDEF    revealreqVisualInfo
    XDEF    revealreqDrawInfo

revealreq:
    dc.l    0
revealreqVisualInfo:
    dc.l    0
revealreqDrawInfo:
    dc.l    0
revealreqScreenTitle:
    dc.b    'TextRead - Reveal',0
revealreqWindowTitle:
    dc.b    'Reveal',0
    cnop    0,2

revealreqBufNewGad:
    dc.w    0,0,0,0
    dc.l    0,0
    dc.w    0
    dc.l    0,0,0
GD_rw_list                                     EQU    0
rw_list                                        EQU    0
GD_rw_use                                      EQU    1
rw_use                                         EQU    1
GD_rw_cancel                                   EQU    2
rw_cancel                                      EQU    2

GDX_rw_list                                    EQU    0
GDX_rw_use                                     EQU    1
GDX_rw_cancel                                  EQU    2

revealreqGTags:
    dc.l    $80080035,0
    dc.l    $80080040,'_'
    dc.l    $80080036,0
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0

revealreqGTypes:
    dc.w    4
    dc.w    1
    dc.w    1

revealreqNGad:
    dc.w    8,16,281,52
    dc.l    rw_listText,0
    dc.w    GD_rw_list
    dc.l    4,0,0
    dc.w    8,78,101,14
    dc.l    rw_useText,0
    dc.w    GD_rw_use
    dc.l    16,0,0
    dc.w    188,78,101,14
    dc.l    rw_cancelText,0
    dc.w    GD_rw_cancel
    dc.l    16,0,0

rw_listText:
    dc.b    '_Buffer list',0

rw_useText:
    dc.b    '_OK',0

rw_cancelText:
    dc.b    '_Cancel',0

    cnop    0,2


    XDEF    revealreqGadgets
revealreqGadgets:
    ds.l    3
revealreqCla:
    dc.l    0
revealreqPrevGadget:
    dc.l    0
revealreqQuickTags:
    dc.l    0,0,0
    cnop    0,2

    XDEF    revealreqOffx
    XDEF    revealreqOffy
revealreqOffx:
    dc.w    0
revealreqOffy:
    dc.w    0

revealreqTags:
    dc.l    $80000064,30
    dc.l    $80000065,30
revealreqIW:
    dc.l    $80000076,297
revealreqIH:
    dc.l    $80000077,96
    dc.l    $8000006E
revealreqWT:
    dc.l    revealreqWindowTitle
    dc.l    $8000006F
revealreqST:
    dc.l    revealreqScreenTitle
    dc.l    $80000072,67
    dc.l    $80000073,21
    dc.l    $80000074,656
    dc.l    $80000075,200
    dc.l    $80000082,1
    dc.l    $80000089,1
    dc.l    $8000008A,1
    dc.l    $80000093,1
    dc.l    $8000008D,1
    dc.l    $80000090,1
    dc.l    $8000006C
revealreqGList:
    dc.l    0
    dc.l    $80000070
revealreqScr:
    dc.l    0
    dc.l    $8000006A,6292604
    dc.l    0


BevelTags:
    dc.l    $80080033,1
    dc.l    $80080034,0
    dc.l    0
    cnop    0,2

    XDEF    integerreq
    XDEF    integerreqGList
    XDEF    integerreqVisualInfo
    XDEF    integerreqDrawInfo

integerreq:
    dc.l    0
integerreqVisualInfo:
    dc.l    0
integerreqDrawInfo:
    dc.l    0
integerreqScreenTitle:
    dc.b    'Textread - Integer input',0
integerreqWindowTitle:
    dc.b    'Integer input',0
    cnop    0,2

integerreqBufNewGad:
    dc.w    0,0,0,0
    dc.l    0,0
    dc.w    0
    dc.l    0,0,0
iw_text1TX:
    dc.b    '',0
    cnop    0,2
iw_text2TX:
    dc.b    '',0
    cnop    0,2
GD_iw_integer                                  EQU    0
iw_integer                                     EQU    0
GD_iw_use                                      EQU    1
iw_use                                         EQU    1
GD_iw_cancel                                   EQU    2
iw_cancel                                      EQU    2
GD_iw_text1                                    EQU    3
iw_text1                                       EQU    3
GD_iw_text2                                    EQU    4
iw_text2                                       EQU    4

GDX_iw_integer                                 EQU    0
GDX_iw_use                                     EQU    1
GDX_iw_cancel                                  EQU    2
GDX_iw_text1                                   EQU    3
GDX_iw_text2                                   EQU    4

integerreqGTags:
    dc.l    $80032010,512
    dc.l    $80030024,0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $80080040,'_'
    dc.l    0
    dc.l    $8008004A,2
    dc.l    0
    dc.l    $8008004A,2
    dc.l    0

integerreqGTypes:
    dc.w    3
    dc.w    1
    dc.w    1
    dc.w    13
    dc.w    13

integerreqNGad:
    dc.w    48,31,113,12
    dc.l    iw_integerText,0
    dc.w    GD_iw_integer
    dc.l    1,0,0
    dc.w    8,47,89,15
    dc.l    iw_useText,0
    dc.w    GD_iw_use
    dc.l    16,0,0
    dc.w    112,47,89,15
    dc.l    iw_cancelText,0
    dc.w    GD_iw_cancel
    dc.l    16,0,0
    dc.w    8,4,193,12
    dc.l    iw_text1Text,0
    dc.w    GD_iw_text1
    dc.l    1,0,0
    dc.w    8,15,193,12
    dc.l    iw_text2Text,0
    dc.w    GD_iw_text2
    dc.l    1,0,0

iw_integerText:
    dc.b    '',0

iw_useText:
    dc.b    '_Use',0

iw_cancelText:
    dc.b    '_Cancel',0

iw_text1Text:
    dc.b    '',0

iw_text2Text:
    dc.b    '',0

    cnop    0,2


    XDEF    integerreqGadgets
integerreqGadgets:
    ds.l    5
integerreqCla:
    dc.l    0
integerreqPrevGadget:
    dc.l    0
integerreqQuickTags:
    dc.l    0,0,0
    cnop    0,2

    XDEF    integerreqOffx
    XDEF    integerreqOffy
integerreqOffx:
    dc.w    0
integerreqOffy:
    dc.w    0

integerreqTags:
    dc.l    $80000064,30
    dc.l    $80000065,30
integerreqIW:
    dc.l    $80000076,209
integerreqIH:
    dc.l    $80000077,66
    dc.l    $8000006E
integerreqWT:
    dc.l    integerreqWindowTitle
    dc.l    $8000006F
integerreqST:
    dc.l    integerreqScreenTitle
    dc.l    $80000072,150
    dc.l    $80000073,25
    dc.l    $80000074,1200
    dc.l    $80000075,1200
    dc.l    $80000082,1
    dc.l    $80000089,1
    dc.l    $8000008A,1
    dc.l    $80000093,1
    dc.l    $8000008D,1
    dc.l    $80000090,1
    dc.l    $8000006C
integerreqGList:
    dc.l    0
    dc.l    $80000070
integerreqScr:
    dc.l    0
    dc.l    $8000006A,2097732
    dc.l    0


;    XREF    _IntuitionBase
;    XREF    _GadToolsBase
;    XREF    _GfxBase
;    XREF    _SysBase

    XDEF    RendfindreqWindow
RendfindreqWindow:
    movem.l d0-d4/a0-a4/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  findreq,d0
    tst.l   d0
    beq     findreqWindowUnOpened
    movea.l findreq,a0
    movea.l 50(a0),a4
findreqWindowUnOpened:
    movem.l (sp)+,d0-d4/a0-a4/a6
    rts

findreqScaleX:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  findreqScr,a0
    move.l  136(a0),a1
    move.w  24(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

findreqScaleY:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  findreqScr,a0
    move.l  136(a0),a1
    move.w  20(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

    XDEF    OpenfindreqWindow
OpenfindreqWindow:
    movem.l d1-d4/a0-a6,-(sp)
    move.l  findreq,d0
    tst.l   d0
    bne     findreqAlreadyOpen
    move.l  a1,findreqScr
    move.l  #319,findreqIW+4
    move.l  #73,findreqIH+4
    move.l  findreqIW+4,d0
    jsr     findreqScaleX
    move.l  d0,findreqIW+4
    move.l  findreqIH+4,d0
    jsr     findreqScaleY
    move.l  d0,findreqIH+4
    move.l  findreqScr,a0
    move.b  36(a0),findreqOffx+1
    move.l  40(a0),a1
    move.w  4(a1),d1
    addq.w  #1,d1
    move.b  35(a0),d0
    ext.w   d0
    add.w   d1,d0
    move.w  d0,findreqOffy
    move.l  findreqScr,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GetVisualInfoA(a6)
    move.l  d0,findreqVisualInfo
    beq     CannotGetfindreqVisualInfo
    move.l  findreqScr,a0
    move.l  _IntuitionBase,a6
    jsr     GetScreenDrawInfo(a6)
    move.l  d0,findreqDrawInfo
    beq     CannotGetfindreqDrawInfo
    move.l  #0,findreqGList
    movea.l _GadToolsBase,a6
    lea     findreqGList,a0
    jsr     CreateContext(a6)
    movea.l d0,a2
    tst.l   d0
    beq     CannotCreatefindreqContext
    move.l  #0,d3
    lea     findreqNGad,a5
    lea     findreqGTags,a4
    lea     findreqGTypes,a3
findreqGadgetLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    beq     findreqSkipOneGadget
    movea.l _SysBase,a6
    movea.l a5,a0
    lea     findreqBufNewGad,a1
    moveq   #30,d0
    jsr     CopyMem(a6)
    move.l  #0,d0
    move.l  findreqVisualInfo,findreqBufNewGad+22
    move.w  findreqBufNewGad,d0
    jsr     findreqScaleX
    move.w  d0,findreqBufNewGad
    move.w  findreqBufNewGad+2,d0
    jsr     findreqScaleY
    move.w  d0,findreqBufNewGad+2
    move.w  (a3),d0
    tst.w   d0
    beq     findreqDoNotScaleGeneric
    move.w  findreqBufNewGad+4,d0
    jsr     findreqScaleX
    move.w  d0,findreqBufNewGad+4
    move.w  findreqBufNewGad+6,d0
    jsr     findreqScaleY
    move.w  d0,findreqBufNewGad+6
findreqDoNotScaleGeneric:
    movea.l findreqScr,a1
    movea.l 40(a1),a0
    move.l  a0,findreqBufNewGad+12
    move.w  findreqOffx,d0
    move.w  findreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,findreqBufNewGad
    move.w  findreqOffy,d0
    move.w  2+findreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,findreqBufNewGad+2
    move.l  #0,d0
    movea.l _GadToolsBase,a6
    movea.l a2,a0
    move.w  (a3),d0
    lea     findreqBufNewGad,a1
    movea.l a4,a2
    jsr     CreateGadgetA(a6)
    movea.l d0,a2
    tst.l   d0
    beq     findreqBadGadgets
    lea    findreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
findreqSkipOneGadget:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     findreqNextTag2
findreqNextTag1:
    adda    #8,a4
findreqNextTag2:
    move.l  (a4),d0
    tst.l   d0
    bne     findreqNextTag1
    adda    #4,a4
    move.w  d3,d0
    sub.w   #7,d0
    tst.w   d0
    bne     findreqGadgetLoop
    move.l  a2,findreqPrevGadget
    move.l  #0,d3
    lea     findreqNGad,a5
    lea     findreqGTags,a4
    lea     findreqGTypes,a3
findreqObjectLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    bne     findreqSkipNotObject
    move.l  #0,findreqCla
    movea.l findreqCla,a0
    movea.l 8(a5),a1
    movea.l a4,a2
    movea.l _IntuitionBase,a6
    jsr     NewObjectA(a6)
    movea.l d0,a2
    lea     findreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
    move.l  a2,d0
    tst.l   d0
    beq     findreqBadGadgets
findreqSkipNotObject:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     findreqNextTag4
findreqNextTag3:
    adda    #8,a4
findreqNextTag4:
    move.l  (a4),d0
    tst.l   d0
    bne     findreqNextTag3
    adda    #4,a4
    move.w  d3,d0
    sub.w   #7,d0
    tst.w   d0
    bne     findreqObjectLoop
    move.l  #0,a0
    lea     findreqTags,a1
    move.l  _IntuitionBase,a6
    jsr     OpenWindowTagList(a6)
    move.l  d0,findreq
    tst.l   d0
    beq     findreqCannotOpenWin
    jsr     RendfindreqWindow
    move.l  findreq,a1
    move.l  findreqGList,a0
    move.l  #0,a2
    move.l  #$FFFF,d0
    move.l  _IntuitionBase,a6
    jsr     RefreshGList(a6)
    move.l  findreq,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GT_RefreshWindow(a6)
    move.l  #0,d0
    jmp      OpenfindreqDone
findreqAlreadyOpen:
    move.l  _IntuitionBase,a6
    move.l  findreq,a0
    jsr     ActivateWindow(a6)
    jsr     WindowToFront(a6)
    move.l  #0,d0
    jmp     OpenfindreqDone
findreqCannotOpenWin:
    move.l  #1,d0
    jmp      FreefindreqGadgets
findreqBadGadgets:
    move.l   #2,d0
FreefindreqGadgets:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  findreqGList,a0
    jsr     FreeGadgets(a6)
    move.l  d2,d0
    jmp     FreefindreqDrawInfo
CannotCreatefindreqContext:
    move.l  #4,d0
FreefindreqDrawInfo:
    move.l  d0,d2
    movea.l _IntuitionBase,a6
    movea.l findreqScr,a0
    movea.l findreqDrawInfo,a1
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,findreqDrawInfo
    move.l  d2,d0
    jmp     FreefindreqVisualInfo
CannotGetfindreqDrawInfo:
    move.l  #128,d0
FreefindreqVisualInfo:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  findreqVisualInfo,a0
    jsr     FreeVisualInfo(a6)
    move.l  #0,findreqVisualInfo
    move.l  d2,d0
    jmp     OpenfindreqDone
CannotGetfindreqVisualInfo:
    move.l  #8,d0
    jmp     OpenfindreqDone
OpenfindreqDone:
    movem.l (sp)+,d1-d4/a0-a6
    rts

    XDEF    ClosefindreqWindow
ClosefindreqWindow:
    movem.l d0-d2/a0-a6,-(sp)
    move.l  findreq,d1
    tst.l   d1
    beq     findreqNotOpen
    move.l  findreqDrawInfo,d1
    tst.l   d1
    beq     findreqNoSDI
    movea.l findreq,a0
    movea.l 46(a0),a0
    movea.l findreqDrawInfo,a1
    move.l  _IntuitionBase,a6
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,findreqDrawInfo
findreqNoSDI:
    move.l  findreq,a0
    move.l  _IntuitionBase,a6
    jsr     CloseWindow(a6)
    move.l  #0,findreq
findreqNotOpen:
    move.l  findreqVisualInfo,d1
    tst.l   d1
    beq     findreqNoCVI
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeVisualInfo(a6)
    move.l  #0,findreqVisualInfo
findreqNoCVI:
    move.l  findreqGList,d1
    tst.l   d1
    beq     findreqNoCGList
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeGadgets(a6)
    move.l  #0,findreqGList
findreqNoCGList:
    movea.l _IntuitionBase,a6
    movem.l (sp)+,d0-d2/a0-a6
    rts


    XDEF    RendprintreqWindow
RendprintreqWindow:
    movem.l d0-d4/a0-a4/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  printreq,d0
    tst.l   d0
    beq     printreqWindowUnOpened
    movea.l printreq,a0
    movea.l 50(a0),a4
printreqWindowUnOpened:
    movem.l (sp)+,d0-d4/a0-a4/a6
    rts

printreqScaleX:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  printreqScr,a0
    move.l  136(a0),a1
    move.w  24(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

printreqScaleY:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  printreqScr,a0
    move.l  136(a0),a1
    move.w  20(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

    XDEF    OpenprintreqWindow
OpenprintreqWindow:
    movem.l d1-d4/a0-a6,-(sp)
    move.l  printreq,d0
    tst.l   d0
    bne     printreqAlreadyOpen
    move.l  a1,printreqScr
    move.l  #440,printreqIW+4
    move.l  #126,printreqIH+4
    move.l  printreqIW+4,d0
    jsr     printreqScaleX
    move.l  d0,printreqIW+4
    move.l  printreqIH+4,d0
    jsr     printreqScaleY
    move.l  d0,printreqIH+4
    move.l  printreqScr,a0
    move.b  36(a0),printreqOffx+1
    move.l  40(a0),a1
    move.w  4(a1),d1
    addq.w  #1,d1
    move.b  35(a0),d0
    ext.w   d0
    add.w   d1,d0
    move.w  d0,printreqOffy
    move.l  printreqScr,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GetVisualInfoA(a6)
    move.l  d0,printreqVisualInfo
    beq     CannotGetprintreqVisualInfo
    move.l  printreqScr,a0
    move.l  _IntuitionBase,a6
    jsr     GetScreenDrawInfo(a6)
    move.l  d0,printreqDrawInfo
    beq     CannotGetprintreqDrawInfo
    move.l  #0,printreqGList
    movea.l _GadToolsBase,a6
    lea     printreqGList,a0
    jsr     CreateContext(a6)
    movea.l d0,a2
    tst.l   d0
    beq     CannotCreateprintreqContext
    move.l  #0,d3
    lea     printreqNGad,a5
    lea     printreqGTags,a4
    lea     printreqGTypes,a3
printreqGadgetLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    beq     printreqSkipOneGadget
    movea.l _SysBase,a6
    movea.l a5,a0
    lea     printreqBufNewGad,a1
    moveq   #30,d0
    jsr     CopyMem(a6)
    move.l  #0,d0
    move.l  printreqVisualInfo,printreqBufNewGad+22
    move.w  printreqBufNewGad,d0
    jsr     printreqScaleX
    move.w  d0,printreqBufNewGad
    move.w  printreqBufNewGad+2,d0
    jsr     printreqScaleY
    move.w  d0,printreqBufNewGad+2
    move.w  (a3),d0
    tst.w   d0
    beq     printreqDoNotScaleGeneric
    move.w  printreqBufNewGad+4,d0
    jsr     printreqScaleX
    move.w  d0,printreqBufNewGad+4
    move.w  printreqBufNewGad+6,d0
    jsr     printreqScaleY
    move.w  d0,printreqBufNewGad+6
printreqDoNotScaleGeneric:
    movea.l printreqScr,a1
    movea.l 40(a1),a0
    move.l  a0,printreqBufNewGad+12
    move.w  printreqOffx,d0
    move.w  printreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,printreqBufNewGad
    move.w  printreqOffy,d0
    move.w  2+printreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,printreqBufNewGad+2
    move.l  #0,d0
    movea.l _GadToolsBase,a6
    movea.l a2,a0
    move.w  (a3),d0
    lea     printreqBufNewGad,a1
    movea.l a4,a2
    jsr     CreateGadgetA(a6)
    movea.l d0,a2
    tst.l   d0
    beq     printreqBadGadgets
    lea    printreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
printreqSkipOneGadget:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     printreqNextTag2
printreqNextTag1:
    adda    #8,a4
printreqNextTag2:
    move.l  (a4),d0
    tst.l   d0
    bne     printreqNextTag1
    adda    #4,a4
    move.w  d3,d0
    sub.w   #11,d0
    tst.w   d0
    bne     printreqGadgetLoop
    move.l  a2,printreqPrevGadget
    move.l  #0,d3
    lea     printreqNGad,a5
    lea     printreqGTags,a4
    lea     printreqGTypes,a3
printreqObjectLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    bne     printreqSkipNotObject
    move.l  #0,printreqCla
    movea.l printreqCla,a0
    movea.l 8(a5),a1
    movea.l a4,a2
    movea.l _IntuitionBase,a6
    jsr     NewObjectA(a6)
    movea.l d0,a2
    lea     printreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
    move.l  a2,d0
    tst.l   d0
    beq     printreqBadGadgets
printreqSkipNotObject:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     printreqNextTag4
printreqNextTag3:
    adda    #8,a4
printreqNextTag4:
    move.l  (a4),d0
    tst.l   d0
    bne     printreqNextTag3
    adda    #4,a4
    move.w  d3,d0
    sub.w   #11,d0
    tst.w   d0
    bne     printreqObjectLoop
    move.l  #0,a0
    lea     printreqTags,a1
    move.l  _IntuitionBase,a6
    jsr     OpenWindowTagList(a6)
    move.l  d0,printreq
    tst.l   d0
    beq     printreqCannotOpenWin
    jsr     RendprintreqWindow
    move.l  printreq,a1
    move.l  printreqGList,a0
    move.l  #0,a2
    move.l  #$FFFF,d0
    move.l  _IntuitionBase,a6
    jsr     RefreshGList(a6)
    move.l  printreq,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GT_RefreshWindow(a6)
    move.l  #0,d0
    jmp      OpenprintreqDone
printreqAlreadyOpen:
    move.l  _IntuitionBase,a6
    move.l  printreq,a0
    jsr     ActivateWindow(a6)
    jsr     WindowToFront(a6)
    move.l  #0,d0
    jmp     OpenprintreqDone
printreqCannotOpenWin:
    move.l  #1,d0
    jmp      FreeprintreqGadgets
printreqBadGadgets:
    move.l   #2,d0
FreeprintreqGadgets:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  printreqGList,a0
    jsr     FreeGadgets(a6)
    move.l  d2,d0
    jmp     FreeprintreqDrawInfo
CannotCreateprintreqContext:
    move.l  #4,d0
FreeprintreqDrawInfo:
    move.l  d0,d2
    movea.l _IntuitionBase,a6
    movea.l printreqScr,a0
    movea.l printreqDrawInfo,a1
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,printreqDrawInfo
    move.l  d2,d0
    jmp     FreeprintreqVisualInfo
CannotGetprintreqDrawInfo:
    move.l  #128,d0
FreeprintreqVisualInfo:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  printreqVisualInfo,a0
    jsr     FreeVisualInfo(a6)
    move.l  #0,printreqVisualInfo
    move.l  d2,d0
    jmp     OpenprintreqDone
CannotGetprintreqVisualInfo:
    move.l  #8,d0
    jmp     OpenprintreqDone
OpenprintreqDone:
    movem.l (sp)+,d1-d4/a0-a6
    rts

    XDEF    CloseprintreqWindow
CloseprintreqWindow:
    movem.l d0-d2/a0-a6,-(sp)
    move.l  printreq,d1
    tst.l   d1
    beq     printreqNotOpen
    move.l  printreqDrawInfo,d1
    tst.l   d1
    beq     printreqNoSDI
    movea.l printreq,a0
    movea.l 46(a0),a0
    movea.l printreqDrawInfo,a1
    move.l  _IntuitionBase,a6
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,printreqDrawInfo
printreqNoSDI:
    move.l  printreq,a0
    move.l  _IntuitionBase,a6
    jsr     CloseWindow(a6)
    move.l  #0,printreq
printreqNotOpen:
    move.l  printreqVisualInfo,d1
    tst.l   d1
    beq     printreqNoCVI
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeVisualInfo(a6)
    move.l  #0,printreqVisualInfo
printreqNoCVI:
    move.l  printreqGList,d1
    tst.l   d1
    beq     printreqNoCGList
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeGadgets(a6)
    move.l  #0,printreqGList
printreqNoCGList:
    movea.l _IntuitionBase,a6
    movem.l (sp)+,d0-d2/a0-a6
    rts


    XDEF    RendtabsizereqWindow
RendtabsizereqWindow:
    movem.l d0-d4/a0-a4/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  tabsizereq,d0
    tst.l   d0
    beq     tabsizereqWindowUnOpened
    movea.l tabsizereq,a0
    movea.l 50(a0),a4
tabsizereqWindowUnOpened:
    movem.l (sp)+,d0-d4/a0-a4/a6
    rts

tabsizereqScaleX:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  tabsizereqScr,a0
    move.l  136(a0),a1
    move.w  24(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

tabsizereqScaleY:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  tabsizereqScr,a0
    move.l  136(a0),a1
    move.w  20(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

    XDEF    OpentabsizereqWindow
OpentabsizereqWindow:
    movem.l d1-d4/a0-a6,-(sp)
    move.l  tabsizereq,d0
    tst.l   d0
    bne     tabsizereqAlreadyOpen
    move.l  a1,tabsizereqScr
    move.l  #252,tabsizereqIW+4
    move.l  #42,tabsizereqIH+4
    move.l  tabsizereqIW+4,d0
    jsr     tabsizereqScaleX
    move.l  d0,tabsizereqIW+4
    move.l  tabsizereqIH+4,d0
    jsr     tabsizereqScaleY
    move.l  d0,tabsizereqIH+4
    move.l  tabsizereqScr,a0
    move.b  36(a0),tabsizereqOffx+1
    move.l  40(a0),a1
    move.w  4(a1),d1
    addq.w  #1,d1
    move.b  35(a0),d0
    ext.w   d0
    add.w   d1,d0
    move.w  d0,tabsizereqOffy
    move.l  tabsizereqScr,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GetVisualInfoA(a6)
    move.l  d0,tabsizereqVisualInfo
    beq     CannotGettabsizereqVisualInfo
    move.l  tabsizereqScr,a0
    move.l  _IntuitionBase,a6
    jsr     GetScreenDrawInfo(a6)
    move.l  d0,tabsizereqDrawInfo
    beq     CannotGettabsizereqDrawInfo
    move.l  #0,tabsizereqGList
    movea.l _GadToolsBase,a6
    lea     tabsizereqGList,a0
    jsr     CreateContext(a6)
    movea.l d0,a2
    tst.l   d0
    beq     CannotCreatetabsizereqContext
    move.l  #0,d3
    lea     tabsizereqNGad,a5
    lea     tabsizereqGTags,a4
    lea     tabsizereqGTypes,a3
tabsizereqGadgetLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    beq     tabsizereqSkipOneGadget
    movea.l _SysBase,a6
    movea.l a5,a0
    lea     tabsizereqBufNewGad,a1
    moveq   #30,d0
    jsr     CopyMem(a6)
    move.l  #0,d0
    move.l  tabsizereqVisualInfo,tabsizereqBufNewGad+22
    move.w  tabsizereqBufNewGad,d0
    jsr     tabsizereqScaleX
    move.w  d0,tabsizereqBufNewGad
    move.w  tabsizereqBufNewGad+2,d0
    jsr     tabsizereqScaleY
    move.w  d0,tabsizereqBufNewGad+2
    move.w  (a3),d0
    tst.w   d0
    beq     tabsizereqDoNotScaleGeneric
    move.w  tabsizereqBufNewGad+4,d0
    jsr     tabsizereqScaleX
    move.w  d0,tabsizereqBufNewGad+4
    move.w  tabsizereqBufNewGad+6,d0
    jsr     tabsizereqScaleY
    move.w  d0,tabsizereqBufNewGad+6
tabsizereqDoNotScaleGeneric:
    movea.l tabsizereqScr,a1
    movea.l 40(a1),a0
    move.l  a0,tabsizereqBufNewGad+12
    move.w  tabsizereqOffx,d0
    move.w  tabsizereqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,tabsizereqBufNewGad
    move.w  tabsizereqOffy,d0
    move.w  2+tabsizereqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,tabsizereqBufNewGad+2
    move.l  #0,d0
    movea.l _GadToolsBase,a6
    movea.l a2,a0
    move.w  (a3),d0
    lea     tabsizereqBufNewGad,a1
    movea.l a4,a2
    jsr     CreateGadgetA(a6)
    movea.l d0,a2
    tst.l   d0
    beq     tabsizereqBadGadgets
    lea    tabsizereqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
tabsizereqSkipOneGadget:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     tabsizereqNextTag2
tabsizereqNextTag1:
    adda    #8,a4
tabsizereqNextTag2:
    move.l  (a4),d0
    tst.l   d0
    bne     tabsizereqNextTag1
    adda    #4,a4
    move.w  d3,d0
    sub.w   #3,d0
    tst.w   d0
    bne     tabsizereqGadgetLoop
    move.l  a2,tabsizereqPrevGadget
    move.l  #0,d3
    lea     tabsizereqNGad,a5
    lea     tabsizereqGTags,a4
    lea     tabsizereqGTypes,a3
tabsizereqObjectLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    bne     tabsizereqSkipNotObject
    move.l  #0,tabsizereqCla
    movea.l tabsizereqCla,a0
    movea.l 8(a5),a1
    movea.l a4,a2
    movea.l _IntuitionBase,a6
    jsr     NewObjectA(a6)
    movea.l d0,a2
    lea     tabsizereqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
    move.l  a2,d0
    tst.l   d0
    beq     tabsizereqBadGadgets
tabsizereqSkipNotObject:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     tabsizereqNextTag4
tabsizereqNextTag3:
    adda    #8,a4
tabsizereqNextTag4:
    move.l  (a4),d0
    tst.l   d0
    bne     tabsizereqNextTag3
    adda    #4,a4
    move.w  d3,d0
    sub.w   #3,d0
    tst.w   d0
    bne     tabsizereqObjectLoop
    move.l  #0,a0
    lea     tabsizereqTags,a1
    move.l  _IntuitionBase,a6
    jsr     OpenWindowTagList(a6)
    move.l  d0,tabsizereq
    tst.l   d0
    beq     tabsizereqCannotOpenWin
    jsr     RendtabsizereqWindow
    move.l  tabsizereq,a1
    move.l  tabsizereqGList,a0
    move.l  #0,a2
    move.l  #$FFFF,d0
    move.l  _IntuitionBase,a6
    jsr     RefreshGList(a6)
    move.l  tabsizereq,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GT_RefreshWindow(a6)
    move.l  #0,d0
    jmp      OpentabsizereqDone
tabsizereqAlreadyOpen:
    move.l  _IntuitionBase,a6
    move.l  tabsizereq,a0
    jsr     ActivateWindow(a6)
    jsr     WindowToFront(a6)
    move.l  #0,d0
    jmp     OpentabsizereqDone
tabsizereqCannotOpenWin:
    move.l  #1,d0
    jmp      FreetabsizereqGadgets
tabsizereqBadGadgets:
    move.l   #2,d0
FreetabsizereqGadgets:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  tabsizereqGList,a0
    jsr     FreeGadgets(a6)
    move.l  d2,d0
    jmp     FreetabsizereqDrawInfo
CannotCreatetabsizereqContext:
    move.l  #4,d0
FreetabsizereqDrawInfo:
    move.l  d0,d2
    movea.l _IntuitionBase,a6
    movea.l tabsizereqScr,a0
    movea.l tabsizereqDrawInfo,a1
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,tabsizereqDrawInfo
    move.l  d2,d0
    jmp     FreetabsizereqVisualInfo
CannotGettabsizereqDrawInfo:
    move.l  #128,d0
FreetabsizereqVisualInfo:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  tabsizereqVisualInfo,a0
    jsr     FreeVisualInfo(a6)
    move.l  #0,tabsizereqVisualInfo
    move.l  d2,d0
    jmp     OpentabsizereqDone
CannotGettabsizereqVisualInfo:
    move.l  #8,d0
    jmp     OpentabsizereqDone
OpentabsizereqDone:
    movem.l (sp)+,d1-d4/a0-a6
    rts

    XDEF    ClosetabsizereqWindow
ClosetabsizereqWindow:
    movem.l d0-d2/a0-a6,-(sp)
    move.l  tabsizereq,d1
    tst.l   d1
    beq     tabsizereqNotOpen
    move.l  tabsizereqDrawInfo,d1
    tst.l   d1
    beq     tabsizereqNoSDI
    movea.l tabsizereq,a0
    movea.l 46(a0),a0
    movea.l tabsizereqDrawInfo,a1
    move.l  _IntuitionBase,a6
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,tabsizereqDrawInfo
tabsizereqNoSDI:
    move.l  tabsizereq,a0
    move.l  _IntuitionBase,a6
    jsr     CloseWindow(a6)
    move.l  #0,tabsizereq
tabsizereqNotOpen:
    move.l  tabsizereqVisualInfo,d1
    tst.l   d1
    beq     tabsizereqNoCVI
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeVisualInfo(a6)
    move.l  #0,tabsizereqVisualInfo
tabsizereqNoCVI:
    move.l  tabsizereqGList,d1
    tst.l   d1
    beq     tabsizereqNoCGList
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeGadgets(a6)
    move.l  #0,tabsizereqGList
tabsizereqNoCGList:
    movea.l _IntuitionBase,a6
    movem.l (sp)+,d0-d2/a0-a6
    rts


    XDEF    RendrevealreqWindow
RendrevealreqWindow:
    movem.l d0-d4/a0-a4/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  revealreq,d0
    tst.l   d0
    beq     revealreqWindowUnOpened
    movea.l revealreq,a0
    movea.l 50(a0),a4
revealreqWindowUnOpened:
    movem.l (sp)+,d0-d4/a0-a4/a6
    rts

revealreqScaleX:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  revealreqScr,a0
    move.l  136(a0),a1
    move.w  24(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

revealreqScaleY:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  revealreqScr,a0
    move.l  136(a0),a1
    move.w  20(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

    XDEF    OpenrevealreqWindow
OpenrevealreqWindow:
    movem.l d1-d4/a0-a6,-(sp)
    move.l  revealreq,d0
    tst.l   d0
    bne     revealreqAlreadyOpen
    move.l  a1,revealreqScr
    move.l  #297,revealreqIW+4
    move.l  #96,revealreqIH+4
    move.l  revealreqIW+4,d0
    jsr     revealreqScaleX
    move.l  d0,revealreqIW+4
    move.l  revealreqIH+4,d0
    jsr     revealreqScaleY
    move.l  d0,revealreqIH+4
    move.l  revealreqScr,a0
    move.b  36(a0),revealreqOffx+1
    move.l  40(a0),a1
    move.w  4(a1),d1
    addq.w  #1,d1
    move.b  35(a0),d0
    ext.w   d0
    add.w   d1,d0
    move.w  d0,revealreqOffy
    move.l  revealreqScr,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GetVisualInfoA(a6)
    move.l  d0,revealreqVisualInfo
    beq     CannotGetrevealreqVisualInfo
    move.l  revealreqScr,a0
    move.l  _IntuitionBase,a6
    jsr     GetScreenDrawInfo(a6)
    move.l  d0,revealreqDrawInfo
    beq     CannotGetrevealreqDrawInfo
    move.l  #0,revealreqGList
    movea.l _GadToolsBase,a6
    lea     revealreqGList,a0
    jsr     CreateContext(a6)
    movea.l d0,a2
    tst.l   d0
    beq     CannotCreaterevealreqContext
    move.l  #0,d3
    lea     revealreqNGad,a5
    lea     revealreqGTags,a4
    lea     revealreqGTypes,a3
revealreqGadgetLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    beq     revealreqSkipOneGadget
    movea.l _SysBase,a6
    movea.l a5,a0
    lea     revealreqBufNewGad,a1
    moveq   #30,d0
    jsr     CopyMem(a6)
    move.l  #0,d0
    move.l  revealreqVisualInfo,revealreqBufNewGad+22
    move.w  revealreqBufNewGad,d0
    jsr     revealreqScaleX
    move.w  d0,revealreqBufNewGad
    move.w  revealreqBufNewGad+2,d0
    jsr     revealreqScaleY
    move.w  d0,revealreqBufNewGad+2
    move.w  (a3),d0
    tst.w   d0
    beq     revealreqDoNotScaleGeneric
    move.w  revealreqBufNewGad+4,d0
    jsr     revealreqScaleX
    move.w  d0,revealreqBufNewGad+4
    move.w  revealreqBufNewGad+6,d0
    jsr     revealreqScaleY
    move.w  d0,revealreqBufNewGad+6
revealreqDoNotScaleGeneric:
    movea.l revealreqScr,a1
    movea.l 40(a1),a0
    move.l  a0,revealreqBufNewGad+12
    move.w  revealreqOffx,d0
    move.w  revealreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,revealreqBufNewGad
    move.w  revealreqOffy,d0
    move.w  2+revealreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,revealreqBufNewGad+2
    move.l  #0,d0
    movea.l _GadToolsBase,a6
    movea.l a2,a0
    move.w  (a3),d0
    lea     revealreqBufNewGad,a1
    movea.l a4,a2
    jsr     CreateGadgetA(a6)
    movea.l d0,a2
    tst.l   d0
    beq     revealreqBadGadgets
    lea    revealreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
revealreqSkipOneGadget:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     revealreqNextTag2
revealreqNextTag1:
    adda    #8,a4
revealreqNextTag2:
    move.l  (a4),d0
    tst.l   d0
    bne     revealreqNextTag1
    adda    #4,a4
    move.w  d3,d0
    sub.w   #3,d0
    tst.w   d0
    bne     revealreqGadgetLoop
    move.l  a2,revealreqPrevGadget
    move.l  #0,d3
    lea     revealreqNGad,a5
    lea     revealreqGTags,a4
    lea     revealreqGTypes,a3
revealreqObjectLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    bne     revealreqSkipNotObject
    move.l  #0,revealreqCla
    movea.l revealreqCla,a0
    movea.l 8(a5),a1
    movea.l a4,a2
    movea.l _IntuitionBase,a6
    jsr     NewObjectA(a6)
    movea.l d0,a2
    lea     revealreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
    move.l  a2,d0
    tst.l   d0
    beq     revealreqBadGadgets
revealreqSkipNotObject:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     revealreqNextTag4
revealreqNextTag3:
    adda    #8,a4
revealreqNextTag4:
    move.l  (a4),d0
    tst.l   d0
    bne     revealreqNextTag3
    adda    #4,a4
    move.w  d3,d0
    sub.w   #3,d0
    tst.w   d0
    bne     revealreqObjectLoop
    move.l  #0,a0
    lea     revealreqTags,a1
    move.l  _IntuitionBase,a6
    jsr     OpenWindowTagList(a6)
    move.l  d0,revealreq
    tst.l   d0
    beq     revealreqCannotOpenWin
    jsr     RendrevealreqWindow
    move.l  revealreq,a1
    move.l  revealreqGList,a0
    move.l  #0,a2
    move.l  #$FFFF,d0
    move.l  _IntuitionBase,a6
    jsr     RefreshGList(a6)
    move.l  revealreq,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GT_RefreshWindow(a6)
    move.l  #0,d0
    jmp      OpenrevealreqDone
revealreqAlreadyOpen:
    move.l  _IntuitionBase,a6
    move.l  revealreq,a0
    jsr     ActivateWindow(a6)
    jsr     WindowToFront(a6)
    move.l  #0,d0
    jmp     OpenrevealreqDone
revealreqCannotOpenWin:
    move.l  #1,d0
    jmp      FreerevealreqGadgets
revealreqBadGadgets:
    move.l   #2,d0
FreerevealreqGadgets:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  revealreqGList,a0
    jsr     FreeGadgets(a6)
    move.l  d2,d0
    jmp     FreerevealreqDrawInfo
CannotCreaterevealreqContext:
    move.l  #4,d0
FreerevealreqDrawInfo:
    move.l  d0,d2
    movea.l _IntuitionBase,a6
    movea.l revealreqScr,a0
    movea.l revealreqDrawInfo,a1
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,revealreqDrawInfo
    move.l  d2,d0
    jmp     FreerevealreqVisualInfo
CannotGetrevealreqDrawInfo:
    move.l  #128,d0
FreerevealreqVisualInfo:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  revealreqVisualInfo,a0
    jsr     FreeVisualInfo(a6)
    move.l  #0,revealreqVisualInfo
    move.l  d2,d0
    jmp     OpenrevealreqDone
CannotGetrevealreqVisualInfo:
    move.l  #8,d0
    jmp     OpenrevealreqDone
OpenrevealreqDone:
    movem.l (sp)+,d1-d4/a0-a6
    rts

    XDEF    CloserevealreqWindow
CloserevealreqWindow:
    movem.l d0-d2/a0-a6,-(sp)
    move.l  revealreq,d1
    tst.l   d1
    beq     revealreqNotOpen
    move.l  revealreqDrawInfo,d1
    tst.l   d1
    beq     revealreqNoSDI
    movea.l revealreq,a0
    movea.l 46(a0),a0
    movea.l revealreqDrawInfo,a1
    move.l  _IntuitionBase,a6
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,revealreqDrawInfo
revealreqNoSDI:
    move.l  revealreq,a0
    move.l  _IntuitionBase,a6
    jsr     CloseWindow(a6)
    move.l  #0,revealreq
revealreqNotOpen:
    move.l  revealreqVisualInfo,d1
    tst.l   d1
    beq     revealreqNoCVI
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeVisualInfo(a6)
    move.l  #0,revealreqVisualInfo
revealreqNoCVI:
    move.l  revealreqGList,d1
    tst.l   d1
    beq     revealreqNoCGList
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeGadgets(a6)
    move.l  #0,revealreqGList
revealreqNoCGList:
    movea.l _IntuitionBase,a6
    movem.l (sp)+,d0-d2/a0-a6
    rts


    XDEF    RendintegerreqWindow
RendintegerreqWindow:
    movem.l d0-d4/a0-a4/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  integerreq,d0
    tst.l   d0
    beq     integerreqWindowUnOpened
    movea.l integerreq,a0
    movea.l 50(a0),a4
    move.l  integerreqVisualInfo,BevelTags+12
    move.l  _GadToolsBase,a6
    move.l  #23,d0
    jsr     integerreqScaleY
    move.l  d0,d3
    move.l  #193,d0
    jsr     integerreqScaleX
    move.l  d0,d2
    move.l  #4,d0
    jsr     integerreqScaleY
    add.w   integerreqOffy,d0
    move.l  d0,d1
    move.l  #8,d0
    jsr     integerreqScaleX
    add.w   integerreqOffx,d0
    move.l  a4,a0
    lea     BevelTags,a1
    jsr     DrawBevelBoxA(a6)
integerreqWindowUnOpened:
    movem.l (sp)+,d0-d4/a0-a4/a6
    rts

integerreqScaleX:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  integerreqScr,a0
    move.l  136(a0),a1
    move.w  24(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

integerreqScaleY:
    movem.l d1/a0-a1,-(sp)
    move.l  #0,d1
    move.l  integerreqScr,a0
    move.l  136(a0),a1
    move.w  20(a1),d1
    mulu.w  d1,d0
    addq.w  #4,d0
    divu.w  #8,d0
    move.l  #0,d1
    move.w  d0,d1
    move.l  d1,d0
    movem.l (sp)+,d1/a0-a1
    rts

    XDEF    OpenintegerreqWindow
OpenintegerreqWindow:
    movem.l d1-d4/a0-a6,-(sp)
    move.l  integerreq,d0
    tst.l   d0
    bne     integerreqAlreadyOpen
    move.l  a1,integerreqScr
    move.l  #209,integerreqIW+4
    move.l  #66,integerreqIH+4
    move.l  integerreqIW+4,d0
    jsr     integerreqScaleX
    move.l  d0,integerreqIW+4
    move.l  integerreqIH+4,d0
    jsr     integerreqScaleY
    move.l  d0,integerreqIH+4
    move.l  integerreqScr,a0
    move.b  36(a0),integerreqOffx+1
    move.l  40(a0),a1
    move.w  4(a1),d1
    addq.w  #1,d1
    move.b  35(a0),d0
    ext.w   d0
    add.w   d1,d0
    move.w  d0,integerreqOffy
    move.l  integerreqScr,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GetVisualInfoA(a6)
    move.l  d0,integerreqVisualInfo
    beq     CannotGetintegerreqVisualInfo
    move.l  integerreqScr,a0
    move.l  _IntuitionBase,a6
    jsr     GetScreenDrawInfo(a6)
    move.l  d0,integerreqDrawInfo
    beq     CannotGetintegerreqDrawInfo
    move.l  #0,integerreqGList
    movea.l _GadToolsBase,a6
    lea     integerreqGList,a0
    jsr     CreateContext(a6)
    movea.l d0,a2
    tst.l   d0
    beq     CannotCreateintegerreqContext
    move.l  #0,d3
    lea     integerreqNGad,a5
    lea     integerreqGTags,a4
    lea     integerreqGTypes,a3
integerreqGadgetLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    beq     integerreqSkipOneGadget
    movea.l _SysBase,a6
    movea.l a5,a0
    lea     integerreqBufNewGad,a1
    moveq   #30,d0
    jsr     CopyMem(a6)
    move.l  #0,d0
    move.l  integerreqVisualInfo,integerreqBufNewGad+22
    move.w  integerreqBufNewGad,d0
    jsr     integerreqScaleX
    move.w  d0,integerreqBufNewGad
    move.w  integerreqBufNewGad+2,d0
    jsr     integerreqScaleY
    move.w  d0,integerreqBufNewGad+2
    move.w  (a3),d0
    tst.w   d0
    beq     integerreqDoNotScaleGeneric
    move.w  integerreqBufNewGad+4,d0
    jsr     integerreqScaleX
    move.w  d0,integerreqBufNewGad+4
    move.w  integerreqBufNewGad+6,d0
    jsr     integerreqScaleY
    move.w  d0,integerreqBufNewGad+6
integerreqDoNotScaleGeneric:
    movea.l integerreqScr,a1
    movea.l 40(a1),a0
    move.l  a0,integerreqBufNewGad+12
    move.w  integerreqOffx,d0
    move.w  integerreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,integerreqBufNewGad
    move.w  integerreqOffy,d0
    move.w  2+integerreqBufNewGad,d1
    add.w   d1,d0
    move.w  d0,integerreqBufNewGad+2
    move.l  #0,d0
    movea.l _GadToolsBase,a6
    movea.l a2,a0
    move.w  (a3),d0
    lea     integerreqBufNewGad,a1
    movea.l a4,a2
    jsr     CreateGadgetA(a6)
    movea.l d0,a2
    tst.l   d0
    beq     integerreqBadGadgets
    lea    integerreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
integerreqSkipOneGadget:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     integerreqNextTag2
integerreqNextTag1:
    adda    #8,a4
integerreqNextTag2:
    move.l  (a4),d0
    tst.l   d0
    bne     integerreqNextTag1
    adda    #4,a4
    move.w  d3,d0
    sub.w   #5,d0
    tst.w   d0
    bne     integerreqGadgetLoop
    move.l  a2,integerreqPrevGadget
    move.l  #0,d3
    lea     integerreqNGad,a5
    lea     integerreqGTags,a4
    lea     integerreqGTypes,a3
integerreqObjectLoop:
    move.w  (a3),d0
    cmp.w   #198,d0
    bne     integerreqSkipNotObject
    move.l  #0,integerreqCla
    movea.l integerreqCla,a0
    movea.l 8(a5),a1
    movea.l a4,a2
    movea.l _IntuitionBase,a6
    jsr     NewObjectA(a6)
    movea.l d0,a2
    lea     integerreqGadgets,a0
    move.l  d3,d0
    mulu    #4,d0
    adda.l  d0,a0
    move.l  a2,(a0)
    move.l  a2,d0
    tst.l   d0
    beq     integerreqBadGadgets
integerreqSkipNotObject:
    add.w   #1,d3
    adda    #30,a5
    adda    #2,a3
    jmp     integerreqNextTag4
integerreqNextTag3:
    adda    #8,a4
integerreqNextTag4:
    move.l  (a4),d0
    tst.l   d0
    bne     integerreqNextTag3
    adda    #4,a4
    move.w  d3,d0
    sub.w   #5,d0
    tst.w   d0
    bne     integerreqObjectLoop
    move.l  #0,a0
    lea     integerreqTags,a1
    move.l  _IntuitionBase,a6
    jsr     OpenWindowTagList(a6)
    move.l  d0,integerreq
    tst.l   d0
    beq     integerreqCannotOpenWin
    jsr     RendintegerreqWindow
    move.l  integerreq,a1
    move.l  integerreqGList,a0
    move.l  #0,a2
    move.l  #$FFFF,d0
    move.l  _IntuitionBase,a6
    jsr     RefreshGList(a6)
    move.l  integerreq,a0
    move.l  #0,a1
    move.l  _GadToolsBase,a6
    jsr     GT_RefreshWindow(a6)
    move.l  #0,d0
    jmp      OpenintegerreqDone
integerreqAlreadyOpen:
    move.l  _IntuitionBase,a6
    move.l  integerreq,a0
    jsr     ActivateWindow(a6)
    jsr     WindowToFront(a6)
    move.l  #0,d0
    jmp     OpenintegerreqDone
integerreqCannotOpenWin:
    move.l  #1,d0
    jmp      FreeintegerreqGadgets
integerreqBadGadgets:
    move.l   #2,d0
FreeintegerreqGadgets:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  integerreqGList,a0
    jsr     FreeGadgets(a6)
    move.l  d2,d0
    jmp     FreeintegerreqDrawInfo
CannotCreateintegerreqContext:
    move.l  #4,d0
FreeintegerreqDrawInfo:
    move.l  d0,d2
    movea.l _IntuitionBase,a6
    movea.l integerreqScr,a0
    movea.l integerreqDrawInfo,a1
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,integerreqDrawInfo
    move.l  d2,d0
    jmp     FreeintegerreqVisualInfo
CannotGetintegerreqDrawInfo:
    move.l  #128,d0
FreeintegerreqVisualInfo:
    move.l  d0,d2
    move.l  _GadToolsBase,a6
    move.l  integerreqVisualInfo,a0
    jsr     FreeVisualInfo(a6)
    move.l  #0,integerreqVisualInfo
    move.l  d2,d0
    jmp     OpenintegerreqDone
CannotGetintegerreqVisualInfo:
    move.l  #8,d0
    jmp     OpenintegerreqDone
OpenintegerreqDone:
    movem.l (sp)+,d1-d4/a0-a6
    rts

    XDEF    CloseintegerreqWindow
CloseintegerreqWindow:
    movem.l d0-d2/a0-a6,-(sp)
    move.l  integerreq,d1
    tst.l   d1
    beq     integerreqNotOpen
    move.l  integerreqDrawInfo,d1
    tst.l   d1
    beq     integerreqNoSDI
    movea.l integerreq,a0
    movea.l 46(a0),a0
    movea.l integerreqDrawInfo,a1
    move.l  _IntuitionBase,a6
    jsr     FreeScreenDrawInfo(a6)
    move.l  #0,integerreqDrawInfo
integerreqNoSDI:
    move.l  integerreq,a0
    move.l  _IntuitionBase,a6
    jsr     CloseWindow(a6)
    move.l  #0,integerreq
integerreqNotOpen:
    move.l  integerreqVisualInfo,d1
    tst.l   d1
    beq     integerreqNoCVI
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeVisualInfo(a6)
    move.l  #0,integerreqVisualInfo
integerreqNoCVI:
    move.l  integerreqGList,d1
    tst.l   d1
    beq     integerreqNoCGList
    move.l  d1,a0
    move.l  _GadToolsBase,a6
    jsr     FreeGadgets(a6)
    move.l  #0,integerreqGList
integerreqNoCGList:
    movea.l _IntuitionBase,a6
    movem.l (sp)+,d0-d2/a0-a6
    rts


    
    end
