mirror of
https://github.com/marketideas/qasm.git
synced 2026-11-04 14:25:53 +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.9 KiB
Plaintext
1 line
2.9 KiB
Plaintext
;------------------------------------------------------------
|
|
; LogApp8.aii
|
|
;
|
|
; This is the P8 Application form of Logon.
|
|
;
|
|
;------------------------------------------------------------
|
|
longa off
|
|
longi off
|
|
|
|
INCLUDE 'cons.macros'
|
|
include 'Console.equates'
|
|
|
|
; macro to make an AppleTalk call for P8
|
|
macro
|
|
&lab ATCall &Parm
|
|
&lab jsr $BF00
|
|
dc.b $42 ; AppleTalk call number
|
|
dc.w &Parm ; pointer to parameter block
|
|
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 0 ; ProDOS 8 application
|
|
NBPBuffLen equ 8192
|
|
AFPVersion equ $0200 ; AFP version 2.0
|
|
|
|
;CardPtr equ $FE
|
|
|
|
; In P8 application, they would be equates to areas between $800 and $2000,
|
|
; except for NBPBuffer which would go up high in memory ($9F00). Here,
|
|
; NBPBuffer extends past $2000 where P8 was; this is OK since that memory
|
|
; is no longer needed by the time Logon is running.
|
|
|
|
LogonRec Record $800
|
|
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
|
|
BuffersEnd
|
|
EndR
|
|
|
|
NBPBuffer equ $BF00-NBPBuffLen ; put NBP buffer just below MLI globals
|
|
|
|
BootApp8 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 (Mess0,Mess20,Mess15):code
|
|
|
|
import ZPLabel
|
|
import LoaderLen:equ
|
|
import ConsDrvr
|
|
with LogonRec
|
|
|
|
;------------------------------------------------------------
|
|
;
|
|
; Initialize ProDOS 8's bitmap
|
|
;
|
|
;------------------------------------------------------------
|
|
ClearBitMap
|
|
lda #0 ;Clear the system bit map
|
|
tay
|
|
CLRBM sta $BF58,Y ;
|
|
iny
|
|
cpy #23 ;22 TIMES
|
|
bne CLRBM
|
|
lda #1 ;SET THE 23RD BIT TO ONE
|
|
sta $BF58,Y ;
|
|
lda #$cf ;save zero page from ProDOS
|
|
sta $Bf58 ;help it, protect itself!
|
|
lda LastDev ;get the device we were loaded from
|
|
sta UnitNum ;store it into GetFileInfo parms
|
|
sta RBUnitNum ;store it into the read block parms
|
|
|
|
;------------------------------------------------------------
|
|
;
|
|
; Initialize the console driver
|
|
;
|
|
;------------------------------------------------------------
|
|
lda #$80 ; 80-column, not in GS mode
|
|
sta InitParm
|
|
InitConsole
|
|
CursorOff
|
|
|
|
jsr DrawLogOnScrn ; draw splash screen
|
|
|
|
;------------------------------------------------------------
|
|
;
|
|
; Fall into Logon's main loop
|
|
;
|
|
;------------------------------------------------------------
|
|
|
|
INCLUDE 'logon.main'
|
|
INCLUDE 'icon.aii'
|
|
|
|
ENDP
|
|
|
|
end
|