User Tools

Site Tools


x68000:doscall

This is an old revision of the document!


DOS CALL MANUAL

DOS Call List

Caution: Calls to $FF00~$FF7F in Human68k Version 2 have been moved to $FF80~$FFAF in Version 3 and later

Processing address calls at $FFF5~$FFF7 and $FFFA~$FFFE can not be changed(ignored) $FFF8,$FFFF is executed after the original processing is normally completed. $FFF8 is called every time a thread is deleted.

CodeNameDescription
$FF00_EXITProgram end
$FF01_GETCHARGet keyboard input (with echo)
$FF02_PUTCHARPut character
$FF03_COMINPRS-232C 1 byte input
$FF04_COMOUTRS-232C 1 byte output
$FF05_PRNOUTPrinter 1 character output
$FF06_INPOUTCharacter I/O
$FF07_INKEYGet one character from the keyboard (no break check)
$FF08_GETCGet one character from the keyboard (with break check)
$FF09_PRINTPrint string
$FF0A_GETSGet character string (with break check)
$FF0B_KEYSNSKey input state check
$FF0C_KFLUSHKeyboard input after buffer flush
$FF0D_FFLUSHDisk reset
$FF0E_CHGDRVCurrent drive setting
$FF0F_DRVCTRLDrive status check/setting
CodeNameDescription
$FF10_CONSNSScreen output check
$FF11_PRNSNSPrinter output check
$FF12_CINSNSRS-232C input check
$FF13_COUTSNSRS-232C output check
$FF17_FATCHKFile concatenation state check
$FF18_HENDSPKanji conversion control
$FF19_CURDRVGet current drive
$FF1A_GETSSGet character string (no break check)
$FF1B_FGETCGet character from file
$FF1C_FGETSGet string from file
$FF1D_FPUTCWrite one character to file
$FF1E_FPUTSWrite string to file
$FF1F_ALLCLOSEClose all files
CodeNameDescription
$FF20_SUPERSupervisor/user mode setting
$FF21_FNCKEYGet/set redefinable key
$FF22_KNJCTRLKana-to-kanji conversion
$FF23_CONCTRLConsole control/direct output
$FF24_KEYCTRLConsole state check/direct input
$FF25_INTVCSSet vector processing address
$FF26_PSPSETCreate process management pointer
$FF27_GETTIM2Get time (longword)
$FF28_SETTIM2Set time (longword)
$FF29_NAMESTSFilename expansion
$FF2A_GETDATEGet date
$FF2B_SETDATESet date
$FF2C_GETTIMEGet time
$FF2D_SETTIMESet time
$FF2E_VERIFYSet verify flag
$FF2F_DUP0Force file handle copy
CodeNameDescription
$FF30_VERNUMGet OS version
$FF31_KEEPPRTerminate and stay resident
$FF32_GETDPBGet drive parameter block
$FF33_BREAKCKSet break check
$FF34_DRVXCHGReplace drive
$FF35_INTVCGGet vector processing address
$FF36_DSKFREGet disk space remaining
$FF37_NAMECKFilename expansion
$FF39_MKDIRCreate subdirectory
$FF3A_RMDIRRemove subdirectory
$FF3B_CHDIRChange current directory
$FF3C_CREATECreate file
$FF3D_OPENOpen file
$FF3E_CLOSEClose file
$FF3F_READRead file
CodeNameDescription
$FF40_WRITEWrite file
$FF41_DELETEDelete file
$FF42_SEEKSeek file
$FF43_CHMODSet/get file modes
$FF44_IOCTRLDevice driver ioctrl direct I/O
$FF45_DUPCopy file handle
$FF46_DUP2Force copy file handle
$FF47_CURDIRGet current directory
$FF48_MALLOCAllocate memory
$FF49_MFREEFree memory
$FF4A_SETBLOCKChange memory block
$FF4B_EXECLoad/execute program
$FF4C_EXIT2Exit with return code
$FF4D_WAITGet process end return code
$FF4E_FILESSearch files
$FF4F_NFILESSearch next files
CodeNameDescription
$FF80_SETPDBChange process information
$FF81_GETPDBGet process information
$FF82_SETENVSet environment variable
$FF83_GETENVGet environment variable
$FF84_VERIFYGGet verify flag
$FF85_COMMONCOMMON area control
$FF86_RENAMERename/move file
$FF87_FILEDATEGet/set file date
$FF88_MALLOC2Alloc memory
$FF8A_MAKETMPCreate temporary file
$FF8B_NEWFILECreate new file
$FF8C_LOCKLock file
$FF8F_ASSIGNGet/set/cancel virtual drive/directory assignment
CodeNameDescription
$FFAA FFLUSHSet FFLUSH mode (undocumented)
$FFAB_OS_PATCHHook OS internal function (undocumented)
$FFAC_GETFCBGet FCB pointer (undocumented)
$FFAD_S_MALLOCAlloc memory using main memory management
$FFAE_S_MFREEFree memory using main memory management
$FFAF_S_PROCESSSub memory management setting
CodeNameDescription
$FFF0_EXITVC(program end execution address)
$FFF1_CTRLVC(CTRL+C execution address at abort)
$FFF2_ERRJVC(Error abort execution address)
$FFF3_DISKREDBlock device direct input
$FFF4_DISKWRTBlock device direct output
$FFF5_INDOSFLGGet OS work pointer
$FFF6_SUPER_JSRSupervisor subroutine call
$FFF7_BUS_ERRCheck for bus error
$FFF8_OPEN_PRRegister background task
$FFF9_KILL_PRRemove background task
$FFFA_GET_PRGet thread management information
$FFFB_SUSPEND_PRForce thread to sleep
$FFFC_SLEEP_PRSleep thread
$FFFD_SEND_PRTransmit thread command/data
$FFFE_TIME_PRGet timer counter value
$FFFF_CHANGE_PRExecution right abandonment(?) 実行権放棄

