Last modified by Max on 2025/03/02 15:18

From version 2.76
edited by Max
on 2025/02/25 17:17
Change comment: (Autosaved)
To version 2.66
edited by Max
on 2025/02/25 16:32
Change comment: (Autosaved)

Summary

Details

Page properties
Content
... ... @@ -1034,14 +1034,15 @@
1034 1034  {{code language="assembler"}}
1035 1035  ;--------------------------------------------------
1036 1036  ; 76th page map - we prepare data for the screenshot command there
1037 -SCR_PAGE = 130000 ; we temporarily attach the 76th page to the 77th - that is, into the 130000 window
1038 -SCR_TAG = SCR_PAGE+0 ; here is the input - 240 - 1 word
1039 -SCR_ADDR_CONF = SCR_TAG+2 ; here is the command with addresses - address+length 24 bits - 4 words
1040 -SCR_PAGE_CONF = SCR_ADDR_CONF+8. ; here is the command with pages - the starting page and the number of pages - 2 words
1037 +SCR_PAGE = 130000 ; we temporarily attach the 76th page to the 77th - that is, into the 130000 window
1038 +SCR_TAG = SCR_PAGE+0 ; here is the input - 240 - 1 word
1039 +SCR_ADDR_CONF = SCR_TAG+2 ; here is the command with addresses - address+length 24 bits - 4 words
1040 +SCR_PAGE_CONF = SCR_ADDR_CONF+8. ; here is the command with pages - the starting page and the number of pages - 2 words
1041 1041  SCR_MEM_CONF = SCR_PAGE_CONF+4. ; here is the memory configuration from the registers - 22 words
1042 1042  SCR_VGA_CONF = SCR_MEM_CONF+44. ; here video controller configuration - 10 words
1043 -SCR_PAL = SCR_VGA_CONF+20. ; here 338. values (words) of palette 338 words
1043 +SCR_PAL = SCR_VGA_CONF+20. ; here 338. values ??(words) of palette 338 words
1044 1044  ;--------------------------------------------------
1045 +
1045 1045  ; trap 41 - preparation of default information for screenshot functionality
1046 1046  PrepSRC: jsr R5, PUSHA ; batch saving of registers
1047 1047   mov @#177326,-(SP) ; save page 130k which was before the call
... ... @@ -1137,105 +1137,106 @@
1137 1137  Example program
1138 1138  
1139 1139  {{code language="assembler"}}
1140 -; update the information in the screenshot header
1141 +; обновим информацию в хидере скриншота
1141 1141  ;--------------------------------------------------
1142 -; 76th page map - we prepare data for the screenshot command there
1143 -SCR_PAGE = 130000 ; we temporarily attach the 76th page to the 77th - that is, into the 130000 window
1144 -SCR_TAG = SCR_PAGE+0 ; here is the input - 240 - 1 word
1145 -SCR_ADDR_CONF = SCR_TAG+2 ; here is the command with addresses - address+length 24 bits - 4 words
1146 -SCR_PAGE_CONF = SCR_ADDR_CONF+8. ; here is the command with pages - the starting page and the number of pages - 2 words
1147 -SCR_MEM_CONF = SCR_PAGE_CONF+4. ; here is the memory configuration from the registers - 22 words
1148 -SCR_VGA_CONF = SCR_MEM_CONF+44. ; here video controller configuration - 10 words
1149 -SCR_PAL = SCR_VGA_CONF+20. ; here 338. values (words) of palette 338 words
1143 +; карта 76й страницы - туда мы готовим данные для команды скринщотов
1144 + SPAGE = 170000 ; 76ую страницу цепляем на место 77й временно - те в окно 130000
1145 + STAG = SPAGE+0 ; тут вход - 240 - 1 слово
1146 + SADDRC = STAG+2 ; сюда команду с адресами - адрес+длина 24 бита - 4 слова
1147 + SPAGEC = SADDRC+8. ; сюда команду со страницами - начальная страница и количество страниц - 2 слова
1148 + SMEMC = SPAGEC+4. ; cюда конфигурацию памяти из регистров - 22 слова
1149 + SVGAC = SMEMC+44. ; сюда конфигурацию видеоконтроллера - 10 cлов
1150 + SPAL = SVGAC+20. ; сюда 338. значений(слов) палитры 338 слов
1150 1150  ;--------------------------------------------------
1151 - mov @#177326,R5 ; save page 130k which was before the call
1152 - mov #76,@#177336 ; hook the 76th page into the window
1153 1153  
1154 - ;video controller configuration
1153 + mov @#177326,R5 ; сохраним страницу 130k которая была до вызова
1154 + mov #76,@#177336 ; цепляем 76ую страницу в окно
1155 +
1156 + ;конфигурация видеоконтроллера
1155 1155   ; 177230-177256
1156 1156   mov #SVGAC,R4
1157 1157  
1158 - mov @#177230,(R4)+;177230 - control register
1159 - mov @#177232,(R4)+;177232 - register - top page (layer 0)
1160 - mov @#177240,(R4)+;177240 - register - top page (layer 1)
1161 - mov @#177242,(R4)+;177242 - register - top page (layer 2)
1162 - mov @#177244,(R4)+;177244 - vertical scroll register layer 2
1163 - mov @#177246,(R4)+;177246 - vertical scroll register layer 1
1164 - mov @#177250,(R4)+;177250 - vertical scroll register layer 0
1165 - mov @#177252,(R4)+;177252 - horizontal scroll register layer 0
1166 - mov @#177254,(R4)+;177254 - horizontal scroll register layer 1
1167 - mov @#177256,(R4)+;177256 - horizontal scroll register layer 2
1160 + mov @#177230,(R4)+;177230 - регистр управления
1161 + mov @#177232,(R4)+;177232 - регистр - верхняя страница (слой 0)
1162 + mov @#177240,(R4)+;177240 - регистр - средняя страница (слой 1)
1163 + mov @#177242,(R4)+;177242 - регистр - нижняя страница (слой 2)
1164 + mov @#177244,(R4)+;177244 - регистр вертикального скролинга слой 2
1165 + mov @#177246,(R4)+;177246 - регистр вертикального скролинга слой 1
1166 + mov @#177250,(R4)+;177250 - регистр вертикального скролинга слой 0
1167 + mov @#177252,(R4)+;177252 - регистр гозизонтального скролинга слой 0
1168 + mov @#177254,(R4)+;177254 - регистр гозизонтального скролинга слой 1
1169 + mov @#177256,(R4)+;177256 - регистр гозизонтального скролинга слой 2
1168 1168  
1169 - mov R5,@#177336; return the page from which the call was made
1171 + mov R5,@#177336; вернем страницу с которой был вызов
1170 1170  
1171 1171  
1172 1172   ;-------------------------
1173 - MOV #AZ$CSR,R3 ; Preparing controller CSR
1174 - MOV #AZ$DR,R4 ; Preparing controller DR
1175 -20$: CLR (R3) ; Reset the controller
1175 + MOV #AZ$CSR,R3 ; Готовим CSR контроллера
1176 + MOV #AZ$DR,R4 ; Готовим DR контроллера
1177 +20$: CLR (R3) ; Сбросим контроллер
1176 1176   TSTB (R3)
1177 1177   BPL 20$
1178 1178  
1179 - ; clear the memory block for the name - so that the system makes a default file name
1180 - mov #23,(R3) ; command that we will write data to the buffer
1181 -128$: TSTB (R3) ; check the result of execution
1182 - BPL 128$ ; wait
1181 + ; очистим блок памяти для имени - дабы система сделала дефолтное имя файла
1182 + mov #23,(R3) ; командуем что будем писать данные в буфер
1183 +128$: TSTB (R3) ; проверяем результат выполнения
1184 + BPL 128$ ; ждем
1183 1183   clr R1
1184 1184  
1185 1185   mov #256.,R2 ;
1186 -129$: mov R1,(R4) ; give to the controller
1188 +129$: mov R1,(R4) ; отдаем в контроллер
1187 1187   sob R2,129$
1188 1188  
1189 1189  
1190 - MOV #044,(R3) ; screenshot command
1192 + MOV #044,(R3) ; команда скриншот
1191 1191  22$: TSTB (R3) ;
1192 1192   BPL 22$ ;
1193 1193  
1194 - ; get the screenshot name
1195 - mov #22,(R3) ; give the read memory block from the buffer to the bus
1196 -121$: tstb (R3) ; check the result of execution
1197 - bpl 121$ ; wait
1196 + ; получим имя скриншота
1197 + mov #22,(R3) ; отдать на шину считанный блок памяти из буфера
1198 +121$: tstb (R3) ; проверяем результат выполнения
1199 + bpl 121$ ; ждем
1198 1198  
1199 1199   mov #BUF,R1
1200 - mov #256.,R2 ; read 256. words; the first word is the result of reading
1201 -122$: mov (R4),(R1)+ ; read a block of words into memory
1202 + mov #256.,R2 ; читаем 256. слов; первое слово - результат чтения
1203 +122$: mov (R4),(R1)+ ; читаем блок слов в память
1202 1202   sob R2,122$
1203 1203  
1204 1204   .PRINT #RESOK
1205 1205   .Print #BUF
1206 1206  
1207 - mov #110,@#AZ$CSR; enable the network by default, the network should be constantly enabled
1209 + mov #110,@#AZ$CSR; включаем сеть по-умолчанию сеть должна быть постоянно включена
1208 1208   .Exit
1209 1209  {{/code}}
1210 1210  
1211 -To unpack a screenshot, you can use this utility - [[https:~~/~~/master.pdp-11.ru/screen_unpack/>>https://master.pdp-11.ru/screen_unpack/]]
1213 +Для распаковки скриншота можно использовать вот эту утилиту
1212 1212  
1213 1213  
1214 1214  
1215 -= Commands for working with the TCP/IP stack =
1217 += **Команды для работы со стеком TCP/IP** =
1216 1216  
1217 -The following commands operate on the TCP/IP stack information buffer.
1219 +следующие команды работают с буфером информации TCP/IP cтека.
1218 1218  
1219 -== 040: Get IP address and other TCP/IP stack settings to buffer ==
1221 +== **040: Получить ip адрес и прочие настройки стека TCP/IP в буфер** ==
1220 1220  
1221 -Command code 040, this command fills the buffer with information from the TCP/IP stack with current (actual) information.
1223 +Код команды 040,  данная команда заполняет буфер информацией с TCP/IP cтека текущей (фактической) информацией.
1222 1222  
1223 -== 041: Reading ip address buffer ==
1225 +== **041: Чтение буфера ip адреса** ==
1224 1224  
1225 -Command code 041, this command transfers the buffer to the bus
1227 +Код команды 041,  данная команда передает буфер на шину
1226 1226  
1227 -This pair of commands allows you to get current information from the stack
1229 +эта пара команд позволяет получить текущую информацию со стека
1228 1228  
1229 -* IP address
1230 -* MASK mask
1231 -* GW gateway
1232 -* NTP address of the NTP server
1233 -* DNS1 primary DNS address
1234 -* DNS2 backup DNS address
1231 +* IP адрес
1232 +* MASK маску
1233 +* GW гейтвей
1234 +* NTP адрес NTP-сервера
1235 +* DNS1 адрес основного DNS
1236 +* DNS2 адрес резервного DNS
1235 1235  
1236 -accordingly it is 12 words
1238 +соответственно это 12 слов
1237 1237  
1238 -Example program:
1240 +Пример программы:
1239 1239  
1240 1240  {{code language="assembler"}}
1241 1241  ; trap 52 - чтение блока IP адресов в блок памяти IPADDDBLOCK (8. ячеек)
... ... @@ -1268,13 +1268,13 @@
1268 1268  Пример данных
1269 1269  
1270 1270  {{info}}
1271 -Data examples - words returned in octal format
1272 -124300 116400 - IP address 192.168.0.157
1273 -177777 000377 - MASK mask 255.255.255.0
1274 -124300 000400 - GW gateway 192.168.0.1
1275 -124300 000400 - NTP address of NTP server 192.168.0.1
1276 -124300 050000 - DNS1 address of primary DNS 192.168.0.90
1277 -124300 055000 - DNS2 address of backup DNS 192.168.0.80
1273 +Примеры данных - возвращаемые слова в восьмеричном формате
1274 +124300 116400 - IP адрес 192.168.0.157
1275 +177777 000377 - MASK маску 255.255.255.0
1276 +124300 000400 - GW гейтвей 192.168.0.1
1277 +124300 000400 - NTP адрес NTP-сервера 192.168.0.1
1278 +124300 050000 - DNS1 адрес основного DNS 192.168.0.90
1279 +124300 055000 - DNS2 адрес резервного DNS 192.168.0.80
1278 1278  {{/info}}
1279 1279  
1280 1280  == **043: чтение MAC-адреса в ip буфер** ==