Программирование (общая "болталка")

Всё, что касается программирования на старых языках или для старых систем

Re: Программирование (общая "болталка")

Сообщение LaserDisc78 » 09 авг 2025, 15:40

uav писал(а):В IDA только увидел, что вызывается некая функция, которая на входе получает эту строку и следующую, с адресом http://www.winzip.com/order.cgi?PW

Видимо, не очень важное изменение, так как с функционалом программы не связано. Вот и замечательно, значит оставлю загруженной на сайт версию до добавления Google Toolbar.
Аватара пользователя
LaserDisc78
Опытный даунгрейдер
 
Сообщения: 15
Зарегистрирован: 12 июл 2025, 07:28

Re: Программирование (общая "болталка")

Сообщение luzga » 13 сен 2025, 18:37

Мне встретилась интересная статья о том как развивался компьютер и программирование. Будет интересна для того, кто в глубине души мечтает - когда-нибудь приступить к изучению
https://habr.com/ru/companies/ru_mts/articles/946280/
Аватара пользователя
luzga
Мастер Даунгрейда
 
Сообщения: 478
Зарегистрирован: 04 сен 2025, 19:35

Re: Программирование (общая "болталка")

Сообщение clihlt » 14 сен 2025, 10:39

luzga писал(а):Мне встретилась интересная статья о том как развивался компьютер и программирование.
Это не статья, а потуги маркетолога-графомана.
С уважением,
Владислав Васильев (aka clihlt).
Аватара пользователя
clihlt
Мастер Даунгрейда
 
Сообщения: 616
Зарегистрирован: 20 мар 2023, 21:17
Откуда: Брянск, СССР

Re: Программирование (общая "болталка")

Сообщение N!k » 07 окт 2025, 11:34

Нужны ли кому такие материалы - например:

УНИВЕРСИТЕТ НАТАЛЬИ НЕСТЕРОВОЙ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Дисциплина «Алгоритмические языки и программирование»
Язык программирования СИ
Семинар №1
Простые программы на Си
2003 год

Алгоритмические языки и программирование
Аватара пользователя
N!k
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 05 ноя 2014, 18:46

Re: Программирование (общая "болталка")

Сообщение petrovich » 19 фев 2026, 08:30

Простейшая самописная прога для проверки CGA карточки / калибровки монитора в режиме 320x200.
Работает на PC-DOS 2.0 и выше. На версии 1.0 запускается, но виснет при выходе.
Тестировалась только в эмуляторах: NTVDM, DOSBox, 86Box, SPCXT. На реальном железе не проверялась.
Функционал: закраска каждым из 16 цветов, просмотр палитр на разной интенсивности, отрисовка сетки, вывод ASCII таблицы.
Не все БИОСы поддерживают печать символов старшей части таблицы в графике. Символы 128-255 могут не отображаться, либо отображаться некорректно.
Блокировки клавиш нет, если зажмете кнопку выбора режима, комп может подвиснуть, пока не обработает все нажатия.
В архиве 2 версии: базовая CGATESTA и расширенная CGATESTB. В расширенной есть вторая сетка с отрисовкой круга, но весит почти в 2 раза больше.
Вложения
CGATEST.ZIP
(1.69 Кб) Скачиваний: 224
petrovich
Мастер Даунгрейда
 
Сообщения: 213
Зарегистрирован: 05 фев 2026, 18:40
Откуда: Стрежевой

Re: Программирование (общая "болталка")

Сообщение oldpcfan82 » 14 мар 2026, 02:09

Всем привет! Не знаю в тему или нет. Хотел бы поделиться кодом, тем, кто хочет эмулировать на своём сайте старые сотки, или дисплей. Мне они нужны для моего сайта, сделал и поделился с Вами, но работает к сожаление только на современных браузерах. Я делаю сайт, и там нужно показать WAP, и дисплей.

Эмулятор дисплея:
Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
<title>Монитор</title>
<script>
const PI=3.14159265359;
const PLANETS_COUNT=8;

let x = [];
let y = [];
let angle = [];
let step = [];
const farbe =['rgb(195,195,195);', 'rgb(185,122,87);', 'rgb(0,162,232);', 'rgb(185,122,87);','rgb(185,122,87);','rgb(153,217,234);','rgb(0,162,232);','rgb(195,195,195);'];

function draw_planet(id, cx, cy, x, y, angle, fg, bg) { 
  var el = document.getElementById(id);
  var ctx = el.getContext('2d');
  let nx = (x * Math.cos(angle*(PI/180))) - (y * Math.sin(angle*(PI/180)));
  let ny = (x * Math.cos(angle*(PI/180))) + (y * Math.sin(angle*(PI/180)));
  ctx.beginPath();
  ctx.strokeStyle = fg;
  ctx.fillStyle = bg;
  ctx.arc(cx + nx, cy + ny, 4, 0, Math.PI * 2);
  ctx.stroke();

}

