Электроника МК-85
Moderator: Shaos
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
piotr433, контрольную сумму снова забыл.
спасибо.
спасибо.
-
- Novelist
- Posts: 49
- Joined: 14 Aug 2018 14:30
- Location: Szczecin, Польша
Re: Электроника МК-85
Да, снова забыл
Уже исправил.

Уже исправил.
-
- Admin
- Posts: 23990
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Электроника МК-85
Я думаю могу чего-то изобресть - распознавание выводимых графических символов скажемКлапауций wrote:ок. ну, тогда ничего сделать и не получится - если эмулятор управляет чёрным ящиком.piotr433 wrote:Но это не будет просто. Эмулятор ничего не знает про команды Бейсика PRINT или CSR...

А ввод команд бейсика теми же кнопками и можно организовать

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
спасибо. всё ок.piotr433 wrote:Уже исправил.
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
нам нужно, для проверки правильности вычислений вывести наружу значения переменных МК-85.Shaos wrote:Я думаю могу чего-то изобресть - распознавание выводимых графических символов скажем
т.е. A, B и C, где
A - аргумент функции.
B - результат вычисления функцией аргумента A.
C - флаг-палка, которой нужно ткнуть внешний вычислитель, что бы он взял A вычислил свою B и сравнил с B, вычисленную МК-85 и сказал: OK!, если совпадает.
дык, уже так и есть PRINT -> S, LShaos wrote:А ввод команд бейсика теми же кнопками и можно организовать
или ты предлагаешь сделать большую кнопку PRINT ?

-
- Admin
- Posts: 23990
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Электроника МК-85
А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
я это вижу так:Shaos wrote:А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?
ты в три часа ночи крутишь в голове мысли, подсчитывая свои доходы-расходы... внезапно у тебя возникают сомнения в своих подсчётах - ты достаёшь простой калькулятор и перепроверяешь, что твой воспалённый мосг себе насчитал.
именно так, а не иначе - не калькулятор из ящика письменного стола тебя среди ночи будит и не устраивает тебе математический экзамен.

