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
2.5 KiB
Plaintext

*****************************************************************************************
* *
* DOS 3.3 File System Translator for GS/OS(TM) *
* *
* Copyright Apple Computer Inc. 1989 ALL RIGHTS RESERVED *
* *
* Storage Areas *
* *
*****************************************************************************************
;misc storage locations used by the fst
gen_buf_vp ds.l 1
supposed_dev ds 1
valid_vcr ds 1
file_name_mark ds 1
old_fcr ds 1
fcr_index ds 1
cat_sec_count ds 1
cmp_mask ds 1
cat_index ds 1
fde_index ds 1
class ds 1
p_cnt ds 1
vol_name_vp ds.l 1
info_state ds 1
data_offset ds 1
nl_len ds 1
r_cnt ds.l 1
endmark ds.l 1
phys_mark ds 1
ts_num ds 1
d_sect_off ds 1
data_sect ds 1
bytes_left ds.l 1
sec_start ds 1
byte_cnt ds 1
recent_xfer ds 1
mark ds.l 1
req_cnt ds.l 1
sec_num ds.l 1
sec_end ds 1
bytes_sent ds.l 1
dbr_word ds 1 ;dbr in low byte, 0 in high byte
last_data_sec ds 1 ;last data sector read in by find_eof
temp_vp ds.l 1 ;vp for temporary buffer
gbuf_ptr ds.l 1 ;pointer to 1K system general buffer
text_flag ds.w 1 ;flag for TEXT file read mode, 0 = as-is,É
;É1 = clear high bits
vcr_fcr_flags ds.w 1 ;bit 15 = VCR allocated during this call
;bit 14 = FCR allocated during this call
;these flags are read if an error occurs during the OPEN callÉ
;Éso that any allocated structures may be released on abort
vol_buf_vp ds.l 1 ;vp to VCR buffer
error_priority ds.w 1 ;error priority for bouncing errors; zero indicates not my disk
p_max_cnt ds 1 ;maximum pcount for this call
p_min_cnt ds 1 ;minimum pcount for this call
;these buffers are too small to justify dynamic memory allocation:
name_buf ds.b name_buf_len
file_buf ds.b name_buf_len
vol_name_buf ds.b name_buf_len
scratch_str_buf ds.b name_buf_len
export global_params
; export g
global_params PROC EXPORT ;this is put into table format for the fill_param routine
EXPORT g
g ;use this label in the table expression because it's easierÉ
;Éto read (and to type).
EXPORT dir_cnt
dir_cnt ds 1
EXPORT dos_type
dos_type ds 1
EXPORT os_type
os_type ds 1
EXPORT access
access ds 1
EXPORT aux_type
aux_type ds 1
EXPORT eof
eof ds.l 1
EXPORT blks_used
blks_used ds 1
EXPORT entry_num
entry_num ds 1
EXPORT stor_type
stor_type dc.w storage_type ;keep a copy in memory for fill_param
EXPORT fst_id
fst_id dc.w my_id ;keep a copy in memory for fill_param
EXPORT null
null dc.w 0
ENDP