Error code list

Hex codeByte codeDescription
$FFFFFFFF -1Invalid function code executed
$FFFFFFFE -2File not found
$FFFFFFFD -3Directory not found
$FFFFFFFC -4Too many open files
$FFFFFFFB -5Directory and volume label inaccessible
$FFFFFFFA -6The specified handle is not open
$FFFFFFF9 -7The memory management area was destroyed
$FFFFFFF8 -8Not enough memory for execution
$FFFFFFF7 -9Invalid memory management pointer specified
$FFFFFFF6-10Illegal environment specified
$FFFFFFF5-11Abnormal executable file format
$FFFFFFF4-12Abnormal open access mode
$FFFFFFF3-13Invalid file name
$FFFFFFF2-14Called with invalid parameter
$FFFFFFF1-15Invalid drive specified
$FFFFFFF0-16Current directory can't be deleted
$FFFFFFEF-17ioctrl can not be used
$FFFFFFEE-18No more files found
$FFFFFFED-19The file can't be written
$FFFFFFEC-20The directory already exists
$FFFFFFEB-21File can't be deleted
$FFFFFFEA-22File can't be renamed
$FFFFFFE9-23File can't be created because disk is full
$FFFFFFE8-24File can't be created because folder is full
$FFFFFFE7-25Can't seek to the specified position
$FFFFFFE6-26Supervisor mode require while in supervisor mode
$FFFFFFE5-27Thread name exists
$FFFFFFE4-28IPC buffer is write protected
$FFFFFFE3-29Can't start any more background processes
$FFFFFFE0-32InsuFFicient lock space
$FFFFFFDF-33File is locked and can't be accessed
$FFFFFFDE-34The drive has a handler open
$FFFFFFDD-35Symbolic link nest exceeded 16 links(lndrv)
$FFFFFFB0-80File exists

Detailed Descriptions

$FF00<BOOKMARK:EXIT>_EXITTerminate program
End the program. Open file handles are closed.

$FF01<BOOKMARK:GETCHAR>_GETCHARWait for keyboard input(with echo)
Argnone
Returnkey code
Wait for key input and output the character to stdout.
^C - Return to the parent process
^P - Toggle output stdout to the printer also
^N - Check the printer output state

$FF02<BOOKMARK:PUTCHAR>_PUTCHARDisplay character
ArgCODE.wSingle-byte character
ReturnAlways 0
Outputs the character specified by CODE to stdout.
It checks whether the key is ^C, ^S, ^P, or ^N.

Usage:

move	CODE,-(sp)
DOS	_PUTCHAR
addq.l	#2,sp

$FF03<BOOKMARK:cominp>_COMINPGet 1 byte from RS-232C port
ArgNone
Return1 byte received
Receive 1 byte from the RS-232C port (with break check)

$FF04<BOOKMARK:comout>_COMOUTSend 1 byte to the RS-232C port
ArgCODE.wByte code
ReturnNone
Send 1 byte to the RS-232C port (with break check)

