VolksForth/sources/AtariST/PATCH.FB.src

69 lines
4.4 KiB
Plaintext
Raw Normal View History

2020-06-20 16:59:55 +00:00
Screen 0 not modified
0 \\ *** Loadscreen f<>r Arbeitssystem *** 03oct86we
1
2 Die folgenden Screens werden benutzt, um von FORTHKER.PRG aus
3 ein Arbeitssystem hochzuziehen.
4
5 Da der Kernal noch kein Filesystem enth<74>lt, mu<6D> dieses zun<75>chst
6 im Direktzugriff geladen werden. Assembler und Fileinterface
7 m<>ssen daher unbedingt am Anfang auf der Diskette liegen, damit
8 die absoluten Blocknummern stimmen ($16 und $18).
9
10 Anschlie<69>end werden die Files FORTH_83.SCR und FILEINT.SCR er-
11 zeugt und die View-Felder der Worte auf diese Files gepatched.
12 Dazu m<>ssen diese Files auf Diskette vorhanden sein.
13
14 Schlie<69>lich werden mit INCLUDE die Files geladen, die man in
15 seinem System haben m<>chte.
Screen 1 not modified
0
1
2 6 load cr .( Internal Assembler loaded ) cr
3 $18 load cr .( File-Interface loaded) cr
4 1 +load cr .( now patch that stuff ... ) cr
5
6 path A:\;B:\
7
8 use forth83.fb 0 0 patchviewfields
9 use fileint.fb ' arguments >name 4- -$17 patchviewfields
10
11 flush save
12
13
14
15
Screen 2 not modified
0 \ patch view-fields bp 25May86
1
2 here 300 hallot heap dp !
3 Variable blockoffset
4 : patch ( viewadr -- ) \ patch view field
5 viewoffset blockoffset @ + swap +! ;
6
7 : patchthread ( thread adr -- )
8 >r BEGIN @ dup WHILE dup 1- r@ u>
9 WHILE dup 2- patch REPEAT drop rdrop ;
10
11 : patchviewfields ( n adr -- ) \ adr is bottom of patch area
12 blockoffset ! voc-link
13 BEGIN @ ?dup WHILE 2dup 4- swap patchthread REPEAT
14 drop ;
15 dp !
Screen 3 not modified
0 \ 05oct86we
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15