Changes for page API контроллеров AZ®
Last modified by Max on 2025/03/02 15:18
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1148,94 +1148,95 @@ 1148 1148 SCR_VGA_CONF = SCR_MEM_CONF+44. ; here video controller configuration - 10 words 1149 1149 SCR_PAL = SCR_VGA_CONF+20. ; here 338. values (words) of palette 338 words 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 1152 + mov @#177326,R5 ; сохраним страницу 130k которая была до вызова 1153 + mov #76,@#177336 ; цепляем 76ую страницу в окно 1154 + 1155 + ;конфигурация видеоконтроллера 1155 1155 ; 177230-177256 1156 1156 mov #SVGAC,R4 1157 1157 1158 - mov @#177230,(R4)+;177230 - controlregister1159 - mov @#177232,(R4)+;177232 - register-toppage(layer0)1160 - mov @#177240,(R4)+;177240 - register-toppage(layer1)1161 - mov @#177242,(R4)+;177242 - register-toppage(layer2)1162 - mov @#177244,(R4)+;177244 - verticalscrollregisterlayer21163 - mov @#177246,(R4)+;177246 - verticalscrollregisterlayer11164 - mov @#177250,(R4)+;177250 - verticalscrollregisterlayer01165 - mov @#177252,(R4)+;177252 - horizontalscrollregisterlayer01166 - mov @#177254,(R4)+;177254 - horizontalscrollregisterlayer11167 - mov @#177256,(R4)+;177256 - horizontalscrollregisterlayer21159 + mov @#177230,(R4)+;177230 - регистр управления 1160 + mov @#177232,(R4)+;177232 - регистр - верхняя страница (слой 0) 1161 + mov @#177240,(R4)+;177240 - регистр - средняя страница (слой 1) 1162 + mov @#177242,(R4)+;177242 - регистр - нижняя страница (слой 2) 1163 + mov @#177244,(R4)+;177244 - регистр вертикального скролинга слой 2 1164 + mov @#177246,(R4)+;177246 - регистр вертикального скролинга слой 1 1165 + mov @#177250,(R4)+;177250 - регистр вертикального скролинга слой 0 1166 + mov @#177252,(R4)+;177252 - регистр гозизонтального скролинга слой 0 1167 + mov @#177254,(R4)+;177254 - регистр гозизонтального скролинга слой 1 1168 + mov @#177256,(R4)+;177256 - регистр гозизонтального скролинга слой 2 1168 1168 1169 - mov R5,@#177336; returnthepagefromwhichthe call was made1170 + mov R5,@#177336; вернем страницу с которой был вызов 1170 1170 1171 1171 1172 1172 ;------------------------- 1173 - MOV #AZ$CSR,R3 ; PreparingcontrollerCSR1174 - MOV #AZ$DR,R4 ; PreparingcontrollerDR1175 -20$: CLR (R3) ; Resetthe controller1174 + MOV #AZ$CSR,R3 ; Готовим CSR контроллера 1175 + MOV #AZ$DR,R4 ; Готовим DR контроллера 1176 +20$: CLR (R3) ; Сбросим контроллер 1176 1176 TSTB (R3) 1177 1177 BPL 20$ 1178 1178 1179 - ; clearthememoryblockforthe name-sothatthesystemmakesa default file name1180 - mov #23,(R3) ; commandthatwewillwritedatato the buffer1181 -128$: TSTB (R3) ; checktheresult of execution1182 - BPL 128$ ; wait1180 + ; очистим блок памяти для имени - дабы система сделала дефолтное имя файла 1181 + mov #23,(R3) ; командуем что будем писать данные в буфер 1182 +128$: TSTB (R3) ; проверяем результат выполнения 1183 + BPL 128$ ; ждем 1183 1183 clr R1 1184 1184 1185 1185 mov #256.,R2 ; 1186 -129$: mov R1,(R4) ; givetothe controller1187 +129$: mov R1,(R4) ; отдаем в контроллер 1187 1187 sob R2,129$ 1188 1188 1189 1189 1190 - MOV #044,(R3) ; screenshotcommand1191 + MOV #044,(R3) ; команда скриншот 1191 1191 22$: TSTB (R3) ; 1192 1192 BPL 22$ ; 1193 1193 1194 - ; getthescreenshot name1195 - mov #22,(R3) ; givethereadmemoryblockfromthebuffer to the bus1196 -121$: tstb (R3) ; checktheresult of execution1197 - bpl 121$ ; wait1195 + ; получим имя скриншота 1196 + mov #22,(R3) ; отдать на шину считанный блок памяти из буфера 1197 +121$: tstb (R3) ; проверяем результат выполнения 1198 + bpl 121$ ; ждем 1198 1198 1199 1199 mov #BUF,R1 1200 - mov #256.,R2 ; read256.words;thefirstwordisthe result of reading1201 -122$: mov (R4),(R1)+ ; readablockofwords into memory1201 + mov #256.,R2 ; читаем 256. слов; первое слово - результат чтения 1202 +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; enablethenetworkbydefault,thenetworkshould be constantly enabled1208 + mov #110,@#AZ$CSR; включаем сеть по-умолчанию сеть должна быть постоянно включена 1208 1208 .Exit 1209 1209 {{/code}} 1210 1210 1211 - Tounpackascreenshot,youcanusethisutility - [[https:~~/~~/master.pdp-11.ru/screen_unpack/>>https://master.pdp-11.ru/screen_unpack/]]1212 +Для распаковки скриншота можно использовать вот эту утилиту 1212 1212 1213 1213 1214 1214 1215 -= CommandsforworkingwiththeTCP/IPstack=1216 += **Команды для работы со стеком TCP/IP** = 1216 1216 1217 - ThefollowingcommandsoperateontheTCP/IPstack information buffer.1218 +следующие команды работают с буфером информации TCP/IP cтека. 1218 1218 1219 -== 040: GetIPaddressandotherTCP/IPstacksettingsto buffer==1220 +== **040: Получить ip адрес и прочие настройки стека TCP/IP в буфер** == 1220 1220 1221 - Commandcode040,thiscommandfillsthebufferwithinformation from theTCP/IPstackwithcurrent(actual)information.1222 +Код команды 040, данная команда заполняет буфер информацией с TCP/IP cтека текущей (фактической) информацией. 1222 1222 1223 -== 041: Readingipaddressbuffer==1224 +== **041: Чтение буфера ip адреса** == 1224 1224 1225 - Commandcode041,thiscommandtransfersthebuffertothe bus1226 +Код команды 041, данная команда передает буфер на шину 1226 1226 1227 - Thispairofcommandsallowsyoutogetcurrent information from the stack1228 +эта пара команд позволяет получить текущую информацию со стека 1228 1228 1229 -* IP address1230 -* MASK mask1231 -* GW gateway1232 -* NTP addressof theNTPserver1233 -* DNS1 primaryDNSaddress1234 -* DNS2 backupDNSaddress1230 +* IP адрес 1231 +* MASK маску 1232 +* GW гейтвей 1233 +* NTP адрес NTP-сервера 1234 +* DNS1 адрес основного DNS 1235 +* DNS2 адрес резервного DNS 1235 1235 1236 - accordinglyitis12words1237 +соответственно это 12 слов 1237 1237 1238 - Exampleprogram:1239 +Пример программы: 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 - Dataexamples-wordsreturnedinoctalformat1272 -124300 116400 - IP address192.168.0.1571273 -177777 000377 - MASK mask255.255.255.01274 -124300 000400 - GW gateway192.168.0.11275 -124300 000400 - NTP addressofNTPserver192.168.0.11276 -124300 050000 - DNS1 addressofprimaryDNS 192.168.0.901277 -124300 055000 - DNS2 addressofbackupDNS 192.168.0.801272 +Примеры данных - возвращаемые слова в восьмеричном формате 1273 +124300 116400 - IP адрес 192.168.0.157 1274 +177777 000377 - MASK маску 255.255.255.0 1275 +124300 000400 - GW гейтвей 192.168.0.1 1276 +124300 000400 - NTP адрес NTP-сервера 192.168.0.1 1277 +124300 050000 - DNS1 адрес основного DNS 192.168.0.90 1278 +124300 055000 - DNS2 адрес резервного DNS 192.168.0.80 1278 1278 {{/info}} 1279 1279 1280 1280 == **043: чтение MAC-адреса в ip буфер** ==