Usage:

move	CODE,-(sp)
DOS	_COMOUT
addq.l	#2,sp

$FF05<BOOKMARK:prnout>_PRNOUTOutput 1 character to the printer
ArgCODE.wSingle-byte character code
ReturnNone
Output one character specified by CODE to the printer (with break check). Because the high-order byte of CODE must be 0, kanji is output by sending two bytes in a row in the order of high byte first, then low byte.

Usage:

move	CODE,-(sp)
DOS	_PRNOUT
addq.l	#2,sp

$FF06<BOOKMARK:INPOUT>_INPOUTKey input/output
ArgCODE.wSingle-byte character code
ReturnCODE=0xFF,0xFE, Input key code (no input if d0.l =0)
CODE=other, d0.l=0
If the CODE value is 0xFF if the key is not pressed it returns 0 immediately. If CODE=0xFE the key is read and the value stays in the buffer. If CODE is any other value it is regarded as a character code and displayed.

Usage:

move	CODE,-(sp)
DOS	_INPOUT
addq.l	#2,sp

$FF07<BOOKMARK:inkey>_INKEYEnter one character from the keyboard (no break check)
Argnone
ReturnKey code
Wait until a key is pressed and return the key code.

$FF08<BOOKMARK:getc>_GETCEnter one character from the keyboard (with break check)
Argnone
ReturnKey code
Wait until a key is pressed and return the key code. Checks for ^C, ^S, ^P, or ^N.

$FF09<BOOKMARK:print>_PRINTPrint string
ArgMESPTR.lPointer to string
ReturnAlways 0
Display the character string specified by MESPTR. Checks for ^C, ^S, ^P, or ^N.

Usage:

pea	(MESPTR)
DOS	_PRINT
addq,l	#4,sp

$FF0A<BOOKMARK:gets>_GETSInput string
ArgBUFFER.lInput buffer pointer
ReturnNumber of characters input.
Write a string of input characters up to the line feed to the input buffer specified by BUFFER. The newline character is replaced with the NULL character. Checks for ^C, ^S, ^P, or ^N. If the string exceeds the maximum number of input characters a warning is issued but it doesn't error out. Set the maximum number of input characters before calling this. If you execute it continuously with the same buffer, you can use the template function unless you clear the number of input characters obtained from the previous execution. The content of the input buffer is as follows.
OffsetSizeDescription
01.bMaximum number of input characters: n
11.bNumber of actually entered characters
2n+1.bInput string

Usage:

pea	(BUFFER)
DOS	_GETS
addq.l	#4,sp

$FF0B<BOOKMARK:keysns>_KEYSNSCheck key input state
ArgNone
ReturnInput state (0: no input, -1: input)
Examine the key input state. Checks for ^C, ^S, ^P, or ^N.

$FF0D<BOOKMARK:fflush>_FFLUSHDisk reset
ArgNone
ReturnAlways 0
Initialize the contents of the disk buffer and the line input buffer from standard input. Does not close the file. Do nothing if fflush=off

$FF0E<BOOKMARK:chgdrv>_CHGDRVSet current drive
ArgDRIVE.wDrive number (0: A 1: B … 25: Z)
ReturnNumber of drives available
Change the current drive. Fail if the return value is less than the specified drive number.

Usage:

move	DRIVE,-(sp)
DOS	_CHGDRV
addq.l	#2,sp

$FF10<BOOKMARK:consns>_CONSNSCheck if screen output is possible
Argnone
ReturnOutput status (0: output impossible, nonzero: output possible)
Check if screen output is possible.

$FF11<BOOKMARK:prnsns>_PRNSNSCheck if printer output is possible
Argnone
ReturnOutput status (0: output impossible, nonzero: output possible)
Check if printer output is possible.

$FF12<BOOKMARK:cinsns>_CINSNSCheck if RS-232C input is possible
Argnone
ReturnOutput status (0: input impossible, nonzero: input possible)
Check if RS-232C input is possible.

$FF13<BOOKMARK:coutsns>_COUTSNSCheck if RS-232C output is possible
Argnone
ReturnOutput status (0: output impossible, nonzero: output possible)
Check if RS-232C output is possible.

$FF19<BOOKMARK:curdrv>_CURDRVGet the current drive
ArgNone
ReturnNumber of the current drive (0: A 1: B … 25: Z)
Get the current drive number.