поэтому:
МК-85 - устройство ведущее.
эталонный вычислитель - пассивный инструмент.
*плюс выше было сказано, что дёрнуть эмулятор ты сможешь, но тыкать в него - только клавой, т.к. считать он не умеет. а содержимое экрана часто не равно значению переменной, а урезанное в то, что поместилось в экран.
-
- Novelist
- Posts: 49
- Joined: 14 Aug 2018 14:30
- Location: Szczecin, Польша
Re: Электроника МК-85
Прикреплённая программа каждое 0.4 секунды выводит на терминал содержимое переменных A, B, C.
Такое имелось ввиду?
Изменения в модуле main.pas:
Code: Select all
A=0.142857142857e4
B=-0.128700128700e-2
C=0
Изменения в модуле main.pas:
Code: Select all
function BasicVar (x: integer) : string;
var
addr: word;
exponent: word;
i: integer;
s: string;
begin
addr := ptrw(@ram[$8252-RAMSTART])^ - word (x * 8);
exponent := ptrw(@ram[addr-RAMSTART])^;
s := '0';
if exponent <> 0 then
begin
Inc (addr, 2);
if (exponent and $8000) <> 0 then s := '-0.' else s := '0.';
for i := 0 to 2 do
begin
s := s + IntToHex (ptrw(@ram[addr-RAMSTART])^, 4);
Inc (addr, 2);
end;
s := s + 'e' + IntToStr (integer(cardinal(exponent and $1FFF)) - 4096);
end;
BasicVar := s;
end;
procedure TMainForm.OnCursorTimer(Sender: TObject);
begin
CurVis := not CurVis;
Writeln ('A=' + BasicVar(1));
Writeln ('B=' + BasicVar(2));
Writeln ('C=' + BasicVar(3));
Writeln;
end;
You do not have the required permissions to view the files attached to this post.
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
я, наверное, что-то не то делаю - у меня сыпятся бесконечные окошки "I/O error 103".piotr433 wrote:Прикреплённая программа каждое 0.4 секунды выводит на терминал содержимое переменных A, B, C.
я думаю, что программа должна печатать в терминал значения A и B при изменении переменной C.
т.е. должна хранить предыдущее значение C и сравнивать со считанным сейчас - если отличаются, печатать в терминал значения A, B, запоминать считанное значение C и далее печатать, если значение переменной C изменилось на противоположное.
C инициализировать C = 0.
значение переменной C будем переворачивать на противоположное в тестовой BASIC-программе.
чем будем инициализировать печать в терминал переменных A, B.
т.е. печатать значение C в терминал не нужно - это служебный управляющий флаг инициализации печати в терминал, значение которого нам известно, так как мы им рулим в тестовой программе.
иначе, будут пропуски значений A, B если они изменяются чаще, чем 0.4 секунды или тупая печать каждые 0.4 секунды, даже, если A, B не изменились.
скорость опроса переменной C ?- вот здесь я не в курсе, как оптимально сделать: возможно после каждого цикла работы эмулятора... т.е. - максимальная.
-
- Novelist
- Posts: 49
- Joined: 14 Aug 2018 14:30
- Location: Szczecin, Польша
Re: Электроника МК-85
В папке с эмулятором надо заменить существующий файл mk85m.exe новым (программа требует битмап, образов памяти).я, наверное, что-то не то делаю - у меня сыпятся бесконечные окошки "I/O error 103".
В первую очередь провери работоспособность программы, допилим потом.
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
всё на месте - просто заменяю в папке на mk85m.exepiotr433 wrote: В папке с эмулятором надо заменить существующий файл mk85m.exe новым (программа требует битмап, образов памяти).
You do not have the required permissions to view the files attached to this post.
-
- Novelist
- Posts: 49
- Joined: 14 Aug 2018 14:30
- Location: Szczecin, Польша
Re: Электроника МК-85
Программа должна быть запущена из текстового терминала. Не знаю как это сделать в Windows, у меня Linux.
Может лучше будет выводить информацию в текстовый файл?
Может лучше будет выводить информацию в текстовый файл?
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
т.е. без GUI ? а, как в кнопки тыкать, что бы запустить программу?piotr433 wrote:Программа должна быть запущена из текстового терминала. Не знаю как это сделать в Windows, у меня Linux.
я ожидал увидеть встроенный в эмулятор терминал по типу уже имеющегося дебагера.
да-да. и в окошке встроенного терминала - чек-бокс "сохранять в текстовый файл"piotr433 wrote:Может лучше будет выводить информацию в текстовый файл?
или, не заморачиваться с окошками, а печатать A, B в текстовый файл.
только нужно определиться с форматом печати
Code: Select all
A
B
Code: Select all
A[tab]B
-
- Admin
- Posts: 23990
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Электроника МК-85
Ну ты же проверяешь именно МК-85 (эмулируемый), значит он НЕ должен быть ведущим устройством...Клапауций wrote:я это вижу так:Shaos wrote:А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?
ты в три часа ночи крутишь в голове мысли, подсчитывая свои доходы-расходы... внезапно у тебя возникают сомнения в своих подсчётах - ты достаёшь простой калькулятор и перепроверяешь, что твой воспалённый мосг себе насчитал.
именно так, а не иначе - не калькулятор из ящика письменного стола тебя среди ночи будит и не устраивает тебе математический экзамен.![]()
поэтому:
МК-85 - устройство ведущее.
эталонный вычислитель - пассивный инструмент.
*плюс выше было сказано, что дёрнуть эмулятор ты сможешь, но тыкать в него - только клавой, т.к. считать он не умеет. а содержимое экрана часто не равно значению переменной, а урезанное в то, что поместилось в экран.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Электроника МК-85
кому и сколько НЕ должен ?Shaos wrote:Ну ты же проверяешь именно МК-85 (эмулируемый), значит он НЕ должен быть ведущим устройством...

всем прощаю - все свободны.
инициатором проверки является BASIC-программа МК-85.
нечего тут обсуждать, почему...
потому, что это проще, чем - цитирую:
кому сказать? - там нет никто. там чёрный ящик с программой BASIC в который только кнопками можно тыкать, но в который можно писать программы - вот эти программы и делают устройство ведущим.говоря ему - посчитай ка вот это и верни мне содержимое экрана?