function init() {
  for(let planets=0; planets<PLANETS_COUNT; planets++) {
    if(planets > 0) { x[planets] = x[planets-1]+5; y[planets]=y[planets-1]+5; }
    else { x[planets] = 30; y[planets]=30; }
  }

  for(let planets=0; planets<PLANETS_COUNT; planets++) { angle[planets] = Math.random() * 50; step[planets] = 1 + Math.random() * 4; }
}

function animate() {
    var el = document.getElementById('planet');
    var ctx = el.getContext('2d');
    ctx.clearRect(0, 0, 200, 200);
    ctx.beginPath();
    ctx.strokeStyle = '#fff';
    ctx.arc(100, 100, 20, 0, Math.PI * 2);
    ctx.stroke();
    ctx.fill();

    for(planets=0; planets<PLANETS_COUNT; planets++) {
      angle[planets] += step[planets];
      if(angle[planets] >= 359) angle[planets] = 0;
      draw_planet('planet', 100, 100, x[planets], y[planets], angle[planets], '#fff', farbe[planets]);
    }
}

window.onload = function() {
  init();
  setInterval(function(){ animate(); }, 100);
}
</script>
<style>
.monitor { border:20px solid #EEE; width:200px; height:200px; border-radius:3px; }
.display { box-shadow:inset 0px 0px 3px #EEE; background-color:#000; color:lightgray; word-break:break-all; font-family:monospace; font-size:14px; width:200px; height:200px; }
.lamp { position:relative; left:180px; top:10px; width:15px; height:2px; background-color:#0F0; box-shadow:0px 0px 5px #0F0; }
</style>
</head>
<body>
  <div class="monitor">
    <div class="display">
      <canvas id="planet" width="200px" height="200px">
      </canvas>
    </div>
    <div class="lamp">&nbsp;</div>
</body>
</html>


Эмулятор старых кнопочных соток:
Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
<title>Эмулятор кнопочных мобильников</title>
<style>
.wap::before { font-weight:bold; content:"WAP симулятор"; }
.wap { padding:5px 5px; max-width:130px; max-height:240px; background-color:#eee; margin:5px 5px;}
.wap .display { word-break:break-all; font-family:monospace; font-size:14px; width:120px; height:130px; padding:5px 5px; border-radius:3px; overflow-y:scroll; scrollbar-color:#999 #000; scrollbar-width:thin; cursor:default;}
.wap .display a { text-decoration:underline; font-weight:bold; cursor:pointer;}
.wap .display a:hover { text-decoration:underline; font-weight:bold; cursor:pointer;}
.wap .display a:visited { text-decoration:underline; font-weight:bold; cursor:pointer;}
.green { background-color:#690; color:#333; box-shadow:inset 0em 0px 0.9em #E5BD6D; }
.green a { color:#333; }
.yellow { background-color:#FC6; color:#333; box-shadow:inset 0em 0px 0.9em #577913; }
.yellow a { color:#333; }
.blue { background-color:#0CF; color:#135EAA; box-shadow:inset 0em 0px 0.9em #305E7A; }
.blue a { color:#135EAA; }
.white { background-color:#FFF; color:#333;  box-shadow:inset 0em 0px 0.9em #EEE; }
.white a {color:#333; }
.sleep_green { background-color:#2B4003; color:#000; transition: all 5s ease-in; }
.sleep_green a { color:#000; }
.sleep_yellow { background-color:#695120; color:#000; transition: all 5s ease-in; }
.sleep_yellow a { color:#000; }
.sleep_blue { background-color:#195D85; color:#0D1E42; transition: all 5s ease-in; }
.sleep_blue a { color:#0D1E42; }
.sleep_white {background-color:#BABABA; color:#000; transition: all 5s ease-in; }
.sleep_white a { color:#000; }

</style>
</head>
<body>
  <div class="wap">
    <div class="display green" onmouseout="this.setAttribute('class', 'display sleep_green');" onmousemove="this.setAttribute('class', 'display green');">
         Привет 123!
         <br><a href="javascript:void(0);" click="return;">Test</a>
    </div>
  </div>
  <br>
  <div class="wap">
    <div class="display yellow" onmouseout="this.setAttribute('class', 'display sleep_yellow');" onmousemove="this.setAttribute('class', 'display yellow');">
         Привет 123!
         <br><a href="javascript:void(0);" click="return;">Test</a>
    </div>
  </div>
  <br>
  <div class="wap">
    <div class="display blue" onmouseout="this.setAttribute('class', 'display sleep_blue');" onmousemove="this.setAttribute('class', 'display blue');">
         Привет 123!
         <br><a href="javascript:void(0);" click="return;">Test</a>
    </div>
  </div>
  <br>
  <div class="wap">
    <div class="display white" onmouseout="this.setAttribute('class', 'display sleep_white');" onmousemove="this.setAttribute('class', 'display white');">
         Привет 123!
         <br><a href="javascript:void(0);" click="return;">Test</a>
    </div>
  </div>
  <br>
</body>
</html>
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 676
Зарегистрирован: 01 окт 2023, 22:57

Re: Полезные исходники для DOS

Сообщение netnetuser » 14 июл 2026, 13:31

здарова всем
netnetuser
Новичок
 
Сообщения: 3
Зарегистрирован: 14 июл 2026, 13:24

Re: Полезные исходники для DOS

Сообщение netnetuser » 14 июл 2026, 13:34

пишу на питоне. решил начать изучать си и вот :twisted: :twisted:
не компилируеся :cry: :cry:
windows 10 +gcc
#include <iostream>
int main(int argc, char *argv) {
cout "Hello World!";
return 0;
}

:ugeek:
netnetuser
Новичок
 
Сообщения: 3
Зарегистрирован: 14 июл 2026, 13:24

Re: Полезные исходники для DOS

Сообщение netnetuser » 14 июл 2026, 13:45

написал std::cout вемсто cout
исправил один баг :D :D :D
но осталась какая то херня :roll: :roll: :?: :shock:
мояпрограмма.cpp: In function ‘int main(int, char*)’:
мояпрограмма.cpp:3:10: error: expected ‘;’ before string constant

и что делать?
netnetuser
Новичок
 
Сообщения: 3
Зарегистрирован: 14 июл 2026, 13:24

Re: Полезные исходники для DOS

Сообщение StoYazykov » 14 июл 2026, 13:53

netnetuser,
Язык на котором вы пишете, - называется, C++! А не C.
А не компилируется это "творение" потому, что его писали кривыми ручками, пригодными только для Python'а. там куча ошибок.

Первая ошибка. Надо писать, не
Код: Выделить всё
std::cout "строка";

а
Код: Выделить всё
std::cout << "строка";.


Вторая ошибка - (не при компиляции, скорее логическая) - у вас там, char *argv. Это мусор. Надо char **argv. Копипастили из тырнета - и даже скопипастить не сумели!
Последний раз редактировалось StoYazykov 14 июл 2026, 13:54, всего редактировалось 1 раз.
Самое тёмное дело - это строки в C

Объектно-ориентированное программирование -- метод изготовления граблей по принципу матрешки.

http://revival.narod.ws

Изображение
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 278
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Полезные исходники для DOS

Сообщение uav » 14 июл 2026, 14:55

netnetuser:
1. Не надо отправлять подряд столько сообщений. Редактируйте последнее, если Вам ещё никто не ответил и прошло меньше суток.
2. Какое отношение имеет Ваше "пишу на питоне. решил начать изучать си" к теме "Полезные исходники для DOS"?
3. В крайнем случае для обсуждения чего-то подобного у нас есть тема viewtopic.php?f=21&t=1630 ("Программирование (общая "болталка")").
В ближайшее время перенесу это всё туда.

P.S. Перенёс.
Последний раз редактировалось uav 14 июл 2026, 19:00, всего редактировалось 1 раз.
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 3236
Зарегистрирован: 22 дек 2008, 14:21

Re: Программирование (общая "болталка")

Сообщение oldpcfan82 » 25 июл 2026, 21:25

Я знаю, что где-то есть это, но я хотел бы попробывать написать три простенькие программы. Одна для старых компьютеров, допустим программа читает данные из файла, и на PC Speaker пищит, т.к. на старых компьютерах не у всех моделях можно установить звуковую карту, хотя в принципе можно и через простую звуковую карту Covox проиграть PCM звук. Это нужно чтобы перенести данные со старого компьютера. Для записи подойдёт звуковая карта или кассетный магнитофон. Дешифровывать можно частоты слушать, ведь состояние 0 - это одна частота писка, 1 - другая. Две других программ будут генерировать дырочки на перфоленте и перфокарте, это чтобы данные с современного компьютера перенести на старые PDP, итд., покуда переносится с нового на старый, я хочу генерировать просто HTML файл, там можно настроить самому позиции, и в веб браузере напечатать. Как такая идея? Стоит ли этим заняться, или нет?
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 676
Зарегистрирован: 01 окт 2023, 22:57

Пред.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2