$FF1A<BOOKMARK:getss>_GETSSInput string (no break check)
ArgBUFFER.lInput buffer pointer
ReturnWrites the input character string up to the line feed to the input buffer specified by BUFFER. Newline characters are replaced with NULL characters. Does not perform break check(do not break at VOID/NEWLINE) If the length exceeds the maximum number of input characters allowed a warning is issued but execution does not stop. The contents of the input buffer are as follows.
Get the current drive number.
OffsetSizeDesciption
01.bMaximum input characters allowed: n
11.bNumber of characters actually entered
2n+1.bInput string

$FF1B<BOOKMARK:fgetc>_FGETCGet one byte from file
ArgFILENO.wFile handle
ReturnOne byte read from file
Wait until there is input from the file handle specified by FILENO and return the code if there is input.

$FF1C<BOOKMARK:fgets>_FGETSGet string input from file handle
Arg 1BUFFER.lInput buffer pointer
Arg 2FILENO.wFile handle
ReturnNumber of characters read
Get a character string from the file handle specified by FILENO up to the line feed and write it to the input buffer specified by BUFFER. Newline characters are replaced with null characters, no break check is done (do not break at VOID/NEWLINE). If it exceeds the maximum number of input characters it terminates early, truncating the string to the maximum number of input characters allowed. The contents of the input buffer are as follows.
OffsetSizeDescription
01.bMaximum input characters: n
11.bNumber of actually entered characters
2n+1.bInput string

Usage:

move	FILENO,-(sp)
pea	(BUFFER)
DOS	_FGETS
addq.l	#6,sp

$FF1D<BOOKMARK:fputc>_FPUTCOutput one byte to file handle
Arg 1CODE.wByte code
Arg 2FILENO.wFile handle
ReturnNone
Write 1 byte from CODE to the file specified by FILENO.
move	FILENO,-(sp)
move	CODE,-(sp)
DOS	_FPUTC
addq.l	#4,sp

$FF1E<BOOKMARK:fputc>_FPUTSOutput string to file handle
Arg 1MESPTR.lPointer to string
Arg 2FILENO.wFile handle
ReturnNone
Write the string pointed to by MESPTR to the file specified in FILENO. Does not output the NULL character at the end of the string.

Usage:

move	FILENO,-(sp)
pea	(MESPTR)
DOS	_FPUTS
addq.l	#6,sp

$FF1F<BOOKMARK:allclose>_ALLCLOSEClose all files
ArgNone
ReturnNone
Close all open files

$FF20<BOOKMARK:super>_SUPERSupervisor/User mode switching
ArgSTACK.lSwitching mode (0 or address set in SSP)
ReturnSTACK=0 Value of the previous SSP (error code if negative)
Switch the supervisor/user mode according to the value of STACK

STACK=other Set STACK to SSP and switch to user mode.
Close all open files

Usage:

pea	(STACK)
DOS	_SUPER
addq.l	#4,sp

$FF30<BOOKMARK:vernum>_VERNUMOS version check
ArgNone
ReturnVersion number
Check the verion number of Human68k

bit 31~24 '6' (0x36)
bit 23~16 '8' (0x38)
15~8 integer part of version number
bit 7~0 Decimal part of version number.

$FF36<BOOKMARK:dskfre>_DSKFREGet the available space on the disk
ArgDRIVE.wDrive number
ReturnNumber of free bytes (2GB maximum, error code if negative)
Get the remaining free space of the drive specified by DRIVE and write it to the following 8 bytes to BUFFER.
OffsetSizeDescription
01.wNumber of free clusters
21.wTotal number of clusters
41.wNumber of sectors per cluster
61.wNumber of bytes per sector

Usage:

pea	(BUFFER)
move	DRIVE,-(sp)
DOS	_DSKFRE
addq.l	#6,sp

$FF39<BOOKMARK:mkdir>_MKDIRCreate subdirectory
ArgFILE.lPointer to directory name
ReturnError code
Create the subdirectory specified by FILE. When the call is successful the return value is usually 0, but when a special device driver is targeted, a positive integer may be returned.

Usage:

pea	(FILE)
DOS	_MKDIR
addq.l	#4,sp

$FF3A<BOOKMARK:rmdir>_RMDIRDelete subdirectory
ArgFILE.lPointer to directory name
ReturnError code
Delete the subdirectory specified by FILE. The directory must be empty and you can't delete the current directory, the root directory, directories with the system or read-only attribute. When the call is successful the return value is usually 0, but when a special device driver is targeted, a positive integer may be returned.

