в психологии есть нечто такое..., типа "я не хочу это делать, потому что... (куча причин)..., но я в этом не виноват"НО!!!, это еще не все. Может (скорей всего) я через нашествие Лени* не хочу писать то-и-сё, потому-то и ищу/придумываю/высмакт из пальц поводы/причины/оправдания своей Лени.
Вложения
в психологии есть нечто такое..., типа "я не хочу это делать, потому что... (куча причин)..., но я в этом не виноват"НО!!!, это еще не все. Может (скорей всего) я через нашествие Лени* не хочу писать то-и-сё, потому-то и ищу/придумываю/высмакт из пальц поводы/причины/оправдания своей Лени.
Вложения
Вложения
Вложения
Вложения
Вложения
и мне такое непердесказуемое поведение вообще не нравится! Какого оно (ПО) так выделывается без моего ведома и разрешения?Если раньше в строке адреса браузера шото ввести, то оно искало при помощи гуглей, а щас перекидывает на Квант. Я сам никаких изменений в настройках не проводил.
и мне такое непердесказуемое поведение вообще не нравится! Какого оно (ПО) так выделывается без моего ведома и разрешения?Если раньше в строке адреса браузера шото ввести, то оно искало при помощи гуглей, а щас перекидывает на Квант. Я сам никаких изменений в настройках не проводил.
Вложения
Вложения
Вложения
Вложения
щупал сие творение. не осилил добавление раскладки клавиатуры.
щупал сие творение. не осилил добавление раскладки клавиатуры.
Вложения
Вложения
Я о том шо нужно думать что может произойти с информацией которая как-бэ вродэ-бы предназначена не для всех. Та шо я рассказываю?, все и так всё поняли(?).]]>alsk писал(а): Сб мар 08, 2025 10:55 am Нужно ли пояснение про подтирание, вытирание, уборку? и отправку учетных данных?
Я о том шо нужно думать что может произойти с информацией которая как-бэ вродэ-бы предназначена не для всех. Та шо я рассказываю?, все и так всё поняли(?).]]>alsk писал(а): Сб мар 08, 2025 10:55 am Нужно ли пояснение про подтирание, вытирание, уборку? и отправку учетных данных?
Я о том шо нужно думать что может произойти с информацией которая как-бэ вродэ-бы предназначена не для всех. Та шо я рассказываю?, все и так всё поняли(?).alsk писал(а): Сб мар 08, 2025 10:55 am Нужно ли пояснение про подтирание, вытирание, уборку? и отправку учетных данных?
Я о том шо нужно думать что может произойти с информацией которая как-бэ вродэ-бы предназначена не для всех. Та шо я рассказываю?, все и так всё поняли(?).alsk писал(а): Сб мар 08, 2025 10:55 am Нужно ли пояснение про подтирание, вытирание, уборку? и отправку учетных данных?
В категорию, которую я подчеркнул, попадают следующие хостинги:За последние годы мало что изменилось: одни и те же сервисы продолжают доминировать, крупные игроки практически не дают новичкам пробиться, а рынок по-прежнему зависит от устаревших решений, таких как реселлерские программы ByetNet и аналогичных компаний.
В категорию, которую я подчеркнул, попадают следующие хостинги:За последние годы мало что изменилось: одни и те же сервисы продолжают доминировать, крупные игроки практически не дают новичкам пробиться, а рынок по-прежнему зависит от устаревших решений, таких как реселлерские программы ByetNet и аналогичных компаний.
Вложения
Вложения
Вроде есть возможность завести сервер по вот этой инструкции: https://поддерживаю.рф/%D1%83%D1%87%D0% ... Debian.phpAmbreon866 писал(а): Ср мар 26, 2025 4:25 pm Я не вижу в них смысл. Например: на них невозможно сделать почту. У некоторых кириллические тупо не открываются.
Вроде есть возможность завести сервер по вот этой инструкции: https://поддерживаю.рф/%D1%83%D1%87%D0% ... Debian.phpAmbreon866 писал(а): Ср мар 26, 2025 4:25 pm Я не вижу в них смысл. Например: на них невозможно сделать почту. У некоторых кириллические тупо не открываются.
мне ванло нравится, хорошо звучитAmbreon866 писал(а): Чт мар 27, 2025 3:17 pm Вы можете подумать, что я под тяжелыми наркотиками, но нет. В нашем мире есть 6 ccTLD с китайскими иероглифами, вот они:
.中国 (кит. "Китай" в упрощённых иероглифах, читается "Чжунго")
.中國 (кит. "Китай" в традиционных иероглифах)
.公司 (кит. "компания", читается "гунсы")
.网络 (кит. "сеть", читается "ванло")
.中文网 (кит. "китайский сайт", читается "чжунвэнь ван")
.在线 (кит. "онлайн", читается "цзайсянь")
Ладно всякие .укр и .рф, но вот иероглифы... Что вы думаете?
]]>ванло от сюда!
мне ванло нравится, хорошо звучитAmbreon866 писал(а): Чт мар 27, 2025 3:17 pm Вы можете подумать, что я под тяжелыми наркотиками, но нет. В нашем мире есть 6 ccTLD с китайскими иероглифами, вот они:
.中国 (кит. "Китай" в упрощённых иероглифах, читается "Чжунго")
.中國 (кит. "Китай" в традиционных иероглифах)
.公司 (кит. "компания", читается "гунсы")
.网络 (кит. "сеть", читается "ванло")
.中文网 (кит. "китайский сайт", читается "чжунвэнь ван")
.在线 (кит. "онлайн", читается "цзайсянь")
Ладно всякие .укр и .рф, но вот иероглифы... Что вы думаете?
]]>ванло от сюда!
И что такое BROWSEC? Платный (и сколько стоит) или бесплатный? Как подключаться? Где сервера есть?Turboblack писал(а): Пн дек 23, 2024 9:15 pm для доступа на довнгрейд сайты http://old-dos.ru/ http://nostalgy.net.ru/ и ДАУНгрейд сайт http://www.old-web.com/
но последний больше не посещаю. там ничего нового месяцами нет. использую BROWSEC
И что такое BROWSEC? Платный (и сколько стоит) или бесплатный? Как подключаться? Где сервера есть?Turboblack писал(а): Пн дек 23, 2024 9:15 pm для доступа на довнгрейд сайты http://old-dos.ru/ http://nostalgy.net.ru/ и ДАУНгрейд сайт http://www.old-web.com/
но последний больше не посещаю. там ничего нового месяцами нет. использую BROWSEC
Вложения
Вложения
Прикольно, но оно очень цветастое (может для меня слишком цветастое). Только с затемнением можно разглядеть текст.Turboblack писал(а): Ср мар 26, 2025 10:52 am Давно я ничего толкового не делал из дизайнов и шаблонов, и вот решился сделать нечто из ASCII символов![]()
https://mario.narod.ws/
картинок нет, это все текст ))))
Прикольно, но оно очень цветастое (может для меня слишком цветастое). Только с затемнением можно разглядеть текст.Turboblack писал(а): Ср мар 26, 2025 10:52 am Давно я ничего толкового не делал из дизайнов и шаблонов, и вот решился сделать нечто из ASCII символов![]()
https://mario.narod.ws/
картинок нет, это все текст ))))
Вложения
Вложения
Вложения
Вложения
юмор али ишибка?
юмор али ишибка?
в браузере нажми кнопку "шифт" (держи кнопку!) и кнопку "плюс" нажимайalsk писал(а): Пн мар 31, 2025 10:32 amюмор али ишибка?
хотя... у каждого свой сшиффт
---
там действительно очень мелкий шрифт.
в браузере нажми кнопку "шифт" (держи кнопку!) и кнопку "плюс" нажимайalsk писал(а): Пн мар 31, 2025 10:32 amюмор али ишибка?
хотя... у каждого свой сшиффт
---
там действительно очень мелкий шрифт.
Код: Выделить всё
.blog-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f9f9f9;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
Код: Выделить всё
.blog-container h1, .blog-container h2, .blog-container h3 {
color: #333;
margin-bottom: 15px;
font-family: 'Arial', sans-serif;
}
.blog-container h1 {
font-size: 36px;
}
.blog-container h2 {
font-size: 28px;
}
.blog-container h3 {
font-size: 22px;
}
Код: Выделить всё
.blog-container p {
line-height: 1.6;
color: #555;
font-size: 18px;
margin-bottom: 20px;
font-family: 'Georgia', serif;
}
Код: Выделить всё
.blog-container a {
color: #007BFF;
text-decoration: none;
transition: color 0.3s ease;
}
.blog-container a:hover {
color: #0056b3;
}
Код: Выделить всё
.blog-container img {
max-width: 100%;
border-radius: 8px;
margin-bottom: 20px;
}
Код: Выделить всё
.blog-container blockquote {
font-style: italic;
color: #666;
border-left: 4px solid #007BFF;
padding-left: 15px;
margin-left: 0;
font-family: 'Georgia', serif;
}
Код: Выделить всё
.blog-container ul {
list-style-type: disc;
margin-left: 20px;
color: #555;
}
.blog-container ul li {
margin-bottom: 10px;
}
Код: Выделить всё
.blog-container .btn {
display: inline-block;
background-color: #007BFF;
color: #fff;
padding: 10px 20px;
border-radius: 4px;
text-decoration: none;
transition: background-color 0.3s ease;
}
.blog-container .btn:hover {
background-color: #0056b3;
}
a {
text-decoration: none;
}
a[href*="?page="] {
font-size: 24px;
font-weight: bold;
text-decoration: none;
color: #ff0000;
}
a[href*="?page="]:hover {
text-decoration: underline;
}
Код: Выделить всё
<div class="blog-container">
Код: Выделить всё
.blog-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f9f9f9;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
Код: Выделить всё
.blog-container h1, .blog-container h2, .blog-container h3 {
color: #333;
margin-bottom: 15px;
font-family: 'Arial', sans-serif;
}
.blog-container h1 {
font-size: 36px;
}
.blog-container h2 {
font-size: 28px;
}
.blog-container h3 {
font-size: 22px;
}
Код: Выделить всё
.blog-container p {
line-height: 1.6;
color: #555;
font-size: 18px;
margin-bottom: 20px;
font-family: 'Georgia', serif;
}
Код: Выделить всё
.blog-container a {
color: #007BFF;
text-decoration: none;
transition: color 0.3s ease;
}
.blog-container a:hover {
color: #0056b3;
}
Код: Выделить всё
.blog-container img {
max-width: 100%;
border-radius: 8px;
margin-bottom: 20px;
}
Код: Выделить всё
.blog-container blockquote {
font-style: italic;
color: #666;
border-left: 4px solid #007BFF;
padding-left: 15px;
margin-left: 0;
font-family: 'Georgia', serif;
}
Код: Выделить всё
.blog-container ul {
list-style-type: disc;
margin-left: 20px;
color: #555;
}
.blog-container ul li {
margin-bottom: 10px;
}
Код: Выделить всё
.blog-container .btn {
display: inline-block;
background-color: #007BFF;
color: #fff;
padding: 10px 20px;
border-radius: 4px;
text-decoration: none;
transition: background-color 0.3s ease;
}
.blog-container .btn:hover {
background-color: #0056b3;
}
a {
text-decoration: none;
}
a[href*="?page="] {
font-size: 24px;
font-weight: bold;
text-decoration: none;
color: #ff0000;
}
a[href*="?page="]:hover {
text-decoration: underline;
}
Код: Выделить всё
<div class="blog-container">
Вложения
Вложения
Вложения
Вложения
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/" -->
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/index" -->
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/about" -->
Вложения
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/" -->
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/index" -->
Код: Выделить всё
<!--#include virtual="/cgi-bin/cms/about" -->
Вложения
Вложения
Вложения
Вложения
Вложения
Так, это интересно. Когда мы заменили текст, размер шрифта изменился. Всё потому, что он не отформатирован. Давайте добавим заголовок и выберем формат Heading 1 в меню Font Format – это формат самого большого, самого главного заголовка. Теперь поменяем размер шрифта у абзацев. Я выберу стандартный размер в 12 пт. Выбрать размер можно в меню Font Size. Уже симпатичнее. Осталось только выбрать шрифт и как-нибудь раскрасить. С остальным, я думаю, вы уже справитесь и без моих подсказок. Одно дело – рассказывать об этом, другое дело – пытаться что-то сделать самостоятельно.Быть волшебницей – круто. Когда становишься волшебницей, не только ты, но и мир вокруг преображается. Ты видишь его чистым и ярким – именно таким, каким он был задуман изначально. Словно спадает с глаз некая пелена. Ощущения при этом незабываемые. Ты чувствуешь невообразимую лёгкость. Зрение становится чётким – как в детстве, ещё до того, как ты его испортишь книгами или всякой электроникой.
Быть волшебницей – это судьба. Ты осознаёшь это внезапно, когда понимаешь, что уже не можешь остаться в стороне, когда с кем-то случается большое горе. Повезёт, если оно случится не с тобой.
Быть волшебницей – это ответственность. Приходится не только бороться с несправедливостью, но и вдохновлять, нести надежду в этот мир. Но за всё приходится платить цену. Ты обретаешь силу, но больше не принадлежишь себе. Борясь с несправедливостью, ты рискуешь лишиться многого или даже умереть.
Быть волшебницей – значит страдать.
Вложения
Так, это интересно. Когда мы заменили текст, размер шрифта изменился. Всё потому, что он не отформатирован. Давайте добавим заголовок и выберем формат Heading 1 в меню Font Format – это формат самого большого, самого главного заголовка. Теперь поменяем размер шрифта у абзацев. Я выберу стандартный размер в 12 пт. Выбрать размер можно в меню Font Size. Уже симпатичнее. Осталось только выбрать шрифт и как-нибудь раскрасить. С остальным, я думаю, вы уже справитесь и без моих подсказок. Одно дело – рассказывать об этом, другое дело – пытаться что-то сделать самостоятельно.Быть волшебницей – круто. Когда становишься волшебницей, не только ты, но и мир вокруг преображается. Ты видишь его чистым и ярким – именно таким, каким он был задуман изначально. Словно спадает с глаз некая пелена. Ощущения при этом незабываемые. Ты чувствуешь невообразимую лёгкость. Зрение становится чётким – как в детстве, ещё до того, как ты его испортишь книгами или всякой электроникой.
Быть волшебницей – это судьба. Ты осознаёшь это внезапно, когда понимаешь, что уже не можешь остаться в стороне, когда с кем-то случается большое горе. Повезёт, если оно случится не с тобой.
Быть волшебницей – это ответственность. Приходится не только бороться с несправедливостью, но и вдохновлять, нести надежду в этот мир. Но за всё приходится платить цену. Ты обретаешь силу, но больше не принадлежишь себе. Борясь с несправедливостью, ты рискуешь лишиться многого или даже умереть.
Быть волшебницей – значит страдать.
Вложения
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbtx.socket, dx
mov ecbrx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 100h
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbrx.socket, dx
mov ecbtx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;Write ImmAdress
push cx
push si
push di
mov si, offset ecbrx.immaddress
mov di, offset ecbtx.immaddress
cld
mov cx, 6d
rep movsb
pop di
pop si
pop cx
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 100h
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbtx.socket, dx
mov ecbrx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 100h
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbrx.socket, dx
mov ecbtx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;Write ImmAdress
push cx
push si
push di
mov si, offset ecbrx.immaddress
mov di, offset ecbtx.immaddress
cld
mov cx, 6d
rep movsb
pop di
pop si
pop cx
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 100h
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
xor al, al
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbrx.socket, dx
mov ecbtx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;Write ImmAdress
push cx
push si
push di
mov si, offset ecbrx.immaddress
mov di, offset ecbtx.immaddress
cld
mov cx, 6d
rep movsb
pop di
pop si
pop cx
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
mov ah, 9d
mov dx, offset donetx
int 21h
;SPX BLOCK
;Open socket
xor bx, bx
xor ax, ax
mov dx, 4545h
pusha
call dword ptr [ipx_entry]
mov spxsocket, dx
popa
;Ready ECB for receive packet
mov ax, spxsocket
mov ecbspx.socket, ax
mov ecbspx.fragmentcnt, 2d
mov ax, offset spxpack
mov ecbspx.address1, ax
mov ecbspx.address1+2, es
mov ax, offset rxbuf
mov ecbspx.address2, ax
mov ecbspx.address2+2, es
;Fill ImmAddress in ecbspx
mov si, offset ecbtx.immaddress
mov di, offset ecbspx.immaddress
mov cx, 6d
cld
rep movsb
;ListenForSequencedPacket
mov bx, 17h
mov si, offset ecbspx
call dword ptr [ipx_entry]
;Ready SPX header for waiting channel
mov spxconn.packettype, 5d
mov spxconn.transportctrl, 0
mov ax, spxsocket
mov spxconn.destsocket, ax
;Copy Immediate address in SPXconn
mov si, offset ecbspx.immaddress
mov di, offset spxconn.destnode
mov cx, 6d
rep movsb
;Ready ECB
mov ecbconn.socket, ax
mov ecbconn.fragmentcnt, 1d
mov ax, offset spxconn
mov ecbconn.address1, ax
mov ecbconn.address1+2, ax
;Wait request on making channel
mov bx, 12h
mov al, 0
mov ah, 0
mov si, offset ecbconn
pusha
call dword ptr [ipx_entry]
popa
wait_req:
cmp ecbconn.inuse, 0
jz done_ch
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_req
done_ch:
mov ah, 9d
mov dx, offset doneconn
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 0FFFEh
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
doneconn db 'SPX|Connected!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
spxsocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
SPXCONN_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXCONN_ ends
ECBconn_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxconn
ECBconn_ ends
SPXpack_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXpack_ ends
ECBspx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxpack
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBspx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
ecbconn ECBconn_ <>
ecbspx ECBspx_ <>
spxconn SPXconn_ <>
spxpack SPXpack_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbtx.socket, dx
mov ecbrx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;SPX block
;Copy server immediate address
push ds
pop es
mov si, offset ecbrx.immaddress
mov di, offset ecbspx.immaddress
mov cx, 6d
rep movsb
sub si, 6d
mov cx, 6d
mov di, offset spxconn.destnode
rep movsb
;Open socket
xor ax, ax
xor bx, bx
mov dx, 4545h
call dword ptr [ipx_entry]
mov ecbspx.socket, dx
mov spxconn.destsocket, dx
mov ecbconn.socket, dx
;SPXListenForSequencedPacket
mov ecbspx.fragmentcnt, 2d
mov ax, offset spxtx
mov ecbspx.address1, ax
mov ecbspx.address1+2, es
mov ax, offset rxbuf
mov ecbspx.address2, ax
mov ecbspx.address2+2, es
mov si, offset ecbspx
pusha
mov bx, 17h
call dword ptr [ipx_entry]
popa
;Ready SPX header
mov spxconn.packettype, 5d
mov spxconn.transportctrl, 0
;Ready ECB for connection
mov ecbconn.fragmentcnt, 1d
mov ax, offset spxconn
mov ecbconn.address1, ax
mov ecbconn.address1+2, es
;Connect
pusha
mov bx, 11h
xor ax, ax
mov si, offset ecbconn
call dword ptr [ipx_entry]
popa
wait_connect:
cmp ecbconn.inuse, 0
jz done_connect
pusha
mov bx, 10d
call dword ptr [ipx_entry]
popa
jmp wait_connect
done_connect:
mov ah, 9d
mov dx, offset doneconn
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 0FFFEh
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
doneconn db 'Channel created!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ECBconn_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxconn
ECBconn_ ends
ECBspx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBspx_ ends
SPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXrx_ ends
SPXconn_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXconn_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
ecbspx ECBspx_ <>
ecbconn ECBconn_ <>
spxtx SPXrx_ <>
spxconn SPXconn_ <>
code ends
end start
Вложения
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
xor al, al
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbrx.socket, dx
mov ecbtx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;Write ImmAdress
push cx
push si
push di
mov si, offset ecbrx.immaddress
mov di, offset ecbtx.immaddress
cld
mov cx, 6d
rep movsb
pop di
pop si
pop cx
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
mov ah, 9d
mov dx, offset donetx
int 21h
;SPX BLOCK
;Open socket
xor bx, bx
xor ax, ax
mov dx, 4545h
pusha
call dword ptr [ipx_entry]
mov spxsocket, dx
popa
;Ready ECB for receive packet
mov ax, spxsocket
mov ecbspx.socket, ax
mov ecbspx.fragmentcnt, 2d
mov ax, offset spxpack
mov ecbspx.address1, ax
mov ecbspx.address1+2, es
mov ax, offset rxbuf
mov ecbspx.address2, ax
mov ecbspx.address2+2, es
;Fill ImmAddress in ecbspx
mov si, offset ecbtx.immaddress
mov di, offset ecbspx.immaddress
mov cx, 6d
cld
rep movsb
;ListenForSequencedPacket
mov bx, 17h
mov si, offset ecbspx
call dword ptr [ipx_entry]
;Ready SPX header for waiting channel
mov spxconn.packettype, 5d
mov spxconn.transportctrl, 0
mov ax, spxsocket
mov spxconn.destsocket, ax
;Copy Immediate address in SPXconn
mov si, offset ecbspx.immaddress
mov di, offset spxconn.destnode
mov cx, 6d
rep movsb
;Ready ECB
mov ecbconn.socket, ax
mov ecbconn.fragmentcnt, 1d
mov ax, offset spxconn
mov ecbconn.address1, ax
mov ecbconn.address1+2, ax
;Wait request on making channel
mov bx, 12h
mov al, 0
mov ah, 0
mov si, offset ecbconn
pusha
call dword ptr [ipx_entry]
popa
wait_req:
cmp ecbconn.inuse, 0
jz done_ch
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_req
done_ch:
mov ah, 9d
mov dx, offset doneconn
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 0FFFEh
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
doneconn db 'SPX|Connected!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
spxsocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
SPXCONN_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXCONN_ ends
ECBconn_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxconn
ECBconn_ ends
SPXpack_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXpack_ ends
ECBspx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxpack
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBspx_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
ecbconn ECBconn_ <>
ecbspx ECBspx_ <>
spxconn SPXconn_ <>
spxpack SPXpack_ <>
code ends
end start
Код: Выделить всё
.model tiny
.286
code segment
org 100h
start:
;Check IPX
pusha
mov ax, 7A00h
int 2Fh
cmp al, 0FFh
jnz exit_err_ipx
mov word ptr [ipx_entry], di
mov word ptr [ipx_entry+2], es
;Check SPX
mov bx, 10h
xor ax, ax
call dword ptr [ipx_entry]
cmp ax, 0FFh
jnz exit_err_spx
popa
;Open socket
pusha
xor bx, bx
mov al, 0FFh
mov dx, 4444h
call dword ptr [ipx_entry]
mov ecbtx.socket, dx
mov ecbrx.socket, dx
mov ipxtx.destsocket, dx
popa
;IPXSendPacket
push cs
pop es
pusha
mov bx, 3d
;mov ax, mysocket
;mov ecbtx.socket, ax
mov ecbtx.fragmentcnt, 2d
mov ipxtx.packettype, 4d
mov ax, offset ipxtx
mov ecbtx.address1, ax
mov ecbtx.address1+2, es
mov ax, offset txbuf
mov ecbtx.address2, ax
mov ecbtx.address2+2, ax
mov si, offset ecbtx.link
xor ax, ax
call dword ptr [ipx_entry]
popa
wait_tx:
cmp ecbtx.immaddress-7, 0FFh
jnz done_tx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_tx
done_tx:
cmp ecbtx.ccode, 0
mov ah, 9d
mov dx, offset donetx
int 21h
;IPXListenForPacket
pusha
push cs
pop es
mov bx, 4d
mov ecbrx.fragmentcnt, 2d
mov ax, offset ipxrx
mov ecbrx.address1, ax
mov ecbrx.address1+2, es
mov ax, offset rxbuf
mov ecbrx.address2, ax
mov ecbrx.address2+2, es
xor ax, ax
mov si, offset ecbrx.link
call dword ptr [ipx_entry]
popa
wait_rx:
cmp ecbrx.inuse, 0FEh
jnz done_rx
pusha
mov bx, 0Ah
call dword ptr [ipx_entry]
popa
jmp wait_rx
done_rx:
mov ah, 9d
mov dx, offset donerx
int 21h
;SPX block
;Copy server immediate address
push ds
pop es
mov si, offset ecbrx.immaddress
mov di, offset ecbspx.immaddress
mov cx, 6d
rep movsb
sub si, 6d
mov cx, 6d
mov di, offset spxconn.destnode
rep movsb
;Open socket
xor ax, ax
xor bx, bx
mov dx, 4545h
call dword ptr [ipx_entry]
mov ecbspx.socket, dx
mov spxconn.destsocket, dx
mov ecbconn.socket, dx
;SPXListenForSequencedPacket
mov ecbspx.fragmentcnt, 2d
mov ax, offset spxtx
mov ecbspx.address1, ax
mov ecbspx.address1+2, es
mov ax, offset rxbuf
mov ecbspx.address2, ax
mov ecbspx.address2+2, es
mov si, offset ecbspx
pusha
mov bx, 17h
call dword ptr [ipx_entry]
popa
;Ready SPX header
mov spxconn.packettype, 5d
mov spxconn.transportctrl, 0
;Ready ECB for connection
mov ecbconn.fragmentcnt, 1d
mov ax, offset spxconn
mov ecbconn.address1, ax
mov ecbconn.address1+2, es
;Connect
pusha
mov bx, 11h
xor ax, ax
mov si, offset ecbconn
call dword ptr [ipx_entry]
popa
wait_connect:
cmp ecbconn.inuse, 0
jz done_connect
pusha
mov bx, 10d
call dword ptr [ipx_entry]
popa
jmp wait_connect
done_connect:
mov ah, 9d
mov dx, offset doneconn
int 21h
jmp exit
exit_err_spx:
mov ah, 9d
mov dx, offset err_spx
int 21h
jmp exit
exit_err_ipx:
mov ah, 9d
mov dx, offset err_ipx
int 21h
exit:
push 0FFFEh
pop sp
mov ax, 4C00h
int 21h
err_ipx db 'IPX NOT LOADED', 0Ah, 0Dh, 24h
err_spx db 'SPX NOT LOADED', 0Ah, 0Dh, 24h
donetx db 'Packet Send!', 0Ah, 0Dh, 24h
donerx db 'Packet Received!', 0Ah, 0Dh, 24h
doneconn db 'Channel created!', 0Ah, 0Dh, 24h
rxbuf db 512d dup(0)
txbuf db 'Client Demo', 500d dup(0)
mysocket dw ?
ipx_entry dw 2d dup(0)
IPXtx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db 4d
DestNetwork db 4d dup(0)
DestNode db 6d dup(0FFh)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXtx_ ends
ECBtx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0FFh)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof txbuf
ECBtx_ ends
IPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
IPXrx_ ends
ECBrx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof ipxrx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBrx_ ends
ECBconn_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxconn
ECBconn_ ends
ECBspx_ struc
Link dw 2d dup(0)
ESRAddress dw 2d dup(0)
InUse db ?
CCode db ?
Socket dw ?
IPXWorkspace db 4d dup(0)
DRVWorkspace db 12d dup(0)
ImmAddress db 6d dup(0)
FragmentCnt dw ?
Address1 dw 2d dup(0)
Size_1 dw sizeof spxtx
Address2 dw 2d dup(0)
Size_2 dw sizeof rxbuf
ECBspx_ ends
SPXrx_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXrx_ ends
SPXconn_ struc
Checksum dw ?
Len dw ?
TransportCtrl db ?
PacketType db ?
DestNetwork db 4d dup(0)
DestNode db 6d dup(0)
DestSocket dw ?
SourceNetwork db 4d dup(0)
SourceNode db 6d dup(0)
SourceSocket dw ?
ConnControl db ?
DataStrType db ?
SourceConnID dw ?
DestConnID dw ?
SeqNumber dw ?
AckNumber dw ?
AllocNumber dw ?
SPXconn_ ends
ecbtx ECBtx_ <>
ipxtx IPXtx_ <>
ecbrx ECBrx_ <>
ipxrx IPXrx_ <>
ecbspx ECBspx_ <>
ecbconn ECBconn_ <>
spxtx SPXrx_ <>
spxconn SPXconn_ <>
code ends
end start
Вложения
Вложения
Вложения
Вложения
Вложения
в начале 200х был очень крут Norton Disk Doctor, но там кажись не автоматически. Но возможно в каких-то версиях и такое, как вам нужно у него появилось.mak писал(а): Вс дек 22, 2024 3:11 pm Кто знает какие-нибудь программы для работы с дискетами, например, которые будут показывать сбойные сектора и пробовать их восстановить? Что-то наподобие Victoria для HDD, только для дискет
в начале 200х был очень крут Norton Disk Doctor, но там кажись не автоматически. Но возможно в каких-то версиях и такое, как вам нужно у него появилось.mak писал(а): Вс дек 22, 2024 3:11 pm Кто знает какие-нибудь программы для работы с дискетами, например, которые будут показывать сбойные сектора и пробовать их восстановить? Что-то наподобие Victoria для HDD, только для дискет
а она была в том посте? было в скобках номер и страница, как тут.
а она была в том посте? было в скобках номер и страница, как тут.
на олд-дос можно спросить, и там ответят, а тут будут демонстративно игнорить, в приоритете кулинария и вилосипеды же.Turboblack писал(а): Чт мар 20, 2025 11:44 amа она была в том посте? было в скобках номер и страница, как тут.
на олд-дос можно спросить, и там ответят, а тут будут демонстративно игнорить, в приоритете кулинария и вилосипеды же.Turboblack писал(а): Чт мар 20, 2025 11:44 amа она была в том посте? было в скобках номер и страница, как тут.
Вложения
Что за?Вложения
Что за?Короче мне тогда было жалко. Я сдался, когда она меня ободрала с груди до ног (мазали всякой ебурдой раны)Не тискать! Убью!
Короче мне тогда было жалко. Я сдался, когда она меня ободрала с груди до ног (мазали всякой ебурдой раны)Не тискать! Убью!
в школе заставляли зубрить всякую мукулатуру, ещё не хватало грузится шляпными бомж-бренчаниями. Сверстники упарывались этим трешем типа газмановых и любэ, на рынках лежат сотни западных групп, можно заказать редкие, а народ угорает по лубочному термотоксичному хрючеву под синьку.
в школе заставляли зубрить всякую мукулатуру, ещё не хватало грузится шляпными бомж-бренчаниями. Сверстники упарывались этим трешем типа газмановых и любэ, на рынках лежат сотни западных групп, можно заказать редкие, а народ угорает по лубочному термотоксичному хрючеву под синьку.
ну так какой народ такие и песни.Excavator писал(а): Пт мар 28, 2025 4:39 pmв школе заставляли зубрить всякую мукулатуру, ещё не хватало грузится шляпными бомж-бренчаниями. Сверстники упарывались этим трешем типа газмановых и любэ, на рынках лежат сотни западных групп, можно заказать редкие, а народ угорает по лубочному термотоксичному хрючеву под синьку.
ну так какой народ такие и песни.Excavator писал(а): Пт мар 28, 2025 4:39 pmв школе заставляли зубрить всякую мукулатуру, ещё не хватало грузится шляпными бомж-бренчаниями. Сверстники упарывались этим трешем типа газмановых и любэ, на рынках лежат сотни западных групп, можно заказать редкие, а народ угорает по лубочному термотоксичному хрючеву под синьку.
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
85812edef6568516a09e300e7ca118ba.jpg
85812edef6568516a09e300e7ca118ba.jpg
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения
а еще один какой?
а еще один какой?
Вложения
Вложения
Бульон из чего/кого? Если "варим три часа", то это 100% не галима-планка или прочие булу-паралеллепипеды.Turboblack писал(а): Вс мар 16, 2025 9:02 am итак: берем большую кастрюлю и варим в ней около 5 литров бульона. затем этот бульон разливаем по лоткам и в морозилку. во время варки бульона (3 часа), пока он варится, в других кастрюлях можно отдельно готовить продукты для супов.
Холодильник работает только зимой, когда на улице минус, то и в чулане (в сенях) минус.]]>Turboblack писал(а): Вс мар 16, 2025 9:02 am ... в морозилку или холодильник.
... оно не так быстро портится в холодильнике.
Бульон из чего/кого? Если "варим три часа", то это 100% не галима-планка или прочие булу-паралеллепипеды.Turboblack писал(а): Вс мар 16, 2025 9:02 am итак: берем большую кастрюлю и варим в ней около 5 литров бульона. затем этот бульон разливаем по лоткам и в морозилку. во время варки бульона (3 часа), пока он варится, в других кастрюлях можно отдельно готовить продукты для супов.
Холодильник работает только зимой, когда на улице минус, то и в чулане (в сенях) минус.]]>Turboblack писал(а): Вс мар 16, 2025 9:02 am ... в морозилку или холодильник.
... оно не так быстро портится в холодильнике.
фее, я ненави... очень не люблю любые поездки. В студенческие времена накатался\наездился ( Хотя и не очень далеко и не часто, но наездился на <s>все оставшиеся пару лет жизни</s> всю оставшуюся жизнь.Turboblack писал(а): Вс мар 16, 2025 9:02 am в частых командировках, где я провел большую часть жизни
Бульон из чего/кого? Если "варим три часа", то это 100% не галима-планка или прочие булу-паралеллепипеды.Turboblack писал(а): Вс мар 16, 2025 9:02 am итак: берем большую кастрюлю и варим в ней около 5 литров бульона. затем этот бульон разливаем по лоткам и в морозилку. во время варки бульона (3 часа), пока он варится, в других кастрюлях можно отдельно готовить продукты для супов.
Холодильник работает только зимой. юлоин снова ц у меня гости.Turboblack писал(а): Вс мар 16, 2025 9:02 am ... в морозилку или холодильник.
... оно не так быстро портится в холодильнике.
фее, я ненави... очень не люблю любые поездки. В студенческие времена накатался\наездился ( Хотя и не очень далеко и не часто, но наездился на <s>все оставшиеся пару лет жизни</s> всю оставшуюся жизнь.Turboblack писал(а): Вс мар 16, 2025 9:02 am в частых командировках, где я провел большую часть жизни
Бульон из чего/кого? Если "варим три часа", то это 100% не галима-планка или прочие булу-паралеллепипеды.Turboblack писал(а): Вс мар 16, 2025 9:02 am итак: берем большую кастрюлю и варим в ней около 5 литров бульона. затем этот бульон разливаем по лоткам и в морозилку. во время варки бульона (3 часа), пока он варится, в других кастрюлях можно отдельно готовить продукты для супов.
Холодильник работает только зимой. юлоин снова ц у меня гости.Turboblack писал(а): Вс мар 16, 2025 9:02 am ... в морозилку или холодильник.
... оно не так быстро портится в холодильнике.
Вложения
Вложения
Вложения
Вложения
Вложения
Вложения