mirror of
https://github.com/Tolik-Trek/RAM-Drive.git
synced 2026-06-15 09:21:33 +03:00
Setup
This commit is contained in:
parent
ecd6c7f5fd
commit
8037fd59ce
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[submodule "Shared_Includes"]
|
||||||
|
branch = main
|
||||||
|
path = Shared_Includes
|
||||||
|
url = https://github.com/Tolik-Trek/Shared_Includes.git
|
||||||
71
DOS_EQU.ASM
Normal file
71
DOS_EQU.ASM
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
VERSION EQU #00
|
||||||
|
CHDISK EQU #01
|
||||||
|
CURDISK EQU #02
|
||||||
|
DSKINFO EQU #03
|
||||||
|
G_ENTRY EQU #04
|
||||||
|
|
||||||
|
BOOTDSK EQU #09
|
||||||
|
CREATE EQU #0A
|
||||||
|
CREAT_N EQU #0B
|
||||||
|
ERASE EQU #0D
|
||||||
|
DELETE EQU #0E
|
||||||
|
MOVE EQU #0F
|
||||||
|
RENAME EQU #10
|
||||||
|
OPEN EQU #11
|
||||||
|
CLOSE EQU #12
|
||||||
|
READ EQU #13
|
||||||
|
WRITE EQU #14
|
||||||
|
MOVE_FP EQU #15
|
||||||
|
ATTRIB EQU #16
|
||||||
|
GET_D_T EQU #17
|
||||||
|
PUT_D_T EQU #18
|
||||||
|
F_FIRST EQU #19
|
||||||
|
F_NEXT EQU #1A
|
||||||
|
MKDIR EQU #1B
|
||||||
|
RMDIR EQU #1C
|
||||||
|
CHDIR EQU #1D
|
||||||
|
CURDIR EQU #1E
|
||||||
|
SYSTIME EQU #21
|
||||||
|
SETTIME EQU #22
|
||||||
|
|
||||||
|
WAITKEY EQU #30
|
||||||
|
SCANKEY EQU #31
|
||||||
|
ECHOKEY EQU #32
|
||||||
|
CTRLKEY EQU #33
|
||||||
|
EDIT EQU #34
|
||||||
|
K_CLEAR EQU #35
|
||||||
|
|
||||||
|
SETWIN EQU #38
|
||||||
|
SETWIN1 EQU #39
|
||||||
|
SETWIN2 EQU #3A
|
||||||
|
SETWIN3 EQU #3B
|
||||||
|
FREEMEM EQU #3C
|
||||||
|
GETMEM EQU #3D
|
||||||
|
RETMEM EQU #3E
|
||||||
|
SETMEM EQU #3F
|
||||||
|
|
||||||
|
EXEC EQU #40
|
||||||
|
EXIT EQU #41
|
||||||
|
WAIT EQU #42
|
||||||
|
|
||||||
|
GSWITCH EQU #43
|
||||||
|
DOSNAME EQU #44
|
||||||
|
|
||||||
|
SETVMOD EQU #50
|
||||||
|
GETVMOD EQU #51
|
||||||
|
LOCATE EQU #52
|
||||||
|
CURSOR EQU #53
|
||||||
|
SELPAGE EQU #54
|
||||||
|
SCROLL EQU #55
|
||||||
|
CLEAR EQU #56
|
||||||
|
RDCHAR EQU #57
|
||||||
|
WRCHAR EQU #58
|
||||||
|
WINCOPY EQU #59
|
||||||
|
WINREST EQU #5A
|
||||||
|
PUTCHAR EQU #5B
|
||||||
|
PCHARS EQU #5C
|
||||||
|
RES_PRN EQU #5D
|
||||||
|
CTRLPRN EQU #5E
|
||||||
|
PRINT EQU #5F
|
||||||
|
|
||||||
13
Original/A.BAT
Normal file
13
Original/A.BAT
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
@echo Assembling . . .
|
||||||
|
@c:\asm\as80 -i -x3 -l -n ramdrive.asm
|
||||||
|
@if errorlevel=3 goto error
|
||||||
|
@goto good
|
||||||
|
:error
|
||||||
|
@echo -----------------------------------------------------------------------
|
||||||
|
@echo ³ ERROR ERROR ³
|
||||||
|
@echo -----------------------------------------------------------------------
|
||||||
|
@goto quit
|
||||||
|
:good
|
||||||
|
@del ramdrive.exe
|
||||||
|
@ren ramdrive.bin ramdrive.exe
|
||||||
|
:quit
|
||||||
25
Original/CREATE.BAT
Normal file
25
Original/CREATE.BAT
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
@if %1x == x goto usage
|
||||||
|
@echo @echo Assembling . . . > a.bat
|
||||||
|
@echo @c:\asm\as80 -i -x3 -l -n %1.asm >> a.bat
|
||||||
|
@echo @if errorlevel=3 goto error >> a.bat
|
||||||
|
@echo @goto good >> a.bat
|
||||||
|
@echo :error >> a.bat
|
||||||
|
@echo @echo ----------------------------------------------------------------------- >> a.bat
|
||||||
|
@echo @echo ³ ERROR ERROR ³ >> a.bat
|
||||||
|
@echo @echo ----------------------------------------------------------------------- >> a.bat
|
||||||
|
@echo @goto quit >> a.bat
|
||||||
|
@echo :good >> a.bat
|
||||||
|
@echo @del %1.exe >> a.bat
|
||||||
|
@echo @ren %1.bin %1.exe >> a.bat
|
||||||
|
@echo :quit >> a.bat
|
||||||
|
@echo ÿ
|
||||||
|
@echo Project has been created.
|
||||||
|
@echo ÿ
|
||||||
|
@goto quit
|
||||||
|
:usage
|
||||||
|
@echo ÿ
|
||||||
|
@echo Usage:
|
||||||
|
@echo ÿ
|
||||||
|
@echo CREATE.BAT PROJECT_NAME
|
||||||
|
@echo ÿ
|
||||||
|
:quit
|
||||||
71
Original/DOS_EQU.ASM
Normal file
71
Original/DOS_EQU.ASM
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
VERSION EQU #00
|
||||||
|
CHDISK EQU #01
|
||||||
|
CURDISK EQU #02
|
||||||
|
DSKINFO EQU #03
|
||||||
|
G_ENTRY EQU #04
|
||||||
|
|
||||||
|
BOOTDSK EQU #09
|
||||||
|
CREATE EQU #0A
|
||||||
|
CREAT_N EQU #0B
|
||||||
|
ERASE EQU #0D
|
||||||
|
DELETE EQU #0E
|
||||||
|
MOVE EQU #0F
|
||||||
|
RENAME EQU #10
|
||||||
|
OPEN EQU #11
|
||||||
|
CLOSE EQU #12
|
||||||
|
READ EQU #13
|
||||||
|
WRITE EQU #14
|
||||||
|
MOVE_FP EQU #15
|
||||||
|
ATTRIB EQU #16
|
||||||
|
GET_D_T EQU #17
|
||||||
|
PUT_D_T EQU #18
|
||||||
|
F_FIRST EQU #19
|
||||||
|
F_NEXT EQU #1A
|
||||||
|
MKDIR EQU #1B
|
||||||
|
RMDIR EQU #1C
|
||||||
|
CHDIR EQU #1D
|
||||||
|
CURDIR EQU #1E
|
||||||
|
SYSTIME EQU #21
|
||||||
|
SETTIME EQU #22
|
||||||
|
|
||||||
|
WAITKEY EQU #30
|
||||||
|
SCANKEY EQU #31
|
||||||
|
ECHOKEY EQU #32
|
||||||
|
CTRLKEY EQU #33
|
||||||
|
EDIT EQU #34
|
||||||
|
K_CLEAR EQU #35
|
||||||
|
|
||||||
|
SETWIN EQU #38
|
||||||
|
SETWIN1 EQU #39
|
||||||
|
SETWIN2 EQU #3A
|
||||||
|
SETWIN3 EQU #3B
|
||||||
|
FREEMEM EQU #3C
|
||||||
|
GETMEM EQU #3D
|
||||||
|
RETMEM EQU #3E
|
||||||
|
SETMEM EQU #3F
|
||||||
|
|
||||||
|
EXEC EQU #40
|
||||||
|
EXIT EQU #41
|
||||||
|
WAIT EQU #42
|
||||||
|
|
||||||
|
GSWITCH EQU #43
|
||||||
|
DOSNAME EQU #44
|
||||||
|
|
||||||
|
SETVMOD EQU #50
|
||||||
|
GETVMOD EQU #51
|
||||||
|
LOCATE EQU #52
|
||||||
|
CURSOR EQU #53
|
||||||
|
SELPAGE EQU #54
|
||||||
|
SCROLL EQU #55
|
||||||
|
CLEAR EQU #56
|
||||||
|
RDCHAR EQU #57
|
||||||
|
WRCHAR EQU #58
|
||||||
|
WINCOPY EQU #59
|
||||||
|
WINREST EQU #5A
|
||||||
|
PUTCHAR EQU #5B
|
||||||
|
PCHARS EQU #5C
|
||||||
|
RES_PRN EQU #5D
|
||||||
|
CTRLPRN EQU #5E
|
||||||
|
PRINT EQU #5F
|
||||||
|
|
||||||
260
Original/RAMDRIVE.ASM
Normal file
260
Original/RAMDRIVE.ASM
Normal file
@ -0,0 +1,260 @@
|
|||||||
|
|
||||||
|
ORG #8100-512
|
||||||
|
INCLUDE "DOS_EQU.ASM"
|
||||||
|
PAGE3 EQU #E2
|
||||||
|
CR EQU 13
|
||||||
|
LF EQU 10
|
||||||
|
EN EQU 00
|
||||||
|
|
||||||
|
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
|
||||||
|
BEG LD HL,MS0
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
DI
|
||||||
|
LD BC,#00CE
|
||||||
|
NEXTRD LD A,B
|
||||||
|
PUSH BC
|
||||||
|
RST #08
|
||||||
|
POP BC
|
||||||
|
OR A
|
||||||
|
JR Z,FNDRD
|
||||||
|
INC B
|
||||||
|
LD A,B
|
||||||
|
CP #10
|
||||||
|
JR NZ,NEXTRD
|
||||||
|
JP NORAMD
|
||||||
|
FNDRD PUSH BC
|
||||||
|
LD C,#C2 ;GET MEMORY
|
||||||
|
LD B,45
|
||||||
|
RST #08
|
||||||
|
POP BC
|
||||||
|
JP C,NOMEM
|
||||||
|
PUSH AF
|
||||||
|
LD C,A
|
||||||
|
LD A,B
|
||||||
|
LD B,C
|
||||||
|
LD C,#C9
|
||||||
|
RST #08
|
||||||
|
POP AF
|
||||||
|
LD C,PAGE3
|
||||||
|
IN B,(C)
|
||||||
|
OUT (C),A
|
||||||
|
PUSH BC
|
||||||
|
LD HL,#C000
|
||||||
|
LD DE,#C001
|
||||||
|
LD BC,#3FFF
|
||||||
|
LD (HL),L
|
||||||
|
LDIR
|
||||||
|
LD HL,BPB
|
||||||
|
LD DE,#C000
|
||||||
|
LD BC,BPBEND-BPB
|
||||||
|
LDIR
|
||||||
|
LD HL,#AA55
|
||||||
|
LD (#C200-2),HL
|
||||||
|
LD HL,#C200
|
||||||
|
LD (HL),#F9
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#00
|
||||||
|
|
||||||
|
LD HL,#C200+(512*5)
|
||||||
|
LD (HL),#F9
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#00
|
||||||
|
|
||||||
|
POP BC
|
||||||
|
OUT (C),B
|
||||||
|
LD HL,MS1
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,#00
|
||||||
|
EXITT LD C,#41
|
||||||
|
RST #10
|
||||||
|
DI
|
||||||
|
HALT
|
||||||
|
|
||||||
|
NORAMD LD HL,MS2
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,1
|
||||||
|
JP EXITT
|
||||||
|
|
||||||
|
NOMEM LD HL,MS3
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,1
|
||||||
|
JP EXITT
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
; RAMDRIVE 720
|
||||||
|
; RAMDRIVE E:720
|
||||||
|
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
|
;
|
||||||
|
|
||||||
|
;GETPARM LD A,#FF
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; LD D,XH
|
||||||
|
; LD E,XL
|
||||||
|
; EX DE,HL
|
||||||
|
; LD E,(HL)
|
||||||
|
; INC HL
|
||||||
|
; LD D,0
|
||||||
|
; EX DE,HL
|
||||||
|
; ADD HL,DE
|
||||||
|
; LD (HL),0
|
||||||
|
;NEXTPRM EX DE,HL
|
||||||
|
; LD DE,BUFFER
|
||||||
|
; LD C,GSWITCH
|
||||||
|
; RST #10
|
||||||
|
; EX DE,HL ;SAVE HL IN DE
|
||||||
|
; LD HL,BUFFER
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; OR A
|
||||||
|
; RET Z
|
||||||
|
; CP "/"
|
||||||
|
; JR NZ,NOSLASH
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; CALL UPPER
|
||||||
|
; CALL ATOHEX
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,NEXTPRM
|
||||||
|
; JP ILLEGAL
|
||||||
|
;
|
||||||
|
;NOSLASH CP ":"
|
||||||
|
; JP NZ,NOSIZER
|
||||||
|
; LD IX,0
|
||||||
|
;NDIG LD C,XL
|
||||||
|
; LD B,XH
|
||||||
|
; ADD IX,IX ;X2
|
||||||
|
; ADD IX,IX ;X4
|
||||||
|
; ADD IX,BC ;X5
|
||||||
|
; ADD IX,IX ;X10
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL UPPER
|
||||||
|
; CP "K"
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL ATODEC
|
||||||
|
; LD C,A
|
||||||
|
; LD B,0
|
||||||
|
; ADD IX,BC
|
||||||
|
; JR NDIG
|
||||||
|
;ENDSZ LD A,XL
|
||||||
|
; LD C,A
|
||||||
|
; LD B,XH
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; AND #0F
|
||||||
|
; JR Z,L101
|
||||||
|
; INC BC
|
||||||
|
;L101 LD A,B
|
||||||
|
; OR A
|
||||||
|
; JP NZ,ILLEGAL
|
||||||
|
; LD A,C
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; JP NEXTPRM
|
||||||
|
|
||||||
|
;NOSIZER JP ILLEGAL
|
||||||
|
|
||||||
|
;ATODEC CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "0"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;ATOHEX CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; JR NC,TRYHEX
|
||||||
|
; SUB "0"
|
||||||
|
; AND A
|
||||||
|
; RET
|
||||||
|
;TRYHEX CALL UPPER
|
||||||
|
; CP "A"
|
||||||
|
; RET C
|
||||||
|
; CP "G"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "A"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;UPPER CP "a"
|
||||||
|
; RET C
|
||||||
|
; CP "z"+1
|
||||||
|
; RET NC
|
||||||
|
; SUB #20
|
||||||
|
; RET
|
||||||
|
|
||||||
|
MS0 DB "RAMDRIVE DRIVER (C) 1999 PETERS Plus ltd.",CR,LF,CR,LF,EN
|
||||||
|
|
||||||
|
MS1 DB "RAM DISK created",CR,LF,EN
|
||||||
|
|
||||||
|
MS2 DB "No free RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
MS3 DB "No free memory, for create RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
MS4 DB "Illegal parametr",CR,LF,EN
|
||||||
|
|
||||||
|
MS5 DB "Usage : RAMDRIVE [/drive 0...F] [:size]",CR,LF,EN
|
||||||
|
|
||||||
|
; Area for boot sector [512Bytes]
|
||||||
|
BPB DB #EB,#3C,#90 ; +00 JMP
|
||||||
|
DB "DOS_X.XX" ; +03 DOS NAME
|
||||||
|
|
||||||
|
; Block Parameters BIOS
|
||||||
|
|
||||||
|
DW #0200 ; +0B BYTE PER SECTOR
|
||||||
|
DB 1 ; +0D SECTORS PER CLUSTER
|
||||||
|
DW 1 ; +0E RESERVE SECTORS
|
||||||
|
DB 2 ; 1 ; +10 AMOUNT FATS
|
||||||
|
DW 112 ; +11 FILES IN DIRECTORY
|
||||||
|
DW 1440 ; +13 ALL SECTORS ON DISK
|
||||||
|
DB #FA ; +15 ID FORMAT
|
||||||
|
DW 5 ; +16 SIZE FAT IN SECTORS
|
||||||
|
DW 9 ; +18 SECTOR PER TRACK
|
||||||
|
DW 2 ; +1A AMOUNT SIDES
|
||||||
|
DW 0,0 ; +1C HIDDEN SECTORS
|
||||||
|
DW 0,0 ; +20 ALL SECTORS BIG
|
||||||
|
DW #0080 ; +24 PHISICAL DRIVE NUMBER
|
||||||
|
DB #29 ; +26 EXTENDED RECORD SIGNATURE
|
||||||
|
DW #104B,#D765 ; +27 SERIAL VOLUME NUMBER
|
||||||
|
DB "NO NAME ";+2B DISK LABEL
|
||||||
|
DB "FAT12" ; +36 FAT ID
|
||||||
|
BPBEND
|
||||||
|
; DEFS 453,0
|
||||||
|
; end boot sector
|
||||||
BIN
Original/RAMDRIVE.EXE
Normal file
BIN
Original/RAMDRIVE.EXE
Normal file
Binary file not shown.
355
Original/RAMDRIVE.LST
Normal file
355
Original/RAMDRIVE.LST
Normal file
@ -0,0 +1,355 @@
|
|||||||
|
AS80 Assembler for i8080 [1.31]. Page 1
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
331 lines read, no errors in pass 1.
|
||||||
|
|
||||||
|
7f00 = ORG #8100-512
|
||||||
|
INCLUDE "DOS_EQU.ASM"
|
||||||
|
|
||||||
|
0000 = VERSION EQU #00
|
||||||
|
0001 = CHDISK EQU #01
|
||||||
|
0002 = CURDISK EQU #02
|
||||||
|
0003 = DSKINFO EQU #03
|
||||||
|
0004 = G_ENTRY EQU #04
|
||||||
|
|
||||||
|
0009 = BOOTDSK EQU #09
|
||||||
|
000a = CREATE EQU #0A
|
||||||
|
000b = CREAT_N EQU #0B
|
||||||
|
000d = ERASE EQU #0D
|
||||||
|
000e = DELETE EQU #0E
|
||||||
|
000f = MOVE EQU #0F
|
||||||
|
0010 = RENAME EQU #10
|
||||||
|
0011 = OPEN EQU #11
|
||||||
|
0012 = CLOSE EQU #12
|
||||||
|
0013 = READ EQU #13
|
||||||
|
0014 = WRITE EQU #14
|
||||||
|
0015 = MOVE_FP EQU #15
|
||||||
|
0016 = ATTRIB EQU #16
|
||||||
|
0017 = GET_D_T EQU #17
|
||||||
|
0018 = PUT_D_T EQU #18
|
||||||
|
0019 = F_FIRST EQU #19
|
||||||
|
001a = F_NEXT EQU #1A
|
||||||
|
001b = MKDIR EQU #1B
|
||||||
|
001c = RMDIR EQU #1C
|
||||||
|
001d = CHDIR EQU #1D
|
||||||
|
001e = CURDIR EQU #1E
|
||||||
|
0021 = SYSTIME EQU #21
|
||||||
|
0022 = SETTIME EQU #22
|
||||||
|
|
||||||
|
0030 = WAITKEY EQU #30
|
||||||
|
0031 = SCANKEY EQU #31
|
||||||
|
0032 = ECHOKEY EQU #32
|
||||||
|
0033 = CTRLKEY EQU #33
|
||||||
|
0034 = EDIT EQU #34
|
||||||
|
0035 = K_CLEAR EQU #35
|
||||||
|
|
||||||
|
0038 = SETWIN EQU #38
|
||||||
|
0039 = SETWIN1 EQU #39
|
||||||
|
003a = SETWIN2 EQU #3A
|
||||||
|
003b = SETWIN3 EQU #3B
|
||||||
|
003c = FREEMEM EQU #3C
|
||||||
|
003d = GETMEM EQU #3D
|
||||||
|
003e = RETMEM EQU #3E
|
||||||
|
003f = SETMEM EQU #3F
|
||||||
|
|
||||||
|
0040 = EXEC EQU #40
|
||||||
|
0041 = EXIT EQU #41
|
||||||
|
0042 = WAIT EQU #42
|
||||||
|
|
||||||
|
0043 = GSWITCH EQU #43
|
||||||
|
0044 = DOSNAME EQU #44
|
||||||
|
|
||||||
|
0050 = SETVMOD EQU #50
|
||||||
|
0051 = GETVMOD EQU #51
|
||||||
|
0052 = LOCATE EQU #52
|
||||||
|
0053 = CURSOR EQU #53
|
||||||
|
AS80 Assembler for i8080 [1.31]. Page 2
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
0054 = SELPAGE EQU #54
|
||||||
|
0055 = SCROLL EQU #55
|
||||||
|
0056 = CLEAR EQU #56
|
||||||
|
0057 = RDCHAR EQU #57
|
||||||
|
0058 = WRCHAR EQU #58
|
||||||
|
0059 = WINCOPY EQU #59
|
||||||
|
005a = WINREST EQU #5A
|
||||||
|
005b = PUTCHAR EQU #5B
|
||||||
|
005c = PCHARS EQU #5C
|
||||||
|
005d = RES_PRN EQU #5D
|
||||||
|
005e = CTRLPRN EQU #5E
|
||||||
|
005f = PRINT EQU #5F
|
||||||
|
|
||||||
|
|
||||||
|
00e2 = PAGE3 EQU #E2
|
||||||
|
000d = CR EQU 13
|
||||||
|
000a = LF EQU 10
|
||||||
|
0000 = EN EQU 00
|
||||||
|
|
||||||
|
7f00 : 455845 DB "EXE" ;EXE ID
|
||||||
|
7f03 : 00 DB #00 ;EXE VERSION
|
||||||
|
7f04 : 0002 DW #0200 ;CODE OFFSET LOW
|
||||||
|
7f06 : 0000 DW #0000 ;CODE OFFSET HIGH
|
||||||
|
7f08 : 0000 DW #0000 ;END-BEG ;PRIMARY LOADER
|
||||||
|
7f0a : 0000 DW #0000 ;
|
||||||
|
7f0c : 0000 DW #0000 ;RESERVED
|
||||||
|
7f0e : 0000 DW #0000 ;
|
||||||
|
7f10 : 0081 DW #8100 ;LOAD ADDRESS
|
||||||
|
7f12 : 0081 DW #8100 ;START ADDRESS
|
||||||
|
7f14 : ffbf DW #BFFF ;STACK ADDRESS
|
||||||
|
7f16 : 00000000000000.. DS 490
|
||||||
|
8100 : 219281 BEG LD HL,MS0
|
||||||
|
8103 : 0e5c LD C,PCHARS
|
||||||
|
8105 : d7 RST #10
|
||||||
|
8106 : f3 DI
|
||||||
|
8107 : 01ce00 LD BC,#00CE
|
||||||
|
810a : 78 NEXTRD LD A,B
|
||||||
|
810b : c5 PUSH BC
|
||||||
|
810c : cf RST #08
|
||||||
|
810d : c1 POP BC
|
||||||
|
810e : b7 OR A
|
||||||
|
810f : 2809 JR Z,FNDRD
|
||||||
|
8111 : 04 INC B
|
||||||
|
8112 : 78 LD A,B
|
||||||
|
8113 : fe10 CP #10
|
||||||
|
8115 : 20f3 JR NZ,NEXTRD
|
||||||
|
8117 : c37c81 JP NORAMD
|
||||||
|
811a : c5 FNDRD PUSH BC
|
||||||
|
811b : 0ec2 LD C,#C2 ;GET MEMORY
|
||||||
|
811d : 062d LD B,45
|
||||||
|
811f : cf RST #08
|
||||||
|
8120 : c1 POP BC
|
||||||
|
8121 : da8781 JP C,NOMEM
|
||||||
|
8124 : f5 PUSH AF
|
||||||
|
8125 : 4f LD C,A
|
||||||
|
8126 : 78 LD A,B
|
||||||
|
8127 : 41 LD B,C
|
||||||
|
8128 : 0ec9 LD C,#C9
|
||||||
|
812a : cf RST #08
|
||||||
|
812b : f1 POP AF
|
||||||
|
812c : 0ee2 LD C,PAGE3
|
||||||
|
812e : ed40 IN B,(C)
|
||||||
|
AS80 Assembler for i8080 [1.31]. Page 3
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
8130 : ed79 OUT (C),A
|
||||||
|
8132 : c5 PUSH BC
|
||||||
|
8133 : 2100c0 LD HL,#C000
|
||||||
|
8136 : 1101c0 LD DE,#C001
|
||||||
|
8139 : 01ff3f LD BC,#3FFF
|
||||||
|
813c : 75 LD (HL),L
|
||||||
|
813d : edb0 LDIR
|
||||||
|
813f : 214982 LD HL,BPB
|
||||||
|
8142 : 1100c0 LD DE,#C000
|
||||||
|
8145 : 013b00 LD BC,BPBEND-BPB
|
||||||
|
8148 : edb0 LDIR
|
||||||
|
814a : 2155aa LD HL,#AA55
|
||||||
|
814d : 22fec1 LD (#C200-2),HL
|
||||||
|
8150 : 2100c2 LD HL,#C200
|
||||||
|
8153 : 36f9 LD (HL),#F9
|
||||||
|
8155 : 2c INC L
|
||||||
|
8156 : 36ff LD (HL),#FF
|
||||||
|
8158 : 2c INC L
|
||||||
|
8159 : 36ff LD (HL),#FF
|
||||||
|
815b : 2c INC L
|
||||||
|
815c : 3600 LD (HL),#00
|
||||||
|
|
||||||
|
815e : 2100cc LD HL,#C200+(512*5)
|
||||||
|
8161 : 36f9 LD (HL),#F9
|
||||||
|
8163 : 2c INC L
|
||||||
|
8164 : 36ff LD (HL),#FF
|
||||||
|
8166 : 2c INC L
|
||||||
|
8167 : 36ff LD (HL),#FF
|
||||||
|
8169 : 2c INC L
|
||||||
|
816a : 3600 LD (HL),#00
|
||||||
|
|
||||||
|
816c : c1 POP BC
|
||||||
|
816d : ed41 OUT (C),B
|
||||||
|
816f : 21c081 LD HL,MS1
|
||||||
|
8172 : 0e5c LD C,PCHARS
|
||||||
|
8174 : d7 RST #10
|
||||||
|
8175 : 0600 LD B,#00
|
||||||
|
8177 : 0e41 EXITT LD C,#41
|
||||||
|
8179 : d7 RST #10
|
||||||
|
817a : f3 DI
|
||||||
|
817b : 76 HALT
|
||||||
|
|
||||||
|
817c : 21d381 NORAMD LD HL,MS2
|
||||||
|
817f : 0e5c LD C,PCHARS
|
||||||
|
8181 : d7 RST #10
|
||||||
|
8182 : 0601 LD B,1
|
||||||
|
8184 : c37781 JP EXITT
|
||||||
|
|
||||||
|
8187 : 21e681 NOMEM LD HL,MS3
|
||||||
|
818a : 0e5c LD C,PCHARS
|
||||||
|
818c : d7 RST #10
|
||||||
|
818d : 0601 LD B,1
|
||||||
|
818f : c37781 JP EXITT
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
; RAMDRIVE 720
|
||||||
|
; RAMDRIVE E:720
|
||||||
|
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
|
;
|
||||||
|
|
||||||
|
;GETPARM LD A,#FF
|
||||||
|
AS80 Assembler for i8080 [1.31]. Page 4
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; LD D,XH
|
||||||
|
; LD E,XL
|
||||||
|
; EX DE,HL
|
||||||
|
; LD E,(HL)
|
||||||
|
; INC HL
|
||||||
|
; LD D,0
|
||||||
|
; EX DE,HL
|
||||||
|
; ADD HL,DE
|
||||||
|
; LD (HL),0
|
||||||
|
;NEXTPRM EX DE,HL
|
||||||
|
; LD DE,BUFFER
|
||||||
|
; LD C,GSWITCH
|
||||||
|
; RST #10
|
||||||
|
; EX DE,HL ;SAVE HL IN DE
|
||||||
|
; LD HL,BUFFER
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; OR A
|
||||||
|
; RET Z
|
||||||
|
; CP "/"
|
||||||
|
; JR NZ,NOSLASH
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; CALL UPPER
|
||||||
|
; CALL ATOHEX
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,NEXTPRM
|
||||||
|
; JP ILLEGAL
|
||||||
|
;
|
||||||
|
;NOSLASH CP ":"
|
||||||
|
; JP NZ,NOSIZER
|
||||||
|
; LD IX,0
|
||||||
|
;NDIG LD C,XL
|
||||||
|
; LD B,XH
|
||||||
|
; ADD IX,IX ;X2
|
||||||
|
; ADD IX,IX ;X4
|
||||||
|
; ADD IX,BC ;X5
|
||||||
|
; ADD IX,IX ;X10
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL UPPER
|
||||||
|
; CP "K"
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL ATODEC
|
||||||
|
; LD C,A
|
||||||
|
; LD B,0
|
||||||
|
; ADD IX,BC
|
||||||
|
; JR NDIG
|
||||||
|
;ENDSZ LD A,XL
|
||||||
|
; LD C,A
|
||||||
|
; LD B,XH
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
AS80 Assembler for i8080 [1.31]. Page 5
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; AND #0F
|
||||||
|
; JR Z,L101
|
||||||
|
; INC BC
|
||||||
|
;L101 LD A,B
|
||||||
|
; OR A
|
||||||
|
; JP NZ,ILLEGAL
|
||||||
|
; LD A,C
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; JP NEXTPRM
|
||||||
|
|
||||||
|
;NOSIZER JP ILLEGAL
|
||||||
|
|
||||||
|
;ATODEC CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "0"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;ATOHEX CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; JR NC,TRYHEX
|
||||||
|
; SUB "0"
|
||||||
|
; AND A
|
||||||
|
; RET
|
||||||
|
;TRYHEX CALL UPPER
|
||||||
|
; CP "A"
|
||||||
|
; RET C
|
||||||
|
; CP "G"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "A"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;UPPER CP "a"
|
||||||
|
; RET C
|
||||||
|
; CP "z"+1
|
||||||
|
; RET NC
|
||||||
|
; SUB #20
|
||||||
|
; RET
|
||||||
|
|
||||||
|
8192 : 52414d44524956.. MS0 DB "RAMDRIVE DRIVER (C) 1999 PETERS Plus ltd.",CR,
|
||||||
|
|
||||||
|
81c0 : 52414d20444953.. MS1 DB "RAM DISK created",CR,LF,EN
|
||||||
|
|
||||||
|
81d3 : 4e6f2066726565.. MS2 DB "No free RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
81e6 : 4e6f2066726565.. MS3 DB "No free memory, for create RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
820c : 496c6c6567616c.. MS4 DB "Illegal parametr",CR,LF,EN
|
||||||
|
|
||||||
|
821f : 5573616765203a.. MS5 DB "Usage : RAMDRIVE [/drive 0...F] [:size]",CR,LF
|
||||||
|
|
||||||
|
; Area for boot sector [512Bytes]
|
||||||
|
8249 : eb3c90 BPB DB #EB,#3C,#90 ; +00 JMP
|
||||||
|
824c : 444f535f582e5858 DB "DOS_X.XX" ; +03 DOS NAME
|
||||||
|
AS80 Assembler for i8080 [1.31]. Page 6
|
||||||
|
-------------------------------- RAMDRIVE.ASM --------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
; Block Parameters BIOS
|
||||||
|
|
||||||
|
8254 : 0002 DW #0200 ; +0B BYTE PER SECTOR
|
||||||
|
8256 : 01 DB 1 ; +0D SECTORS PER CLUSTER
|
||||||
|
8257 : 0100 DW 1 ; +0E RESERVE SECTORS
|
||||||
|
8259 : 02 DB 2 ; 1 ; +10 AMOUNT FATS
|
||||||
|
825a : 7000 DW 112 ; +11 FILES IN DIRECTORY
|
||||||
|
825c : a005 DW 1440 ; +13 ALL SECTORS ON DISK
|
||||||
|
825e : fa DB #FA ; +15 ID FORMAT
|
||||||
|
825f : 0500 DW 5 ; +16 SIZE FAT IN SECTORS
|
||||||
|
8261 : 0900 DW 9 ; +18 SECTOR PER TRACK
|
||||||
|
8263 : 0200 DW 2 ; +1A AMOUNT SIDES
|
||||||
|
8265 : 00000000 DW 0,0 ; +1C HIDDEN SECTORS
|
||||||
|
8269 : 00000000 DW 0,0 ; +20 ALL SECTORS BIG
|
||||||
|
826d : 8000 DW #0080 ; +24 PHISICAL DRIVE NUMBER
|
||||||
|
826f : 29 DB #29 ; +26 EXTENDED RECORD SIGNATURE
|
||||||
|
8270 : 4b1065d7 DW #104B,#D765 ; +27 SERIAL VOLUME NUMBER
|
||||||
|
8274 : 4e4f204e414d45.. DB "NO NAME ";+2B DISK LABEL
|
||||||
|
827f : 4641543132 DB "FAT12" ; +36 FAT ID
|
||||||
|
8284 : BPBEND
|
||||||
|
; DEFS 453,0
|
||||||
|
; end boot sector
|
||||||
|
No errors in pass 2.
|
||||||
|
Wrote binary from address $7f00 through $8283.
|
||||||
|
Total size 900 bytes.
|
||||||
|
|
||||||
266
RAMDRIVE.ASM
Normal file
266
RAMDRIVE.ASM
Normal file
@ -0,0 +1,266 @@
|
|||||||
|
|
||||||
|
ORG #8100-512
|
||||||
|
INCLUDE "DOS_EQU.ASM"
|
||||||
|
PAGE3 EQU #E2
|
||||||
|
CR EQU 13
|
||||||
|
LF EQU 10
|
||||||
|
EN EQU 00
|
||||||
|
|
||||||
|
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
|
||||||
|
BEG LD HL,MS0
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
DI
|
||||||
|
|
||||||
|
LD BC,#00CE ; <20>®«ã票¥ ¨¤¥â¨ä¨ª â®à ¡«®ª , § 祮£® RAM-Disk
|
||||||
|
NEXTRD LD A,B ; ®¬¥à RAM-Disk- 0..15
|
||||||
|
PUSH BC
|
||||||
|
RST #08
|
||||||
|
|
||||||
|
POP BC
|
||||||
|
OR A
|
||||||
|
JR Z,FNDRD
|
||||||
|
INC B
|
||||||
|
LD A,B
|
||||||
|
CP #10
|
||||||
|
JR NZ,NEXTRD
|
||||||
|
JP NORAMD
|
||||||
|
FNDRD PUSH BC
|
||||||
|
LD C,#C2 ; ¢ë¤¥«¥¨¥ ¡«®ª އ“
|
||||||
|
LD B,45 ; § ¯à 訢 ¥¬®¥ ç¨á«® áâà ¨æ Ž‡“ (45 = 720 kb)
|
||||||
|
RST #08
|
||||||
|
POP BC
|
||||||
|
JP C,NOMEM
|
||||||
|
PUSH AF
|
||||||
|
|
||||||
|
LD C,A
|
||||||
|
LD A,B ; ®¬¥à RAM-Disk- 0..15 - ᮮ⢥âáâ¢ã¥â RAM-Disk- ¬ ®â e: ¤® t:
|
||||||
|
LD B,C ; ¨¤¥â¨ä¨ª â®à ¡«®ª
|
||||||
|
LD C,#C9 ; § ç¨âì ¡«®ª ¯ ¬ï⨠RAM-Disk-ã
|
||||||
|
RST #08
|
||||||
|
|
||||||
|
POP AF
|
||||||
|
LD C,PAGE3
|
||||||
|
IN B,(C)
|
||||||
|
OUT (C),A
|
||||||
|
PUSH BC
|
||||||
|
LD HL,#C000
|
||||||
|
LD DE,#C001
|
||||||
|
LD BC,#3FFF
|
||||||
|
LD (HL),L
|
||||||
|
LDIR
|
||||||
|
|
||||||
|
LD HL,BPB ;boot sector [512Bytes]
|
||||||
|
LD DE,#C000
|
||||||
|
LD BC,BPBEND-BPB
|
||||||
|
LDIR
|
||||||
|
|
||||||
|
LD HL,#AA55
|
||||||
|
LD (#C200-2),HL
|
||||||
|
LD HL,#C200
|
||||||
|
LD (HL),#F9
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#00
|
||||||
|
|
||||||
|
LD HL,#C200+(512*5)
|
||||||
|
LD (HL),#F9
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#FF
|
||||||
|
INC L
|
||||||
|
LD (HL),#00
|
||||||
|
|
||||||
|
POP BC
|
||||||
|
OUT (C),B
|
||||||
|
LD HL,MS1
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,#00
|
||||||
|
EXITT LD C,#41
|
||||||
|
RST #10
|
||||||
|
DI
|
||||||
|
HALT
|
||||||
|
|
||||||
|
NORAMD LD HL,MS2
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,1
|
||||||
|
JP EXITT
|
||||||
|
|
||||||
|
NOMEM LD HL,MS3
|
||||||
|
LD C,PCHARS
|
||||||
|
RST #10
|
||||||
|
LD B,1
|
||||||
|
JP EXITT
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
; RAMDRIVE 720
|
||||||
|
; RAMDRIVE E:720
|
||||||
|
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
|
;
|
||||||
|
|
||||||
|
;GETPARM LD A,#FF
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; LD D,XH
|
||||||
|
; LD E,XL
|
||||||
|
; EX DE,HL
|
||||||
|
; LD E,(HL)
|
||||||
|
; INC HL
|
||||||
|
; LD D,0
|
||||||
|
; EX DE,HL
|
||||||
|
; ADD HL,DE
|
||||||
|
; LD (HL),0
|
||||||
|
;NEXTPRM EX DE,HL
|
||||||
|
; LD DE,BUFFER
|
||||||
|
; LD C,GSWITCH
|
||||||
|
; RST #10
|
||||||
|
; EX DE,HL ;SAVE HL IN DE
|
||||||
|
; LD HL,BUFFER
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; OR A
|
||||||
|
; RET Z
|
||||||
|
; CP "/"
|
||||||
|
; JR NZ,NOSLASH
|
||||||
|
; LD A,(HL)
|
||||||
|
; INC HL
|
||||||
|
; CALL UPPER
|
||||||
|
; CALL ATOHEX
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD (RDRIVE),A
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,NEXTPRM
|
||||||
|
; JP ILLEGAL
|
||||||
|
;
|
||||||
|
;NOSLASH CP ":"
|
||||||
|
; JP NZ,NOSIZER
|
||||||
|
; LD IX,0
|
||||||
|
;NDIG LD C,XL
|
||||||
|
; LD B,XH
|
||||||
|
; ADD IX,IX ;X2
|
||||||
|
; ADD IX,IX ;X4
|
||||||
|
; ADD IX,BC ;X5
|
||||||
|
; ADD IX,IX ;X10
|
||||||
|
; JP C,ILLEGAL
|
||||||
|
; LD A,(HL)
|
||||||
|
; OR A
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL UPPER
|
||||||
|
; CP "K"
|
||||||
|
; JR Z,ENDSZ
|
||||||
|
; CALL ATODEC
|
||||||
|
; LD C,A
|
||||||
|
; LD B,0
|
||||||
|
; ADD IX,BC
|
||||||
|
; JR NDIG
|
||||||
|
;ENDSZ LD A,XL
|
||||||
|
; LD C,A
|
||||||
|
; LD B,XH
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; SRL B
|
||||||
|
; RR C
|
||||||
|
; AND #0F
|
||||||
|
; JR Z,L101
|
||||||
|
; INC BC
|
||||||
|
;L101 LD A,B
|
||||||
|
; OR A
|
||||||
|
; JP NZ,ILLEGAL
|
||||||
|
; LD A,C
|
||||||
|
; LD (RSIZE),A
|
||||||
|
; JP NEXTPRM
|
||||||
|
|
||||||
|
;NOSIZER JP ILLEGAL
|
||||||
|
|
||||||
|
;ATODEC CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "0"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;ATOHEX CP "0"
|
||||||
|
; RET C
|
||||||
|
; CP ":"
|
||||||
|
; JR NC,TRYHEX
|
||||||
|
; SUB "0"
|
||||||
|
; AND A
|
||||||
|
; RET
|
||||||
|
;TRYHEX CALL UPPER
|
||||||
|
; CP "A"
|
||||||
|
; RET C
|
||||||
|
; CP "G"
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
; SUB "A"
|
||||||
|
; RET
|
||||||
|
|
||||||
|
;UPPER CP "a"
|
||||||
|
; RET C
|
||||||
|
; CP "z"+1
|
||||||
|
; RET NC
|
||||||
|
; SUB #20
|
||||||
|
; RET
|
||||||
|
|
||||||
|
MS0 DB "RAMDRIVE DRIVER (C) 1999 PETERS Plus ltd.",CR,LF,CR,LF,EN
|
||||||
|
|
||||||
|
MS1 DB "RAM DISK created",CR,LF,EN
|
||||||
|
|
||||||
|
MS2 DB "No free RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
MS3 DB "No free memory, for create RAM-DISK",CR,LF,EN
|
||||||
|
|
||||||
|
MS4 DB "Illegal parametr",CR,LF,EN
|
||||||
|
|
||||||
|
MS5 DB "Usage : RAMDRIVE [/drive 0...F] [:size]",CR,LF,EN
|
||||||
|
|
||||||
|
; Area for boot sector [512Bytes]
|
||||||
|
BPB DB #EB,#3C,#90 ; +00 JMP
|
||||||
|
DB "DOS_X.XX" ; +03 DOS NAME
|
||||||
|
|
||||||
|
; Block Parameters BIOS
|
||||||
|
|
||||||
|
DW #0200 ; +0B BYTE PER SECTOR
|
||||||
|
DB 1 ; +0D SECTORS PER CLUSTER
|
||||||
|
DW 1 ; +0E RESERVE SECTORS
|
||||||
|
DB 2 ; 1 ; +10 AMOUNT FATS
|
||||||
|
DW 112 ; +11 FILES IN DIRECTORY
|
||||||
|
DW 1440 ; +13 ALL SECTORS ON DISK
|
||||||
|
DB #FA ; +15 ID FORMAT
|
||||||
|
DW 5 ; +16 SIZE FAT IN SECTORS
|
||||||
|
DW 9 ; +18 SECTOR PER TRACK
|
||||||
|
DW 2 ; +1A AMOUNT SIDES
|
||||||
|
DW 0,0 ; +1C HIDDEN SECTORS
|
||||||
|
DW 0,0 ; +20 ALL SECTORS BIG
|
||||||
|
DW #0080 ; +24 PHISICAL DRIVE NUMBER
|
||||||
|
DB #29 ; +26 EXTENDED RECORD SIGNATURE
|
||||||
|
DW #104B,#D765 ; +27 SERIAL VOLUME NUMBER
|
||||||
|
DB "NO NAME " ; +2B DISK LABEL
|
||||||
|
DB "FAT12" ; +36 FAT ID
|
||||||
|
BPBEND
|
||||||
|
; DEFS 453,0
|
||||||
|
; end boot sector
|
||||||
1
Shared_Includes
Submodule
1
Shared_Includes
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 6e27011b6259b0256ce65d91a53ef1185223eafa
|
||||||
Loading…
Reference in New Issue
Block a user