Usage:

pea	(FILE)
DOS	_RMDIR
addq.l	#4,sp

$FF3B<BOOKMARK:chdir>_CHDIRChange current directory
ArgFILE.lPointer to directory name
ReturnError code
Change the current directory to the directory specified by FILE. When the call is successful the return value is usually 0, but when a special device driver is targeted, a positive integer may be returned. It does not work properly with Human68k version 3.02, change to a subdirectory with length of 22 characters fails.

Usage:

pea	(FILE)
DOS	_RM==CHDIR
addq.l	#4,sp

$FF3C<BOOKMARK:create>_CREATECreate file
Arg 1FILE.lPointer to file name
Arg 2ATR.wfile attribute (%XLAD_VSHR)
ReturnThe file handle of the created file. If negative, an error occured.
Create the specified file specified by FILE with the attributes specified in ATR.
If ATR is 0, it is interpreted as the Archive attribute.
If the file already exists the contents of that file will be lost. Directories, volume labels, and files with the System attribute are read-only and will not be deleted. When the MSB of ATR is set, even if the file already exists, it will not be deleted.

Usage:

move	ATR,-(sp)
pea	(FILE)
DOS	_CREATE
addq.l	#6,sp

$FF3D<BOOKMARK:open>_OPENOpen file
Arg 1FILE.lPointer to file name
Arg 2MODE.wAccess mode
ReturnThe file handle of the opened file. If negative, an error occured.
Open the file specified by FILE in the access mode specified by MODE.
If the file has the read-only attribute it will not open with write or read/write mode.

Valid values for mode:
bit 8 - Dictionary access mode
* %1 - A special file handle is used for dictionary. (Use is prohibited)
* %0 - normal

bit 6~4 - Sharing mode
* %100 always set
* %011 - Write only allowed
* %010 Read only allowed
* %001 Prohibited
* %000 Compatibility mode

bit 1 to 0 - Read/write mode
* %10 Read/write mode
* %01 Write mode
* %00 read mode

The sharing mode specified by bits 6~4 regulates sharing files between multiple processes. When multiple processes are running, each process can read and write the same file at the same time. This is potentially risky behavior and you should always specify an appropriate sharing mode to maintain exclusive control of file access.

Usage:

move	MODE,-(sp)
pea	(FILE)
DOS	_OPEN
addq.l	#6,sp

$FF3E<BOOKMARK:close>_CLOSEClose file
ArgFILENO.wFile handle
ReturnError code
Close the file handle specified by FILENO.

Usage:

move	FILENO,-(sp)
DOS	_CLOSE
addq.l	#2,sp

$FF3F<BOOKMARK:read>_READRead file
Arg 1FILENO.wFile handle
Arg 2BUFFER.lPointer to read buffer
Arg 3LEN.lNumber of bytes to read
ReturnNumber of bytes actually read. If negative, an error occured.
Read the number of bytes speficied in LEN to the buffer specified in BUFFER from the file handle FILENO. After execution the file pointer moves backward(?) by the number of bytes read. If LEN=0, read from the current file pointer to the end of the file. If the return value is less than the specified number of bytes it means that the file has been read to the end.

Usage:

move.l	LEN,-(sp)
pea	(BUFFER)
move	FILENO,-(sp)
DOS	_READ
lea	(10,sp),sp

$FF40<BOOKMARK:write>_WRITEWrite file
Arg 1FILENO.wFile handle
Arg 2BUFFER.lWrite buffer pointer
Arg 2LEN.lNumber of bytes to write
ReturnNumber of bytes actually written. If negative, an error occured.
Write the number of bytes specified in LEN to the buffer specified in BUFFER from the file handle FILENO.
After execution the file pointer moves backward(??) by the number of bytes writte. When the return value is less than the bytes specified this means the disk is full.

Usage:

move.l	LEN,-(sp)
pea	(BUFFER)
move	FILENO,-(sp)
DOS	_WRITE
lea	(10,sp),sp

$FF41<BOOKMARK:delete>_DELETEDelete file
ArgFILE.lPointer to file name
ReturnError code
Delete the file specified by FILE. You can not use wildcards, delete directories or volume labels, or files with the system or read-only attributes.

Usage:

pea	(FILE)
DOS	_DELETE
addq.l	#4,sp

