mirror of
https://github.com/marketideas/qasm.git
synced 2026-10-26 20:02:19 +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
3.3 KiB
Plaintext
1 line
3.3 KiB
Plaintext
;
|
|
; BootLog16
|
|
;
|
|
; This is the Logon program used during booting under GS/OS
|
|
;
|
|
; 12-Nov-91 MSD (Apple II Setup 2.2d21)
|
|
; Changed LogonData to start at $3000 to prevent it overlapping Fizzy
|
|
; at $1xxx. If you mounted 8 or more volumes at boot time, the
|
|
; results of the FIListSessions call would wipe out the code in Fizzy
|
|
; that Logon was supposed to return to.
|
|
;
|
|
Print OFF
|
|
MACHINE M65816
|
|
INCLUDE 'cons.macros'
|
|
include 'Console.equates'
|
|
longa off
|
|
longi off
|
|
Print ON,NOGEN
|
|
|
|
; macro to make an AppleTalk call for P16
|
|
macro
|
|
&lab ATCall &Parm
|
|
&lab phx ; X and Y must be preserved
|
|
phy
|
|
clc
|
|
xce ; force native mode!
|
|
rep #$30
|
|
longa on
|
|
longi on
|
|
ldx #&parm
|
|
ldy #^&parm
|
|
jsl $E11014 ; Ram Dispatch
|
|
sep #$30
|
|
longa off
|
|
longi off
|
|
ply
|
|
plx
|
|
mend
|
|
|
|
**************************************************
|
|
* OSFlag indicates the application type and is defined
|
|
* as follows:
|
|
*
|
|
* ProDOS 16 application = 64
|
|
* ProDOS 8 application = 0
|
|
* ProDOS 16 Boot Blocks = 192
|
|
* ProDOS 8 Boot Blocks = 128
|
|
*
|
|
**************************************************
|
|
OSFlag equ 192 ;ProDOS 16 Application
|
|
NBPBuffLen equ 8192
|
|
AFPVersion equ $0200 ;AFP version 2.0
|
|
|
|
CardPtr equ $FE
|
|
|
|
LogonData Record $3000
|
|
ReplyBuff DS.B 768
|
|
ArrayBuff DS.B 512
|
|
WindowBuff DS.B 512
|
|
MySelArray DS.B 256
|
|
FSName DS.B 64
|
|
NameBuffer DS.B 64
|
|
PassBuffer DS.B 16
|
|
NewPassWrd DS.B 16
|
|
LogPckt DS.B 128
|
|
Prefix DS.B 128
|
|
SessBuff DS.B 1024
|
|
CompSelArray DS.B 256
|
|
NBPBuffer ds.b NBPBuffLen
|
|
EndR
|
|
|
|
|
|
BootLog16 PROC export
|
|
|
|
export (InitParm,FrameParms1,MainWindow):code
|
|
export (TitLine,SelXPos,SelYPos):code
|
|
export (Increment,Selindex,StgArrayPtr):code
|
|
export (ArrayCnt,ListOptByte,ListParms):code
|
|
export (RestoreBox,MessParms,MessPtr):code
|
|
export (FilterProc,MessOpt):code
|
|
export (MessageWind,MainWindow):code
|
|
export FileOpenErr:code
|
|
export (Mess0,Mess20,Mess15):code
|
|
|
|
import ZPLabel
|
|
import LoaderLen:equ
|
|
import ConsDrvr
|
|
with LogonData
|
|
|
|
phk
|
|
plb
|
|
sep #$30
|
|
longa off
|
|
longi off
|
|
|
|
pha ; save GS/OS versus P8 flag
|
|
|
|
lda #$C0
|
|
sta InitParm
|
|
InitConsole
|
|
CursorOff
|
|
|
|
jsr DrawLogOnScrn ; draw splash screen
|
|
|
|
pla ; get BootOS flag again
|
|
|
|
jsr Logon
|
|
rep #$30
|
|
longa on
|
|
longi on
|
|
rtl
|
|
|
|
INCLUDE 'logon.main'
|
|
INCLUDE 'icon.aii'
|
|
ENDP
|
|
|
|
MLI equ $BF00
|
|
RomIn equ $c082
|
|
SetVid equ $fe93
|
|
SetKbd equ $fe89
|
|
Home equ $FC58
|
|
Clr80Vid equ $c00c
|
|
SetAltChar equ $c00f
|
|
Clr80Col equ $c000
|
|
BasStart equ $2000
|
|
OurPath equ $280
|
|
|
|
ZPLabel Proc Export
|
|
endp
|
|
ZPCode Proc Export,TempORG $1000
|
|
import FileOpenErr
|
|
|
|
jsr mli ;ISSUE THE PRODOS OPEN COMMAND
|
|
dc.b $c8
|
|
dc.w LaunOpen
|
|
beq OpenOk
|
|
jmp FileOpenErr ;this is a terminal error
|
|
OpenOk lda OpenRef ;GET A REF NUM
|
|
sta ReadRef ;SAVE IT FOR READ
|
|
jsr mli ;AND ISSUE THE READ COMMAND
|
|
dc.b $ca
|
|
dc.w LaunRead
|
|
beq ReadOk
|
|
lockup jmp lockup ;were in trouble now, just hang
|
|
ReadOk jsr mli ;AND NOW ISSUE THE CLOSE COMMAND
|
|
dc.b $cc
|
|
dc.w LaunClose
|
|
cld
|
|
lda RomIn
|
|
jsr SetVid
|
|
jsr SetKbd
|
|
jsr Home
|
|
sta Clr80Vid
|
|
sta SetAltChar
|
|
sta Clr80Col
|
|
ldx #$ff
|
|
txs
|
|
jmp BasStart
|
|
|
|
LaunOpen
|
|
dc.b 3
|
|
dc.w OurPath
|
|
dc.w $bb00
|
|
OpenRef dc.b 0
|
|
*
|
|
LaunRead
|
|
dc.b 4
|
|
ReadRef dc.b 0
|
|
dc.w $2000
|
|
dc.w $ffff
|
|
dc.w 0000
|
|
*
|
|
LaunClose
|
|
dc.b 1
|
|
dc.b 0
|
|
LdrBottom
|
|
export LoaderLen:equ
|
|
LoaderLen equ LdrBottom-ZPCode
|
|
|
|
ENDP
|
|
|
|
end
|
|
|