/ SERIAL DISK OVER THE CONSOLE PORT Page 1
1 / SERIAL DISK OVER THE CONSOLE PORT
2 /
3 / 20220213 DPI
4 / STARTED CODING SINGLE SYS ENTRY POINT.
5
6 / 20220218 DPI
7 / FLESHED IT ALL OUT. JUST EXACTLY FITS WITHOUT ANY TRICKS.
8
9 / 20220330 DPI
10 / MOVED SOME VARIABLES TO THE DATA BREAK LOCATIONS AND NOW HAVE
11 / FOUR WORDS FREE.
12
13 / 20220427 DPI
14 / ADDED THE 20220330 COMMENT. ADDED THE BOOT CODE WHICH ISN"T REALLY
15 / USED BUT IS WHAT ENDS UP IN MEMORY. MADE CHANGES IN THE BOOT CODE
16 / AFTER REVISITING THE BOOT PROCESS. MOVED BOOT2 SUCH THAT IT STARTS
17 / AT 0037 AND ENDS AT 0046 WHICH IS THE LAST LOCATION THE TRADITIONAL
18 / STYLE OS/8 BOOTS USE IN THE BOOT SECTOR.
19
20 / 20220428 DPI
21 / DECIDED TO MAKE THE BOOT MORE LIKE ALL THE OTHER HANDLERS. THE
22 / BOOT PROCESS CONSISTS OF STARTING THE BOOT1 CODE, TELLING THE
23 / SERVER TO GO INTO BOOT MODE WHERE IT SENDS THE HELP VERSION OF
24 / BOOT2 AND THEN SENDS THE BOOT BLOCK. BOOT2 READS THE BOOT BLOCK
25 / AT 0 AND THEN MOVED THE PIECES INTO THEIR LOCATIONS AND THEN
26 / JMPS TO 7605 TO START OS/8.
27
28 / 20220501 DPI
29 / ADDED A RELOC JUST BEFORE THE $ AT THE END FIR SYMMETRY.
30
31 / 20220503 DPI
32 / FIXED A COMMENT AND ADDED BACK IN THE NOPS AFTER THE ISZ WHICH SHOULD
33 / GET SKIPPED ONLY WHEN TRANSFERING THE LAST WORD OF A FIELD.
34
35 / 20220507 DPI
36 / CHANGED THE DEVICE NAME TO MATCH THE RK05 NAMES FOR THE INITIAL
37 / INSTALL ATTEMPT. IF THERE ARE ISSUES WITH JUST FORCING THIS
38 / HANDLER INTO MEMORY DURING BOOT, THIS MIGHT HELP.
39 / ALSO ADDED A SECOND DUMMY ENTRY POINT TO MATHC THE RK8E.
40
41 / 20220707 DPI
42 / FOUND A BUG IN GET12 WHERE IF THE LINK WAS SET THEN THE VALUE
43 / WOULD HAVE 010 ADDED TO IT. ALSO CLEARED THE LINK IN SEND12
44 / ALTHOUGH I DON'T THINK IT WOULD MATTER THERE.
45
46 /20220708 DPI
47 / CHANGED THE NAMES OF THE READ AND WRITE ROUTINES TO MATCH THEIR
48 / FUNCTIONS RELATIVE TO THE SERVER SINCE IT IS THE ONE GIVING THE
49 / ORDERS.
50
/ SERIAL DISK OVER THE CONSOLE PORT Page 2
51 /20220718 DPI
52 / MOVED SOME CODE AROUND SO SETUP IS AT THE SECOND HANDLER ENTRY
53 / POINT. IF THE SERVER DOES NOT SEE 7611 (7607+2) AS THE INITIAL
54 / CALLED ADDRESS, IT KNOWS THE SECOND ENTRY POINT WAS CALLED.
55
56 0001 VERS="A&77 /VERSION DISPLAYED BY RESORC
57
58 0003 DEVCNT=3 /SYS ENTRY, RKA0 AND RKB0 DEVICES FOR NOW
59 DECIMAL
60 6260 DEVSIZ=3248 /SAME AS RK05 AND PREVIOUS SERIAL DISK VERSIONS
61 OCTAL
62
63
64 0000 *0
65 00000 7775 -DEVCNT /NUMBER OF ENTRIES
66
67 / IN REALITY WE SHOULD LOOK LIKE THIS
68 / DEVICE CSDO; DEVICE SYS; 4401; 2007; 0; DEVSIZ
69 / DEVICE CSDO; DEVICE CDA0; 4401; 1007; 0; DEVSIZ
70 / DEVICE CSDO; DEVICE CDB0; 4401; 1040; 0; DEVSIZ
71
72 / BUT WE NEED TO TRICK OS/8 INTO WORKING WITH US SO WE DO THIS FOR THE
73 / INITIAL INSTALL.
74 00001 2213 DEVICE RK8E; DEVICE SYS; 4231; 2007; 0; DEVSIZ
00002 7005
00003 2331
00004 2300
00005 4231
00006 2007
00007 0000
00010 6260
75 00011 2213 DEVICE RK8E; DEVICE RKA0; 4231; 1007; 0; DEVSIZ
00012 7005
00013 2213
00014 0160
00015 4231
00016 1007
00017 0000
00020 6260
76 00021 2213 DEVICE RK8E; DEVICE RKB0; 4231; 1021; 0; DEVSIZ
00022 7005
00023 2213
00024 0260
00025 4231
00026 1021
00027 0000
00030 6260
77
78
79 /BOOT CODE
/ SERIAL DISK OVER THE CONSOLE PORT Page 3
80
81 00031 7731 BTWC-BLAST /TWO'S COMP OF LENGTH OF BOOT CODE FOR BUILD
82
83 RELOC 0
84 00000* 7400 BTWC, -0400 /WORD COUNT TO TRANSFER
85 00001* 0001 BTCA, 0001 /CURRENT ADDRESS TO STORE WORD.
86 00002* 0000 BTTMP, .-. /THIS IS AN INITIAL DONT CARE VALUE.
87
88 / THE NEXT FOUR WORDS REPLACE THE PATCH CODE IN THE BOOT2 HELP LOADER
89 00003* 7605 OS8GO, 7605 /OS8 ENTRY POINT
90 00004* 0047 BTSRC, 0047
91 00005* 7647 BTDST1, 7647
92 00006* 7600 BTDST2, 7600
93
94 00007* 6031 BOOT2, KSF /GET A CHARACTER FROM SERIAL DISK SERVER
95 00010* 5007 JMP .-1
96 00011* 6036 KRB
97 00012* 7006 RTL /LEFT SHIFT 4 BITS TO BUILD UPPER HALF
98 00013* 7006 RTL
99 00014* 3002 DCA BTTMP /SAVE FOR COMBINE
100 00015* 6031 KSF /GET LOWER 6 BITS
101 00016* 5015 JMP .-1
102 00017* 6036 KRB
103 00020* 1002 TAD BTTMP
104 00021* 3401 DCA I BTCA /STORE THE WORD IN MEMORY
105 00022* 2001 ISZ BTCA /POINT AT NEXT ADDRESS
106 00023* 2000 ISZ BTWC /SKIP IF DONE
107 00024* 5007 JMP BOOT2 /GO DO THE NEXT WORD
108
109 / WHEN WE GET HERE THE BOOT BLOCK IS LOADED IN MEM PAGES 0 AND 1
110 / WE NOW NEED TO COPY THEM INTO PLACE.
111
112 / FIRST DO THE FIELD 1 PIECE
113 00025* 1404 BTCPY1, TAD I BTSRC /LOAD
114 00026* 6211 CDF 10 /SWITCH TO FIELD 1
115 00027* 3405 DCA I BTDST1 /STORE
116 00030* 6201 CDF 00 /SWITCH TO FIELD 0
117 00031* 2004 ISZ BTSRC /BUMP SRC ADDRESS WILL NEVER SKIP
118 00032* 2005 ISZ BTDST1 /BUMP DST ADDRESS AND SKIP IF DONE
119 00033* 5025 JMP BTCPY1
120
121 / NEXT DO THE FIELD 0 PIECE
122 00034* 1404 BTCPY2, TAD I BTSRC /LOAD
123 00035* 3406 DCA I BTDST2 /STORE
124 00036* 2004 ISZ BTSRC /BUMP SRC ADDRESS WILL NEVER SKIP
125 00037* 2006 ISZ BTDST2 /BUMP DST ADDRESS AND SKIP IF DONE
126 00040* 5034 JMP BTCPY2
127
128 00041* 5403 JMP I OS8GO /AND GO START OS8
129
/ SERIAL DISK OVER THE CONSOLE PORT Page 4
130 00042* 0000 ZBLOCK 047-. /PAD TO FILL THE SECTION
00043* 0000
00044* 0000
00045* 0000
00046* 0000
131
132 BLAST, RELOC
133
134 /////// END OF BOOT