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.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