VolksForth/AtariST/FILEINT.FB

1 line
74 KiB
Plaintext
Raw Normal View History

2017-04-23 22:25:49 +00:00
\\ *** File-Interface *** 25may86we Dieses File enth<74>lt das File-Interface. Damit wird der Zugriff auf normale GEM-Dos Files m<>glich. Wenn ein File mit USE benutzt wird, beziehen sich alle Worte, die mit dem Massenspeicher arbeiten, auf dieses File. Ebenfalls un- terst<73>tzt das File-Interface Subdirectories, sogar mit mehr M<>glichkeiten als unter GEM-Dos. Da es normalerweise im Direktzugriff geladen wird, m<>ssen die View-Felder der Worte anschlie<69>end gepatched werden (s. STARTUP.SCR) \ File interface load and patch block 13oct86we Onlyforth 1 3 +thru \ savesystem, always needed 4 $21 +thru \ Fileinterface ' (makeview Is makeview ' remove-files Is custom-remove ' filer/w Is r/w \ File functions for save-system cas20130105 : arguments ( n -- ) depth 1- > abort" not enough Parameters" ; | Code (createfile ( C$ -- handle ) 0 # A7 -) move \ normal file, no protection SP )+ D6 move D6 reg) A0 lea .l A0 A7 -) move .w $3C # A7 -) move 1 trap 8 A7 addq D0 SP -) move Next end-code | Code (closefile ( handle -- f ) SP )+ A7 -) move $3E # A7 -) move 1 trap 4 A7 addq D0 SP -) move Next end-code \ write into file cas20130105 | Code (filewrite ( buff len handle -- n ) SP )+ D0 move .l D2 clr .w SP )+ D2 move SP )+ D6 move D6 reg) A0 lea .l A0 A7 -) move \ buffer adress D2 A7 -) move \ buffer length .w D0 A7 -) move \ handle $40 # A7 -) move \ call WRITE 1 trap $0C # A7 adda D0 SP -) move \ errorflag, num written Bytes Next end-code