nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Sep 2018 00:13



Reply to topic  [ 200 posts ]  Go to page Previous  1 ... 9, 10, 11, 12, 13, 14  Next
Электроника МК-85 
Author Message
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
piotr433, контрольную сумму снова забыл.
спасибо.

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


17 Aug 2018 12:04
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 36
Location: Szczecin, Польша
Reply with quote
Да, снова забыл :oops:
Уже исправил.


17 Aug 2018 12:28
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
Клапауций wrote:
piotr433 wrote:
Но это не будет просто. Эмулятор ничего не знает про команды Бейсика PRINT или CSR...

ок. ну, тогда ничего сделать и не получится - если эмулятор управляет чёрным ящиком.

Я думаю могу чего-то изобресть - распознавание выводимых графических символов скажем :)
А ввод команд бейсика теми же кнопками и можно организовать ;)

_________________
:eugeek: https://twitter.com/Shaos1973


17 Aug 2018 17:23
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
piotr433 wrote:
Уже исправил.

спасибо. всё ок.

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 01:19
Profile
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
Shaos wrote:
Я думаю могу чего-то изобресть - распознавание выводимых графических символов скажем :)

нам нужно, для проверки правильности вычислений вывести наружу значения переменных МК-85.
т.е. A, B и C, где
A - аргумент функции.
B - результат вычисления функцией аргумента A.
C - флаг-палка, которой нужно ткнуть внешний вычислитель, что бы он взял A вычислил свою B и сравнил с B, вычисленную МК-85 и сказал: OK!, если совпадает.

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

дык, уже так и есть PRINT -> S, L
или ты предлагаешь сделать большую кнопку PRINT ? :mrgreen:

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 01:32
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?

_________________
:eugeek: https://twitter.com/Shaos1973


18 Aug 2018 02:07
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
Shaos wrote:
А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?

я это вижу так:
ты в три часа ночи крутишь в голове мысли, подсчитывая свои доходы-расходы... внезапно у тебя возникают сомнения в своих подсчётах - ты достаёшь простой калькулятор и перепроверяешь, что твой воспалённый мосг себе насчитал.

именно так, а не иначе - не калькулятор из ящика письменного стола тебя среди ночи будит и не устраивает тебе математический экзамен. :mrgreen:

поэтому:
МК-85 - устройство ведущее.
эталонный вычислитель - пассивный инструмент.

*плюс выше было сказано, что дёрнуть эмулятор ты сможешь, но тыкать в него - только клавой, т.к. считать он не умеет. а содержимое экрана часто не равно значению переменной, а урезанное в то, что поместилось в экран.

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 02:29
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 36
Location: Szczecin, Польша
Reply with quote
Прикреплённая программа каждое 0.4 секунды выводит на терминал содержимое переменных A, B, C.
Code:
A=0.142857142857e4
B=-0.128700128700e-2
C=0

Такое имелось ввиду?

Изменения в модуле main.pas:
Code:
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;


Attachments:
k1.zip [198.14 KiB]
Downloaded 6 times
18 Aug 2018 07:11
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
piotr433 wrote:
Прикреплённая программа каждое 0.4 секунды выводит на терминал содержимое переменных A, B, C.


я, наверное, что-то не то делаю - у меня сыпятся бесконечные окошки "I/O error 103".

я думаю, что программа должна печатать в терминал значения 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 ?- вот здесь я не в курсе, как оптимально сделать: возможно после каждого цикла работы эмулятора... т.е. - максимальная.

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 07:50
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 36
Location: Szczecin, Польша
Reply with quote
Quote:
я, наверное, что-то не то делаю - у меня сыпятся бесконечные окошки "I/O error 103".

В папке с эмулятором надо заменить существующий файл mk85m.exe новым (программа требует битмап, образов памяти).

В первую очередь провери работоспособность программы, допилим потом.


18 Aug 2018 08:16
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
piotr433 wrote:
В папке с эмулятором надо заменить существующий файл mk85m.exe новым (программа требует битмап, образов памяти).

всё на месте - просто заменяю в папке на mk85m.exe


Attachments:
zzzz.png
zzzz.png [ 52.69 KiB | Viewed 231 times ]

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o
18 Aug 2018 08:58
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 36
Location: Szczecin, Польша
Reply with quote
Программа должна быть запущена из текстового терминала. Не знаю как это сделать в Windows, у меня Linux.

Может лучше будет выводить информацию в текстовый файл?


18 Aug 2018 10:48
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
piotr433 wrote:
Программа должна быть запущена из текстового терминала. Не знаю как это сделать в Windows, у меня Linux.

т.е. без GUI ? а, как в кнопки тыкать, что бы запустить программу?

я ожидал увидеть встроенный в эмулятор терминал по типу уже имеющегося дебагера.

piotr433 wrote:
Может лучше будет выводить информацию в текстовый файл?

да-да. и в окошке встроенного терминала - чек-бокс "сохранять в текстовый файл"

или, не заморачиваться с окошками, а печатать A, B в текстовый файл.
только нужно определиться с форматом печати

Code:
A
B

или
Code:
A[tab]B

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 11:05
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
Клапауций wrote:
Shaos wrote:
А не наоброт? Внешний вычислитель дёргает эмулятор МК-85, говоря ему - посчитай ка вот это и верни мне содержимое экрана?

я это вижу так:
ты в три часа ночи крутишь в голове мысли, подсчитывая свои доходы-расходы... внезапно у тебя возникают сомнения в своих подсчётах - ты достаёшь простой калькулятор и перепроверяешь, что твой воспалённый мосг себе насчитал.

именно так, а не иначе - не калькулятор из ящика письменного стола тебя среди ночи будит и не устраивает тебе математический экзамен. :mrgreen:

поэтому:
МК-85 - устройство ведущее.
эталонный вычислитель - пассивный инструмент.

*плюс выше было сказано, что дёрнуть эмулятор ты сможешь, но тыкать в него - только клавой, т.к. считать он не умеет. а содержимое экрана часто не равно значению переменной, а урезанное в то, что поместилось в экран.

Ну ты же проверяешь именно МК-85 (эмулируемый), значит он НЕ должен быть ведущим устройством...

_________________
:eugeek: https://twitter.com/Shaos1973


18 Aug 2018 11:24
Profile WWW
Maniac
User avatar

Joined: 29 Jun 2018 09:48
Posts: 304
Reply with quote
Shaos wrote:
Ну ты же проверяешь именно МК-85 (эмулируемый), значит он НЕ должен быть ведущим устройством...

кому и сколько НЕ должен ? :mrgreen:
всем прощаю - все свободны.

инициатором проверки является BASIC-программа МК-85.

нечего тут обсуждать, почему...
потому, что это проще, чем - цитирую:
Quote:
говоря ему - посчитай ка вот это и верни мне содержимое экрана?

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


18 Aug 2018 12:00
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 200 posts ]  Go to page Previous  1 ... 9, 10, 11, 12, 13, 14  Next

Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.