mirror of
https://github.com/marketideas/qasm.git
synced 2026-10-29 06:02:31 +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
2.5 KiB
Plaintext
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
|