$FF42<BOOKMARK:seek>_SEEKMove file pointer
Arg 1FILENO.wFile handle
Arg 2MODE.wMovement mode
ReturnOffset from the beginning of the file.
The pointer of the file specified by FILENO is moved based on the specified MODE and OFFSET. Attempts to move past the beginning or end of the file results in an error. The character device can't seek and the current position will always return 0.

MODE = 0 - Start
MODE = 1 - Current position (Negative offsets will move the pointer forward)
MODE = 2 - EOF (offset must be less than or equal to 0.)

Usage:

move	MODE,-(sp)
move.l	OFFSET,-(sp)
move	FILENO,-(sp)
DOS	_SEEK
addq.l	#8,sp

$FF47<BOOKMARK:curdir>_CURDIRGet the current directory
Arg 1DRIVE.wDrive number (0: current 1: A 2: B … 26: Z)
Arg 2BUFFER.lBuffer pointer
ReturnError code
Write the current directory of the drive specified by DRIVE into the 65 byte buffer specified by BUFFER. Does not add '\' to the root directory or '\' to the end of the string.

Usage:

pea	(BUFFER)
move	DRIVE,-(sp)
DOS	_CURDIR
addq.l	#6,sp

$FF48<BOOKMARK:malloc>_MALLOCReserve memory
ArgLEN.lNumber of bytes to reserve
ReturnPointer of allocated memory block (MSP+0x10)
d0.l = 0x81?????? the specified amount can't be reserved (0x?????? is the number of bytes that can be reserved).
d0.l = 0x8200000? Impossible to completely reserve (0x? is indeterminate).
Reserve memory with the number of bytes specified by LEN. If LEN is greater than 0x1000000 it is always an error and it is possible to check the maximum number of bytes that can be reserved.

Usage:

move.l	LEN,-(sp)
DOS	_MALLOC
addq.l	#4,sp

$FF49<BOOKMARK:mfree>_MFREERelease reserved memory
ArgMEMPTR.lPointer to memory block
ReturnError code
Releases the memory block specified by MEMPTR. When MEMPTR=0, release all memory reserved by you.

Usage:

pea	(MEMPTR)
DOS	_MFREE
addq.l	#4,sp

$FF4A<BOOKMARK:setblock>_SETBLOCKResize memory block
Arg 1MEMPTR.lPointer to memory block
Arg 2LEN.lNumber of bytes to reserve
ReturnError code
d0.l=0x81?????? Unmodifiable (0x?????? is the number of changeable bytes)
d0.l=0x8200000? Completely unmodifyable (0x? is indeterminate)
Change the memory block specified by MEMPTR to the size specified by LEN. If LEN is greater than 0x1000000 it is always an error and it is possible to check the maximum number of bytes that can be changed.

Usage:

move.l	LEN,-(sp)
pea	(MEMPTR)
DOS	_SETBLOCK
addq.l	#8,sp

$FF4C<BOOKMARK:exit2>_EXIT2Exit with return code
ArgCODE.wExit code
ReturnNone
Quit the program with the exit code specified by CODE. The opened file handles are closed.

$FF4D<BOOKMARK:wait>_WAITGet process exit code
ArgNone
ReturnExit code
Examine the exit code of the executed process. It is the same as the return value of DOS _EXEC(MODE=0,4)

$FF8A<BOOKMARK:maketmp>_MAKETMPCreate temporary file
Arg 1FILE.lPointer to file name
Arg 2ATR.wFile attribute (%XLAD_VSHR)
ReturnThe file handle of the created file. If negative, an error occured.
Create a temporary file specified by FILE with attributes ATR. The file name can contain '?', it is replaced by a number when created. It increments until it becomes a file name that does not exist then creates it. Note that the file name specified by FILE can be rewritten by this DOS call.

Usage:

move	ATR,-(sp)
pea	(FILE)
DOS	_MAKETMP
addq.l	#6,sp

$FF8B<BOOKMARK:newfile>_NEWFILECreate new file
Arg 1FILE.lPointer to file name
Arg 2ATR.wFile attribute (%XLAD_VSHR)
ReturnThe file handle of the created file. If negative, an error occured.
Create a temporary file specified by FILE with attributes ATR. If ATR is 0 it is equivalent to the archive attribute. If the file already exists it returns an error (-80).

Usage:

move	ATR,-(sp)
pea	(FILE)
DOS	_MAKETMP
addq.l	#6,sp
x68000/doscall.1566902722.txt.gz · Last modified: 2019/08/27 20:45 by 127.0.0.1