mirror of
https://github.com/marketideas/qasm.git
synced 2026-10-24 22:02:28 +00:00
Move the assembler to src/qasm. qlink links OMF 1.0 and 2.0 from a script. makeBin flattens a load file, qomf dumps OMF, and qpro builds ProDOS volumes. APW and MPW assemble through the ORCA front end. Relocatable modules emit OMF objects. Listings stay off unless -l is set. make boot assembles the GS/OS 6.0.1 ProDOS 8 kernel and BASIC.SYSTEM into an 800K volume. BASIC.SYSTEM accepts ls and pfx, and its splash reports PRODOS BASIC 2.0, copyright 1983-2026. IIGS.601.SRC is the source and the BASIC.SYSTEM oracle that image is built from.
1 line
15 KiB
Plaintext
1 line
15 KiB
Plaintext
DataSegment RECORD
|
|
|
|
IMPORT MyDraw
|
|
|
|
EXPORT DIalogTable
|
|
EXPORT GetDialog640
|
|
EXPORT GetDialog320
|
|
EXPORT PutDialog640
|
|
EXPORT PutDialog320
|
|
EXPORT ListManagerRec
|
|
|
|
**********************************************************************
|
|
* Table of Dialogs. Index is GetPutFlag created in Newsf.aii.
|
|
* d0:640/320 mode. 0 = 640, 1 = 320
|
|
* d1:Get/Put flag. 0 = Get, 1 = Put
|
|
**********************************************************************
|
|
DialogTable dc.l GetDialog640, GetDialog320, PutDialog640, PutDialog320
|
|
|
|
*********************************************************************
|
|
* GetFile DIalog Data record, 08-June-1988 *
|
|
*********************************************************************
|
|
|
|
GetDialog640
|
|
* dc.w 40,320-200,154,320+200 ; drect of dialog (640 mode) recommended
|
|
dc.w 0,0,114,400 ; drect of dialog (640 mode) recommended
|
|
dc.w -1
|
|
dc.w 0,0 ; reserved word
|
|
dc.l OpenBut640
|
|
dc.l CloseBut640
|
|
dc.l NextBut640 ; volumes popup
|
|
dc.l CancelBut640
|
|
dc.l Scroll640 ; dummy item for compatability
|
|
dc.l Path640
|
|
dc.l Files640
|
|
dc.l Prompt640
|
|
dc.l 0
|
|
|
|
|
|
OpenBut640
|
|
dc.w 1 ;item #
|
|
dc.w 61,265,73,375 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l OpenStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CloseBut640
|
|
dc.w 2 ;item #
|
|
dc.w 79,265,91,375 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CloseStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
|
|
NextBut640
|
|
dc.w 3 ;item #
|
|
dc.w 25,265,37,375 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l DriveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CancelBut640
|
|
dc.w 4 ;item #
|
|
dc.w 97,265,109,375 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CancelStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
|
|
Scroll640 ;dummy item or ACCEPT button for multi
|
|
dc.w 5 ;item #
|
|
dc.w 43,265,55,375 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l AcceptStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
|
|
Path640
|
|
dc.w 6 ;item #
|
|
dc.w 12,15,24,395 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l PathDraw ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
Files640
|
|
dc.w 7 ;item #
|
|
dc.w 25,18,107,215 ;drect
|
|
dc.w UserItem+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
Prompt640
|
|
dc.w 8 ;item #
|
|
dc.w 03,15,12,395 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
|
|
GetDialog320
|
|
|
|
dc.w 0,0,114,260 ; drect of dialog (320 mode)
|
|
dc.w -1
|
|
dc.w 0,0 ; reserved word
|
|
dc.l OpenBut320
|
|
dc.l CloseBut320
|
|
dc.l NextBut320 ; volumes popup
|
|
dc.l CancelBut320
|
|
dc.l Scroll320 ; dummy item
|
|
dc.l Path320
|
|
dc.l Files320
|
|
dc.l Prompt320
|
|
dc.l 0
|
|
|
|
|
|
OpenBut320
|
|
dc.w 1 ;item #
|
|
dc.w 61,160,73,255 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l OpenStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CloseBut320
|
|
dc.w 2 ;item #
|
|
dc.w 79,160,91,255 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CloseStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
NextBut320
|
|
dc.w 3 ;item #
|
|
dc.w 25,160,37,255 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l DriveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CancelBut320
|
|
dc.w 4 ;item #
|
|
dc.w 97,160,109,255 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CancelStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
Scroll320 ;dummy item or ACCEPT button for Multi
|
|
dc.w 5 ;item #
|
|
dc.w 43,160,55,255 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l AcceptStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
|
|
Path320
|
|
dc.w 6 ;item #
|
|
dc.w 12,06,24,256 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l PathDraw ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
Files320
|
|
dc.w 7 ;item #
|
|
dc.w 25,05,107,140 ;drect
|
|
dc.w UserItem+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
Prompt320
|
|
dc.w 8 ;item #
|
|
dc.w 03,05,12,255 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0 ;length
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
**********************************************************************
|
|
**********************************************************************
|
|
*********************************************************************
|
|
* PutFile DIalog Data record, 03-October-1988 *
|
|
*********************************************************************
|
|
|
|
PutDialog640
|
|
|
|
dc.w 0,0,120,320 ; drect of dialog (640 mode) recommended
|
|
dc.w -1
|
|
dc.w 0,0 ; reserved word
|
|
dc.l SaveButP640
|
|
dc.l OpenButP640
|
|
dc.l CloseButP640
|
|
dc.l NextButP640
|
|
dc.l CancelButP640
|
|
dc.l ScrollP640 ;DUMMY item
|
|
dc.l PathP640
|
|
dc.l FilesP640
|
|
dc.l PromptP640
|
|
dc.l EditP640
|
|
dc.l StatTextP640
|
|
dc.l CreateButP640
|
|
dc.l 0
|
|
|
|
|
|
SaveButP640
|
|
dc.w 1 ;item #
|
|
dc.w 87,204,99,310 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l SaveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
OpenButP640
|
|
dc.w 2 ;item #
|
|
dc.w 49,204,61,310 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l OpenStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CloseButP640
|
|
dc.w 3 ;item #
|
|
dc.w 64,204,76,310 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CloseStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
|
|
NextButP640
|
|
dc.w 4 ;item #
|
|
dc.w 15,204,27,310 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l DriveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CancelButP640
|
|
dc.w 5 ;item #
|
|
dc.w 104,204,116,310 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CancelStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
ScrollP640
|
|
dc.w 6 ;item #
|
|
dc.w 0,0,0,0 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
PathP640
|
|
dc.w 7 ;item #
|
|
dc.w 0,10,12,315 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l PathDraw ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
FilesP640
|
|
dc.w 8 ;item #
|
|
dc.w 26,10,88,170 ;drect
|
|
dc.w UserItem+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
PromptP640
|
|
dc.w 9 ;item #
|
|
dc.w 88,10,100,200 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
EditP640
|
|
dc.w 10 ;item #
|
|
dc.w 100,10,118,194 ;drect
|
|
dc.w EditLine+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 32 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
StatTextP640
|
|
dc.w 11 ;item #
|
|
dc.w 12,10,22,200 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l KbFreeStr ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
CreateButP640
|
|
dc.w 12 ;item #
|
|
dc.w 29,204,41,310 ;drect
|
|
dc.w ButtonItem ;type
|
|
dc.l FolderStr ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
|
|
PutDialog320
|
|
|
|
dc.w 0,0,128,270 ; drect of dialog (320 mode)
|
|
dc.w -1
|
|
dc.w 0,0 ; reserved word
|
|
dc.l SaveButP320
|
|
dc.l OpenButP320
|
|
dc.l CloseButP320
|
|
dc.l NextButP320
|
|
dc.l CancelButP320
|
|
dc.l ScrollP320 ;DUMMY item
|
|
dc.l PathP320
|
|
dc.l FilesP320
|
|
dc.l PromptP320
|
|
dc.l EditP320
|
|
dc.l StatTextP320
|
|
dc.l CreateButP320
|
|
dc.l 0
|
|
|
|
|
|
SaveButP320
|
|
dc.w 1 ;item #
|
|
dc.w 93,165,105,265 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l SaveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
OpenButP320
|
|
dc.w 2 ;item #
|
|
dc.w 54,165,66,265 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l OpenStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CloseButP320
|
|
dc.w 3 ;item #
|
|
dc.w 72,165,84,265 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CloseStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
NextButP320
|
|
dc.w 4 ;item #
|
|
dc.w 15,165,27,265 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l DriveStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
CancelButP320
|
|
dc.w 5 ;item #
|
|
dc.w 111,165,123,265 ;drect
|
|
dc.w ButtonItem ;type of item
|
|
dc.l CancelStr ;Item descriptor
|
|
dc.w 0,0 ;Item value & bit flags
|
|
dc.l 0 ;color table ptr (nill is default)
|
|
|
|
ScrollP320
|
|
dc.w 6 ;item #
|
|
dc.w 00,00,00,00 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
PathP320
|
|
dc.w 7 ;item #
|
|
dc.w 00,10,12,265 ;drect
|
|
dc.w UserItem ;type
|
|
dc.l PathDraw ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
FilesP320
|
|
dc.w 8 ;item #
|
|
dc.w 26,10,88,145 ;drect
|
|
dc.w UserItem+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0,0 ;Item value and bit flags
|
|
dc.l 0 ;color table
|
|
|
|
PromptP320
|
|
dc.w 9 ;item #
|
|
dc.w 88,10,100,170 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 0
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
|
|
EditP320
|
|
dc.w 10 ;item #
|
|
dc.w 100,10,118,157 ;drect
|
|
dc.w EditLine+ItemDisable ;type
|
|
dc.l 0 ;Item descriptor
|
|
dc.w 32 ;size of text max
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
StatTextP320
|
|
dc.w 11 ;item #
|
|
dc.w 12,10,22,160 ;drect
|
|
dc.w StatText+ItemDisable ;type
|
|
dc.l KbFreeStr ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
CreateButP320
|
|
dc.w 12 ;item #
|
|
dc.w 33,165,45,265 ;drect
|
|
dc.w ButtonItem ;type
|
|
dc.l FolderStr ;Item descriptor
|
|
dc.w 0 ;size of text
|
|
dc.w 0 ;Bit flags
|
|
dc.l 0 ;color table
|
|
|
|
**********************************************************************
|
|
* needed strings for above dialogs
|
|
**********************************************************************
|
|
SaveStr str 'Save'
|
|
OpenStr str 'Open'
|
|
AcceptStr str 'Accept'
|
|
CloseStr str 'Close'
|
|
DriveStr str 'Disks' ;was Volumes (25-Mar-92 DAL)
|
|
CancelStr str 'Cancel'
|
|
FolderStr str 'New Folder'
|
|
*** KbFreeStr str '^0 free of ^1 k.' ;Dialog manager Routine replace strings
|
|
KbFreeStr str '^0 free of ^1K.' ;6-Feb-91 DAL
|
|
;UntitledStr str 'Untitled' ;discovered disused 15-Apr-91 DAL
|
|
|
|
**********************************************************************
|
|
* List manager Record (is moved this to ram because ROM based)
|
|
**********************************************************************
|
|
ListManagerRec
|
|
dc.w 0,0,0,0 ;size of rec
|
|
dc.w 0 ;number of list members total
|
|
dc.w 8 ;max viewable members
|
|
dc.w 2 ;Bit Flags (single selection, length type strings used)
|
|
dc.w 1 ;first member to view
|
|
dc.l 0 ;space for list control's handle
|
|
dc.l MyDraw ;space for pointer to custom drawing routine
|
|
dc.w 10 ;height of list members
|
|
dc.w 5 ;size of member records in MyList in bytes
|
|
GetListPtr
|
|
dc.l 0 ;Pointer to first element of list (put your pointer here!!!)
|
|
dc.l 0 ;Becomes Control's refCon (app defined)
|
|
dc.l 0 ;Color table for list's scroll bar (null is defalut)
|
|
|
|
|
|
**********************************************************************
|
|
* values that should be used for the files rect. in the list manager
|
|
* dc.w 25,18,107,215 ;size of rec for 640 mode
|
|
*
|
|
* dc.w 27,05,109,140 ;size of rec for 320 mode
|
|
*
|
|
* dc.w 26,10,88,170 ;size of rec for 640 mode
|
|
*
|
|
* dc.w 27,05,109,140 ;size of rec for 320 mode ***DEBUG*** check these numbers
|
|
*
|
|
**********************************************************************
|
|
|
|
|
|
ENDR
|
|
|
|
************************************************************************
|
|
* List Record template
|
|
**********************************************************************
|
|
ListRecord RECORD 0
|
|
theRect ds.w 4 ;size of rect
|
|
listCount ds.w 1 ;number of list members total
|
|
listView ds.w 1 ;max viewable members
|
|
listFlags ds.w 1 ;Bit Flags (single selection, length type strings used)
|
|
listFirst ds.w 1 ;first member to view
|
|
listControlH ds.l 1 ;space for list control's handle
|
|
listDraw ds.l 1 ;space for pointer to custom drawing routine
|
|
listHeight ds.w 1 ;height of list members
|
|
listSize ds.w 1 ;size of member records in MyList in bytes
|
|
listPtr ds.l 1 ;Pointer to first element of list (put your pointer here!!!)
|
|
listControl ds.l 1 ;Becomes Control's refCon (app defined)
|
|
listColor ds.l 1 ;Color table for list's scroll bar (null is defalut)
|
|
ENDR
|
|
|
|
TheStrings PROC
|
|
EXPORT valueTable
|
|
EXPORT endValue
|
|
EXPORT generr
|
|
EXPORT memorymessage
|
|
EXPORT noVolMessage
|
|
|
|
*********************************************************************
|
|
*
|
|
* Every string you could ever want! (Except for the ones above)
|
|
*
|
|
**********************************************************************
|
|
*
|
|
* the following string are used to display possible errors while creating
|
|
* a folder.
|
|
*
|
|
valueTable
|
|
*
|
|
* Used by 'DoCreate' routiune to pick a message for a given Error number.
|
|
* scan for the error # and use the following message.
|
|
*
|
|
dc.w $10
|
|
dc.l NoDevice ;no device
|
|
dc.w $2B
|
|
dc.l writeprot ;write protected
|
|
dc.w $40
|
|
dc.l badpath ;bad path
|
|
dc.w $44
|
|
dc.l badpath ;bad path
|
|
dc.w $45
|
|
dc.l novol ;no volume
|
|
dc.w $47
|
|
dc.l dupname ;duplicate name
|
|
dc.w $48
|
|
dc.l volFull ;volume full
|
|
dc.w $49
|
|
dc.l volFull ;volume directory full
|
|
endValue
|
|
|
|
writeprot dc.b 'Disk is write protected',0
|
|
badpath dc.b 'The pathname has changed or is now in error',0
|
|
novol dc.b 'Please replace the disk (Disk not found)',0
|
|
dupname dc.b 'That name is already in use. Please pick another',0
|
|
volFull dc.b 'The disk or disk directory is full',0
|
|
NoDevice dc.b 'The device was not found',0
|
|
GenErr dc.b 'A strange error occurred',0 ;15-Mar-91 DAL (was "...strange I/O error...")
|
|
|
|
*
|
|
* The following messages are passed to Alert Window if errors occur
|
|
*
|
|
MemoryMessage dc.b '62/Unable to allocate memory to run Standard File.',$0d,'Free mem: *0 bytes',$0d,'Requested: *1 bytes/^#1',0
|
|
noVolMessage dc.B '65/No disks are available. Please insert a disk./^#0/#1',0 ;25-Mar-92 DAL
|
|
|
|
ENDP
|