;[BEGIN] ; ; BOOTNAME.EXE ; MODULE BOOTname ORG #8100-512 INCLUDE "dss.inc" DB "EXE" ;EXE ID DB #00 ;EXE VERSION DW #0200 ;CODE OFFSET LOW DW #0000 ;CODE OFFSET HIGH DW #0000 ;END-BEG ;PRIMARY LOADER DW #0000 ; DW #0000 ;RESERVED DW #0000 ; DW #8100 ;LOAD ADDRESS DW #8100 ;START ADDRESS DW #BFFF ;STACK ADDRESS DS 490 START LD BC,0*256+DSS_BOOTDSK LD C,2 ;curdisk RST #10 JR C,NERR ADD A,"A" ;correct to the human format LD (BOOTDRIVE),A LD HL,BOOTSTRING LD BC,2*256+DSS_ENVIRON RST #10 NERR CALL C,ERROR LD C,DSS_EXIT RST #10 RET BOOTSTRING DB "BOOTDISK=" BOOTDRIVE DB "C:",0 CRLF LD A,#0D LD C,DSS_PUTCHAR RST #10 LD A,#0A LD C,DSS_PUTCHAR RST #10 RET ERROR LD E,A LD D,0 JP ERR_MSG ERR_MSG CALL FMESAGE CALL PRINTZ CALL CRLF CALL CRLF RET FMESAGE INC DE LD HL,ERR0 LD BC,ERR1-ERR0 LCPIR XOR A CPIR RET PO RET NZ DEC DE LD A,D OR E JP NZ,LCPIR RET PUTPRM LD BC,15 PUTPRMA LD A,(HL) LDI RET PO OR A JR NZ,PUTPRMA RET PRINTZ LD A,(HL) INC HL OR A RET Z CP "%" JR NZ,PRINTZ2 LD A,(HL) INC HL SUB "1" PUSH HL LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD BC,PRM1 ADD HL,BC LD C,DSS_PCHARS RST #10 POP HL JR PRINTZ PRINTZ2 LD C,DSS_PUTCHAR RST #10 JP PRINTZ PRM1 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM2 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM3 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM4 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM5 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM6 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM7 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM8 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 PRM9 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ERR0 DB #00 DB "Bad command or file name",0 DB "Invalid function",0 DB "Invalid drive number",0 DB "File not found",0 DB "Path not found",0 DB "Invalid handle",0 DB "Extended error 6",0 DB "File exist",0 DB "File read only",0 DB "Root overflow",0 DB "No free space",0 DB "Directory not empty",0 DB "Can't delete current directory",0 DB "Invalid media",0 DB "Unknown operation",0 DB "Directory exist",0 DB "Invalid filename",0 DB "Invalid EXE-file",0 DB "Not supported EXE-file",0 DB "Access denied",0 DB "Not ready",0 DB "Seek error",0 DB "Sector not found",0 DB "CRC error",0 DB "Write protect",0 DB "Read error",0 DB "Write error",0 DB "Drive failure",0 DB "Extended error 28",0 DB "Extended error 29",0 DB "No free memory",0 DB "Invalid memory block",0 DB "Extended error 32",0 DB "Extended error 33",0 DB "Extended error 34",0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ERR1 ; ENDMODULE ;