Посадка на Луну
Aug. 8th, 2020 12:58 pmНаконец-то, можно нормально играть в посадку на Луну: https://github.com/besm6/bega-re/blob/master/landing.pas
https://github.com/besm6/bega-re/blob/master/landing.sh
Дело было в том, что по умолчанию вывод на экран в Паскаль-автокоде делается через Пульт, который всё печатает в сокращенном наборе символов для телетайпа (например, ! превращается в .I), и принудительно делая перевод строки после 72 символов. "Посадка" пыталась это обойти с помощью выдачи экстракода вывода на экран, указывая предполагаемый адрес буфера файла output, но почему-то в нашем случае это не работало.
Я эти мелочи проигнорировал. Теперь с помощью этой программы можно давать задачки по физмату и программированию:
1) Покажите, что на уровне 0 (15000 фунтов топлива) сесть невозможно.
2а) Напишите программу, за короткое время находящую последовательность действий, приводящих к мягкой посадке на уровне 1 (15500 фунтов топлива).
2б) Максимизируйте количество оставшегося при посадке топлива.
https://github.com/besm6/bega-re/blob/master/landing.sh
Дело было в том, что по умолчанию вывод на экран в Паскаль-автокоде делается через Пульт, который всё печатает в сокращенном наборе символов для телетайпа (например, ! превращается в .I), и принудительно делая перевод строки после 72 символов. "Посадка" пыталась это обойти с помощью выдачи экстракода вывода на экран, указывая предполагаемый адрес буфера файла output, но почему-то в нашем случае это не работало.
Я эти мелочи проигнорировал. Теперь с помощью этой программы можно давать задачки по физмату и программированию:
1) Покажите, что на уровне 0 (15000 фунтов топлива) сесть невозможно.
2а) Напишите программу, за короткое время находящую последовательность действий, приводящих к мягкой посадке на уровне 1 (15500 фунтов топлива).
2б) Максимизируйте количество оставшегося при посадке топлива.
no subject
Date: 2020-08-09 07:44 am (UTC)no subject
Date: 2020-08-09 02:35 pm (UTC)(no subject)
From:no subject
Date: 2020-08-15 05:31 pm (UTC)no subject
Date: 2020-08-15 05:46 pm (UTC)https://gist.github.com/kristopherjohnson/83c6a6b8a1b7c6929ced83e922abccc1
no subject
Date: 2020-08-19 12:26 pm (UTC)no subject
Date: 2020-08-19 06:30 pm (UTC)2. В каталоге с образами дисков сделать ссылки 2248 -> svs2048.bin, 2053 -> svs2053.bin
3. Взять из https://github.com/besm6/bega-re/ файлы landing.sh (в нем поправить путь к выполняемому файлу dispak на необходимый), pult2.b6 и landing.pas и положить их в текущий каталог.
4. Запустить landing.sh
(no subject)
From:no subject
Date: 2020-08-19 08:50 pm (UTC)Бинарник dispak собирается так:
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-08-19 08:58 pm (UTC)В файле langing.sh во второй строке убираем путь к dispak, пусть вызывается через PATH:
В файле pult2.b6 убираем строку 5: "лент 50(1234-ЗП)^". Эта лента не нужна.
Запускаем:
$ ./landing.sh spawn dispak -s pult2.b6 000 СИСТЕМА ПУЛЬТ 19.08.80 ... ПАСКАЛЬ-АВТОКОД 9.(17.05.88) ________________________________________________________________________________________________________________________________ АВТОКОД 00.00.70. БЛОК N 000001 ЛИСТ 000000 ЕNGLISН / РУССКИЙ ?р ЦЕНТР УПРАВЛЕНИЯ ВЫЗЫВАЕТ ЛУННЫЙ МОДУЛЬ: ДЛЯ ПОСАДКИ ПЕРЕЙДИТЕ НА РУЧНОЕ УПРАВЛЕНИЕ. КАКОВ ВАШ ОПЫТ: 0 1 2(НОРМА) 3 4 5 6 7 8 9(ОПЫТА НЕТ) ? ЧТО У ВАС ? 2 ВЫ ДОЛЖНЫ УКАЗЫВАТЬ СКОРОСТЬ РАСХОДА ТОПЛИВА ЧЕРЕЗ КАЖДЫЕ 10 СЕКУ НД. РАСХОД ДОЛЖЕН БЫТЬ ИЛИ 0 ИЛИ ОТ 8 ДО 200 ФУНТОВ В СЕКУНДУ. У ВАС 16000 ФУНТОВ ТОПЛИВА. ВЕС КАПСУЛЫ СЕЙЧАС 32500 ФУНТОВ, ВКЛЮЧАЯ ТОПЛИВО. НАЧИНАЙТЕ ПОСАДКУ. ПЕРВЫЙ РАДИОЛОКАЦИОННЫЙ ЗАМЕР ВЫСОТЫ: ВРЕМЯ(СЕК) ВЫС(МИЛИ + ФУТЫ) СКОРОСТЬ(Ф/С) ТОПЛ(ФУН) 0 120 0 5280 16000 РАСХОД=Ну и так далее.(no subject)
From:no subject
Date: 2020-08-20 05:11 pm (UTC)no subject
Date: 2020-08-20 06:48 pm (UTC)Сам по себе КРАБ через simh можно запускать так:
https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/besm6-krab.expect
Или так:
https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/besm6-run.expect
Подробности здесь: https://groups.google.com/d/msg/besm6/WnK7JIx-QoI/CSduoZABMxsJ
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-10-09 12:36 pm (UTC)ИMЯ HAЧAЛО ДЛИHA
ИHTPУK 001 020
TECT 021 020
TECT1 041 001
РЕД ТЕСТ
ПPОЧTEHО (410071:20)
С
ФAЙЛ ПУCTОЙ
В
0001 _PROGRAM PRIVET;
0002 _( WRITELN('ПРИВЕТ') _).
0003
З
B ФAЙЛ TECT ЗAПИCAHО ЗОH: 1 (410071:20)
С
0001 _PRОGRAM PRIVET;
0002 _'_'_'[D[D[C[C [D[D[D[D[D[D[D [D[D[D_( WRITELN('ПPИBET') _).
2 _( WRITELN('ПРИВЕТ') _).
0002 _( WRITELN('ПPИBET') _)
З
B ФAЙЛ TECT ЗAПИCAHО ЗОH: 1 (410071:20)
С
0001 _PRОGRAM PRIVET;
0002 _( WRITELN('ПPИBET') _)
К
ПАС ТЕСТ-ЗОНГП ТЕСТ1
ПACKAЛЬ-ABTОKОД 9.(09.12.88)
BCTPETИЛCЯ KОHEЦ ФAЙЛA
С ТЕСТ1
РЕД ТЕСТ1
ПPОЧTEHО (410111:1)
С
ФAЙЛ ПУCTОЙ
Похоже, что-то делаю не так
no subject
Date: 2020-10-09 03:25 pm (UTC)no subject
Date: 2020-10-09 08:24 pm (UTC)ИMЯ HAЧAЛО ДЛИHA
ИHTPУK 001 020
TECT 021 020
TECT1 041 001
РЕД ТЕСТ
ПPОЧTEHО (410071:20)
С
0001 _PRОGRAM PRIVET;
0002 _( WRITELN('ПPИBET') _)
П2 /_)/_)./
0002 _( WRITELN('ПPИBET') _).
З
B ФAЙЛ TECT ЗAПИCAHО ЗОH: 1 (410071:20)
С
0001 _PRОGRAM PRIVET;
0002 _( WRITELN('ПPИBET') _).
К
ПАС ТЕСТ-ЗОНГП ТЕСТ1
ПACKAЛЬ-ABTОKОД 9.(09.12.88)
HET ABTОKОД TPAHCЛЯTОPA
KОHEЦ CEAHCA
no subject
Date: 2020-10-09 09:36 pm (UTC)Для запуска пульта используйте https://github.com/besm6/bega-re/blob/master/pult2.b6
осталось проигнорировано.
no subject
Date: 2020-10-09 11:39 pm (UTC)Ключ:
Паспорт:
На диске 2148 нет паскаль компилятора, насколько я понимаю. Нужен диск 2248. То есть ключ PULT не годится. Надо завести новый паспорт, скажем П4 (потому что П2 и П3 уже есть), и назначить его на диск 2248. И ключ паспорту П4, скажем ПУЛЬТ.
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-10-11 09:25 pm (UTC)Ф001
HУ,BACЯ,ПОГОДИ!!!
BЦП=0+0 CОTЫX CEK.ОCT=119.BPEMЯ БЭCM=21.36.39
KОHEЦ CEAHCA
Что не так?
no subject
Date: 2020-10-11 10:04 pm (UTC)no subject
Date: 2020-10-12 03:56 am (UTC)Спросите в группе бэсм6.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-10-14 06:52 pm (UTC)ПACKAЛЬ-ABTОKОД 9.(09.12.88)
MAXADR=00035
HA БОБ 2061 ЗAПИCЬ 0001 ЗОH C 410111 ЗОHЫ(TECT1 )
BCE CДEЛAHО.
Все вроде бы нормально, если через старый паспорт ПУЛЬТа запускать. Теперь нужно загрузить скриптом Посадку на Луну и сделать для неё паспорт. Займусь завтра
no subject
Date: 2020-10-16 09:17 pm (UTC)ПАС ТЕСТ
ПACKAЛЬ-ABTОKОД 9.(09.12.88)
HET ABTОKОД TPAHCЛЯTОPA
KОHEЦ CEAHCA
Что я сделал неправильно? Вроде бы вы в паспорте П1 не проставляли конкретную зону (1000)?
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-10-19 03:34 pm (UTC)ВЦПП
T3 555500000000 42 00.00.00 00.01.59 5 000
КТО
T3 555500000000 42 BAKУЛEHKО C. ЗП1 PULT
ОСТ 42
ECTЬ
ВЦПП
T3 555500000000 42 00.00.00 00.01.59 5 000
no subject
Date: 2020-10-19 06:20 pm (UTC)В Диспаке была недоработка, связанная с тем, что убивался только активный процесс; при зависании нескольких процессов по обмену приходилось перевызывать машину из-за дефицита каналов выполнения.
no subject
Date: 2020-10-19 06:46 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2020-10-20 04:48 pm (UTC)ПACП-ВЫД
00000 П4 060
00001 ОЗУ 32^
00002 BPE 200^
00003 TEЛ^
00004 PОC 0^
00005 TPA 40^
00006 ДИC 40(2148)^
00007 ДИC 57(2248)^
00008 ДИC 41(2061)-ЗП^
00009 ДИC 44(2071)^
00010 ДИC 45(2062)^
00011 ДИC 43(2070)^
00012 BXО 2000^
00013 E
ИДTИ?НАЧ
ПACП-НАЧ
ЧTО- КНЦ
KОHEЦ CEAHCA
PULT2 5555
HBBE
no subject
Date: 2020-10-20 10:49 pm (UTC)ДИC 41(2061-ЗП)^
(no subject)
From:(no subject)
From: