Files
Shawn Quick dfcaae62dd Add qlink, the disk tools, and a bootable ProDOS 8 image.
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.
2026-10-16 14:41:55 -07:00

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