mirror of
https://github.com/marketideas/qasm.git
synced 2026-10-26 04:02:24 +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
8.7 KiB
Plaintext
1 line
8.7 KiB
Plaintext
string asis
|
|
;==========================================================
|
|
;
|
|
; init.data
|
|
;
|
|
; Data structure area for the GS/OS initialization package.
|
|
;
|
|
; Author: Andy Stadler
|
|
; Created: 12-Jan-87
|
|
; Modified: See modification history below
|
|
;
|
|
; Copyright (C) 1987-1989 Apple Computer, Inc.
|
|
; All Rights Reserved.
|
|
;
|
|
;=============================================================================
|
|
;
|
|
; Modification history:
|
|
;
|
|
; 01-Feb-88 ADS Initial release
|
|
; 15-Feb-88 ADS Text mode stuff
|
|
; 23-Feb-88 ADS Slid screen stuff around for 'fmt too large'
|
|
; indicators
|
|
; 06-Apr-88 CAE added 'which_class' variable
|
|
; 25-Jul-88 CAE removed leading spaces from format strings
|
|
; changed 'k' to 'K'
|
|
; 10-Aug-88 FAB at pubs request (orders) restored leading spaces in
|
|
; format strings. Also changed 'Mb' to
|
|
; ' MB' and 'Gb' to ' GB' again at pubs request.
|
|
; 21-Dec-88 CAE added msg_flag, msg_window, save_port, msg_parms
|
|
; 12-Jan-89 CAE moved scr_save_buf here from equates
|
|
; 23-Mar-89 CAE added 'dot_five' string
|
|
;=============================================================================
|
|
|
|
print push
|
|
print off
|
|
include 'E16.Control'
|
|
include 'E16.Window'
|
|
print pop
|
|
|
|
init_data Proc Export ;can't be a Record 'cause of AsmIIGS bug
|
|
Import draw_window
|
|
with fmt_list_record,fst_list_record
|
|
|
|
; non-page-zero variables
|
|
|
|
EXPORT which_class
|
|
which_class DC.W 0
|
|
EXPORT which_call
|
|
which_call DC.W 0
|
|
Export my_dp
|
|
my_dp dc.w 0
|
|
EXPORT save_cursor
|
|
save_cursor DC.L 0
|
|
EXPORT cons_dev_num
|
|
cons_dev_num DC.W 0
|
|
EXPORT vid_state
|
|
vid_state DC.W 0
|
|
EXPORT console_state
|
|
console_state DC.W 0
|
|
|
|
;msg_flag = 0 if the 'Initializing...' message was not put up
|
|
; = 1 if the message was put up in graphics mode
|
|
; = -1 if the message was put up in text mode
|
|
|
|
EXPORT msg_flag
|
|
msg_flag DC.W 0 ;Added CAE 12/21/88
|
|
EXPORT msg_window
|
|
msg_window DC.L 0 ;Added CAE 12/21/88
|
|
EXPORT save_port
|
|
save_port DC.L 0 ;Added CAE 12/21/88
|
|
EXPORT scr_save_buf
|
|
scr_save_buf DC.L 0 ;Added CAE 1/12/89
|
|
Export currentFST
|
|
currentFST ds.w 1 ;stores FST ID of currently selected FST
|
|
Export path_vp
|
|
path_vp ds.l 1 ;stores VP of volume name after it's entered
|
|
Export save_in_port
|
|
save_in_port ds.l 1 ;VP of saved Input Port record
|
|
Export save_term_list
|
|
save_term_list ds.l 1 ;VP of saved terminator list
|
|
Export save_list_len
|
|
save_list_len ds.w 1 ;length of saved terminator list
|
|
Export save_dflt_string
|
|
save_dflt_string ds.l 1 ;VP of saved default string
|
|
Export dflt_string_len
|
|
dflt_string_len ds.w 1 ;length of saved default string
|
|
|
|
; used in add_size_str procedure
|
|
Export dest_buffer
|
|
dest_buffer DS.B dest_length
|
|
|
|
; alert window definition table
|
|
|
|
EXPORT init_wnd_parms
|
|
init_wnd_parms DC.W end_wnd_parms-init_wnd_parms
|
|
DC.W $2020 ; alert, visible
|
|
DC.L 0 ; no title
|
|
DC.L 0 ; refcon
|
|
DC.L 0 ; zoom size
|
|
DC.L 0 ; zoom size
|
|
DC.L 0 ; default colors
|
|
DC.L 0 ; origin point
|
|
DC.L 0 ; content size
|
|
DC.L 0 ; max grow size
|
|
DC.L 0 ; arrow scroll distance
|
|
DC.L 0 ; page scroll distance
|
|
DC.L 0 ; info refcon
|
|
DC.W 0 ; info bar height
|
|
DC.L 0 ; std frame defproc
|
|
DC.L 0 ; info bar defproc
|
|
DC.L draw_window ; content defproc
|
|
DC.W 30,120 ; top left corner
|
|
DC.W 178,520 ; bottom right corner
|
|
DC.L -1 ; topmost window
|
|
DC.L 0 ; no memory yet
|
|
; EXPORT end_wnd_parms
|
|
end_wnd_parms
|
|
|
|
|
|
; 'Initializing...' alert window definition table
|
|
|
|
EXPORT msg_parms ;Added CAE 12/21/88
|
|
msg_parms DC.W end_msg_parms-msg_parms
|
|
DC.W $2020 ; alert, visible
|
|
DC.L 0 ; no title
|
|
DC.L 0 ; refcon
|
|
DC.L 0 ; zoom size
|
|
DC.L 0 ; zoom size
|
|
DC.L 0 ; default colors
|
|
DC.L 0 ; origin point
|
|
DC.L 0 ; content size
|
|
DC.L 0 ; max grow size
|
|
DC.L 0 ; arrow scroll distance
|
|
DC.L 0 ; page scroll distance
|
|
DC.L 0 ; info refcon
|
|
DC.W 0 ; info bar height
|
|
DC.L 0 ; std frame defproc
|
|
DC.L 0 ; info bar defproc
|
|
DC.L 0 ; content defproc
|
|
DC.W 90,220 ; top left corner
|
|
DC.W 110,420 ; bottom right corner
|
|
DC.L -1 ; topmost window
|
|
DC.L 0 ; no memory yet
|
|
; EXPORT end_msg_parms
|
|
end_msg_parms
|
|
|
|
|
|
; rect into which the 'fst too large' warning fits
|
|
|
|
numLines equ 4
|
|
msgTop equ 87
|
|
EXPORT warn_rect
|
|
warn_rect dc.w msgTop ;Rect to display message in
|
|
dc.w 20
|
|
dc.w (numLines*9)+msgTop
|
|
dc.w 380
|
|
|
|
Export first_rect
|
|
first_rect dc.w msgTop ;Rect to display initial message in
|
|
dc.w 80 ;(leave enough room for the 'Caution' icon)
|
|
dc.w (numLines*9)+msgTop
|
|
dc.w 380
|
|
|
|
dfltTop equ 128
|
|
dfltLeft equ 237
|
|
dfltBottom equ dfltTop+15
|
|
dfltRight equ dfltLeft+90
|
|
|
|
CancelTop equ dfltTop
|
|
CancelLeft equ 73
|
|
CancelBottom equ CancelTop+15
|
|
CancelRight equ CancelLeft+90
|
|
|
|
Export MyControls
|
|
MyControls dc.l CancelButton
|
|
dc.l defaultButton
|
|
dc.l list2_rec
|
|
dc.l list1_rec
|
|
dc.l editLine
|
|
dc.l 0
|
|
|
|
Export dflt_title
|
|
defaultButton dc.w 9 ;Param count
|
|
dc.l defaultButtonID ;Control #
|
|
dc.w dfltTop ;control rect
|
|
dc.w dfltLeft
|
|
dc.w dfltBottom
|
|
dc.w dfltRight
|
|
dc.l $80000000 ;Simple button
|
|
dc.w 0 ;Flags (single outline button)
|
|
dc.w $3000 ;More flags
|
|
dc.l 0 ;Refcon
|
|
dflt_title dc.l 0 ;title pointer
|
|
dc.l 0 ;No color table
|
|
dc.b $0d ;key equivalent = carriage return
|
|
dc.b $0d
|
|
dc.w %0000000100000000 ;Open-Apple modifier needed
|
|
dc.w %0000000100000000
|
|
|
|
Export cancel_title
|
|
CancelButton dc.w 9 ;Param count
|
|
dc.l CancelButtonID ;Control #
|
|
dc.w CancelTop
|
|
dc.w CancelLeft
|
|
dc.w CancelBottom
|
|
dc.w CancelRight
|
|
dc.l $80000000 ;Simple button
|
|
dc.w 0 ;Flags
|
|
dc.w $3000 ;More flags
|
|
dc.l 0 ;Refcon
|
|
cancel_title dc.l 0 ;Title Pointer
|
|
dc.l 0 ;No color table
|
|
dc.b $1b ;key equivalent = ESC
|
|
dc.b $1b
|
|
dc.w 0 ;no modifiers needed
|
|
dc.w 0
|
|
|
|
; fst list record - graphics list manager
|
|
|
|
EXPORT list1_size,list1_ref
|
|
list1_rec
|
|
dc.w 14 ;pCount
|
|
dc.l fstListID ;control ID
|
|
dc.w 39,40 ;rect
|
|
dc.w 81,160
|
|
dc.l listControl ;procref
|
|
dc.w $0040 ;flags
|
|
dc.w fCtlProcRefNotPtr+\
|
|
fCtlCanBeTarget+\
|
|
fCtlIsMultiPart ;moreflags
|
|
dc.l 0 ;refcon
|
|
list1_size dc.w 0 ;listSize
|
|
dc.w 4 ;listView
|
|
dc.w 2 ;listType (single selections, pStrings)
|
|
dc.w 1 ;listStart
|
|
dc.l 0 ;listDraw
|
|
dc.w 10 ;listMemHeight
|
|
dc.w ff_size ;listMemSize
|
|
list1_ref dc.l 0 ;listRef
|
|
|
|
; fmt list record - graphics list manager
|
|
|
|
EXPORT list2_size,list2_ref
|
|
list2_rec
|
|
dc.w 14 ;pCount
|
|
dc.l intrlvListID ;control ID
|
|
dc.w 39,216 ;rect
|
|
dc.w 81,336
|
|
dc.l listControl ;procref
|
|
dc.w $0040 ;flags
|
|
dc.w fCtlProcRefNotPtr+\
|
|
fCtlCanBeTarget+\
|
|
fCtlIsMultiPart ;moreflags
|
|
dc.l 0 ;refcon
|
|
list2_size dc.w 0 ;listSize
|
|
dc.w 4 ;listView
|
|
dc.w 2 ;listType (single selections, pStrings)
|
|
dc.w 1 ;listStart
|
|
dc.l 0 ;listDraw
|
|
dc.w 10 ;listMemHeight
|
|
dc.w df_size ;listMemSize
|
|
list2_ref dc.l 0 ;listRef
|
|
|
|
Export editLine,name_default
|
|
editLine dc.w 8 ;pCount
|
|
dc.l editLineID ;ID
|
|
dc.w 18,65 ;rect
|
|
dc.w 31,360
|
|
dc.l editLineControl ;procRef
|
|
dc.w 0 ;flags
|
|
dc.w fCtlCanBeTarget+\
|
|
fCtlWantEvents+\
|
|
fCtlProcRefNotPtr ;moreFlags
|
|
dc.l 0 ;refCon
|
|
dc.w 32 ;maxSize
|
|
name_default dc.l 0 ;defaultRef
|
|
|
|
; fst list record - text list 'manager'
|
|
|
|
EXPORT tx_list_1
|
|
tx_list_1
|
|
DC.L 0 ; member list ptr
|
|
DC.B 17+32,10+32 ; port to draw list in
|
|
DC.B 36+32,14+32
|
|
DC.W 0 ; number entries in list
|
|
DC.W 0 ; current selection
|
|
DC.W 0 ; top displayed entry
|
|
DC.W ff_size ; list entry size
|
|
|
|
; fmt list record - text list 'manager'
|
|
|
|
EXPORT tx_list_2
|
|
tx_list_2
|
|
DC.L 0 ; member list ptr
|
|
DC.B 43+32,10+32 ; port to draw list in
|
|
DC.B 62+32,14+32
|
|
DC.W 0 ; number entries in list
|
|
DC.W 0 ; current selection
|
|
DC.W 0 ; top displayed entry
|
|
DC.W df_size ; list entry size
|
|
|
|
|
|
; event record for event manager
|
|
|
|
Export TaskRecord,TaskData4
|
|
TaskRecord
|
|
EventWhat ds.w 1
|
|
EventMessage ds.w 2
|
|
EventWhen ds.w 2
|
|
EventWhere ds.w 2
|
|
EventModifiers ds.w 1
|
|
TaskData ds.w 2
|
|
TaskMask dc.l tmIdleEvents+\
|
|
tmControlKey+\
|
|
tmContentControls+\
|
|
tmFindW+\
|
|
tmUpdate+\
|
|
0 ;to make editing easier!
|
|
dc.l 0 ;wmLastClickTick
|
|
dc.w 0 ;wmClickCount
|
|
dc.l 0 ;wmTaskData2
|
|
dc.l 0 ;wmTaskData3
|
|
TaskData4 dc.l 0 ;wmTaskData4
|
|
dc.l 0 ;wmLastClockPt
|
|
|
|
|
|
; strings for make_fmt_str routine
|
|
; (moved here to get more space in bank 0 language card area)
|
|
|
|
string Pascal
|
|
bytes_string DC.B ' bytes'
|
|
|
|
kb_string DC.B 'K'
|
|
|
|
mb_string DC.B ' MB'
|
|
|
|
gb_string DC.B ' GB'
|
|
|
|
EXPORT two_spaces
|
|
two_spaces DC.B ' '
|
|
|
|
EXPORT colon_one
|
|
colon_one DC.B ':1'
|
|
|
|
EXPORT dot_five
|
|
dot_five DC.B '.5'
|
|
|
|
String AsIs
|
|
|
|
EXPORT fmt_str_tb
|
|
fmt_str_tb DC.L bytes_string
|
|
DC.L kb_string
|
|
DC.L mb_string
|
|
DC.L gb_string
|
|
|
|
ENDP
|
|
|
|
pb_stuff Record
|
|
export pb_reqFileSysID
|
|
pb_reqFileSysID ds.w 1 ; reqFileSysID parameter
|
|
export pb_flags
|
|
pb_flags ds.w 1 ; flags parameter
|
|
EndR
|
|
|