PDA

Просмотр полной версии : Манделброт в ASCII Art



litwr
03.11.2020, 21:40
Человек опубликовал интересную программу для отрисовки Манделброта на бейсике. Программа интересна двумя моментами:
1) она рисует через ASCII-псевдографику;
2) она написана в максимально упрощенном бейсике, что позволяет запускать её без изменений на практически любом бейсике.
Эти моменты естественно позволяют потестировать в том числе и БК, увидеть оригинальный бэкашный Манделброт и узнать очередной раз насколько хорош был "шитый" код.
У меня, к сожалению, возникли две проблемы:
1) на БК (и даже 0011М) как и наверное других сделанных в СССР домашних и учебных компьютерах почему-то нет поддержки таймера в бейсике (переменной ti), которая есть практически в любом зарубежном домашнем компике с начала 80-х; :(
2) не знаю как перенести текст бейсика в БК, его нужно как-то конвертировать кассетный образ...
Наверное вторая проблема решается, но с первой мне не справится. Возможно где-то есть расширение бейсика с поддержкой таймера. Могу только надеяться на чью-то помощь с запуском этой программы и получением скриншота.
Код программы ниже.


100 rem a basic, ascii mandelbrot
110 rem
120 rem this implementation copyright (c) 2019, gordon henderson
130 rem
140 rem permission to use/abuse anywhere for any purpose granted, but
150 rem it comes with no warranty whatsoever. good luck!
160 rem
170 c$ = ".,'~=+:;[/<&?oxOX# " : rem 'pallet' lightest to darkest...
180 so = 1 : rem set to 0 if your mid$() indexes from 0.
190 mi = len(c$)
200 mx = 4
210 ls = -2.0
220 tp = 1.25
230 xs = 2.5
240 ys = -2.5
250 w = 38
260 h = 21
270 sx = xs / w
280 sy = ys / h
290 q = time
300 for y = 0 to h
310 cy = y * sy + tp
320 for x = 0 to w
330 cx = x * sx + ls
340 zx = 0
350 zy = 0
360 cc = so
370 x2 = zx * zx
380 y2 = zy * zy
390 if cc > mi then goto 460
400 if (x2 + y2) > mx then goto 460
410 t = x2 - y2 + cx
420 zy = 2 * zx * zy + cy
430 zx = t
440 cc = cc + 1
450 goto 370
460 print mid$(c$, cc - so, 1);
470 next
480 print
490 next
500 print
510 print (time - q) / 60
520 end

Ссылка на тему, где этот код появился - http://forum.6502.org/viewtopic.php?f=1&t=6323
Результаты:


ABC 802 93
BBC Master (mode 7) 111.95
BBC Master (mode 6) 112.04
BBC Micro B (mode 7) 144.96
Amstrad CPC 6128 163.43
Электроника БК0011M 164.66
Электроника БК0010-01 205
Commodore 128 (fast) 297.57
Tandy MC-10 349.14
Commodore 64 384.16
Atari 800XL 394.12
Dragon 32/64 405.02
ZX Spectrum 422
Commodore +4 485.85
MSX2 554.98
Корвет ПК-8020 564.92
Commodore 128 620.20
TI-99/4A + E/A 691
TRS-80 Model 3 694
TRS-80 Model 1 773
TI-99/4A + XB 774

К сожалению, выбрал слишком широкий мандельброт, на Спеках, Драконах, TI99/4 и Кокошных Танди не влезет в экран: 32 символа - очень мало. Но если не нужна картинка, то можно и все замерить, даже калькулятор МК-85. Может кто попробует?

Maxvel
03.11.2020, 22:24
Ой что то у меня сомнения на счет работоспособности этой программы на бейсике БКхх. Хотя возможно всё.

litwr
03.11.2020, 23:42
будет работать, надо просто адаптировать под синтаксис ВИЛЬНЮС-БЕЙСИКА

Извиняюсь за выражение, но Манделброт получился не тот. Там в исходном листинге надо только убрать ремы после двоеточий и сами двоеточия. Правильные Мандельброты для разных компиков доступны по указанной ссылке. И неужели даже в бейсике ДВК/УКНЦ нет поддержки таймера?! Плохи были совсем получается ПЗУ-программеры. :( На БК-бейсике SY - это обычная переменная и переименовывать её там не надо.
В строке 170 опечатка - там должно быть c$ = ".,'~=+:;[/<&?oxOX# ", но можно любые знаки в последовательности светлее-темнее - если апостоф в строках запрещен (на БК не запрещен), то можно попробовать, например, ^ вместо него

hobot
04.11.2020, 00:10
ПЗУ-программеры
это дисковый бейсик!


там должно быть c$ = ".,'~=+:;[/<&?oxOX# "
поправил



На БК-бейсике SY - это обычная переменная и переименовывать её там не надо.
но я то не на БК запускаю, поэтому приходится переименовывать, поскольку SY - оператор.
На БК извольте сами набивать, в эмулятор УК-НЦ мне легко текст затащить.
Картинка странная конечно, это самолётик что ли ? Шатл? Или что это вообще такое ?

https://pic.maxiol.com/thumbs2/1604437439.787615478.20201103210234571.png (https://pic.maxiol.com/?v=1604437439.787615478.20201103210234571.png&dp=2)

NEO SPECTRUMAN
04.11.2020, 01:52
Картинка странная конечно, это самолётик что ли ? Шатл? Или что это вообще такое ?
ты чо фракталов никогда не видел?

а как по мне получился пингвин :)

что как бы намекает на ориентацию аффтара :v2_lol:

- - - Добавлено - - -

https://jpegshare.net/images/01/a7/01a751d5fb7ce19a6163126885f44162.jpg

JV-Soft
04.11.2020, 02:06
Сто лет назад писали фракталы на басике

https://d.radikal.ru/d21/2011/0c/5024a1e6bfec.png (https://radikal.ru)

hobot
04.11.2020, 03:22
Сто лет назад писали фракталы на басике
так лучше бы не листинг, а картинку запуска запостили? )
ПИНГВИН - зачётный ! )

- - - Добавлено - - -

https://jpegshare.net/thumbs/78/bc/78bc36bf266417d9bef7339071d0c29c.jpg (https://jpegshare.net/78/bc/78bc36bf266417d9bef7339071d0c29c.png.html)

NEO SPECTRUMAN
04.11.2020, 03:29
https://jpegshare.net/thumbs/78/bc/78bc36bf266417d9bef7339071d0c29c.jpg (https://jpegshare.net/78/bc/78bc36bf266417d9bef7339071d0c29c.png.html)

это че тестирование аэродинамических качеств пингвина?

hobot
04.11.2020, 03:57
это че тестирование аэродинамических качеств пингвина?
а слабо ПИНГВИНА запихать во все скрины ? )))
http://forum.6502.org/viewtopic.php?f=1&t=6323#p79401

- - - Добавлено - - -

и сделай ему уже клюв красный или оранжевый, а ласты пусть жёлтыми останутся

NEO SPECTRUMAN
04.11.2020, 04:28
нехрен мне еще делать...

hobot
04.11.2020, 04:45
нехрен мне еще делать...
да ты всё равно только флуд-вбросы во все и вся темы пишешь, а так хотя бы поиздевались над "странными" )))

NEO SPECTRUMAN
04.11.2020, 05:25
да ты всё равно только флуд-вбросы
я еще делают всякие никому не нужные поделия :v2_dizzy_coder:

litwr
06.11.2020, 22:34
Благодарю за поддержку. Но неужели нет способа перенести бейсик-код в кассетный образ? И ещё любопытно, бейсик на ДВК/УКНЦ неужели фирменный (RT11?) и без команды получения времени?
Пингвин классный, но интереснее узнать насколько быстро БК его манделброт-контур нарисует.

hobot
06.11.2020, 23:16
И ещё любопытно, бейсик на ДВК/УКНЦ неужели фирменный (RT11?)
я запускал в дисковом бейсике - это что то типа одного из вариантов ВИЛЬНЮС-БЕЙСИКА.
В бейсике от DEC (он же из поставки РАФОС оператор получения времени как раз есть, но исходник
сильно не адаптирован под него, эмуляторы все есть - что вам мешает самому проделать? )

litwr
07.11.2020, 09:38
я запускал в дисковом бейсике - это что то типа одного из вариантов ВИЛЬНЮС-БЕЙСИКА.
В бейсике от DEC (он же из поставки РАФОС оператор получения времени как раз есть, но исходник
сильно не адаптирован под него, эмуляторы все есть - что вам мешает самому проделать? )

Прямо беда была у отечественных программеров с поддержкой таймера. :( Даже не представляю себе, что в приведенном коде может не сработать. Это только у БК и очень древних бейсиков не допускались двоеточия-разделители. В коде самый сложный оператор - это цикл FOR, а всё остальное присваивания и PRINT. Может только в каком-то странном бейсике MID$ как-то по другому назывется...
А мешает только то, что интерес запустить именно на БК.

Hunta
07.11.2020, 18:57
PROGRAM MANDEL

COMPLEX C, Z
REAL X0, DX, Y0, DY
INTEGER I, J, K

DATA X0/-2./, Y0/-1.1/, DX/.04/, DY/.1/

DO 10 I = 1, 21
DO 20 J = 1, 79
C = CMPLX(X0 + J * DX, Y0 + I * DY)
Z = (0., 0.)
DO 30 K = 1, 99
Z = Z ** 2 + C
IF (REAL(ABS(Z)) .GT. 2.) GOTO 40
30 CONTINUE
40 TYPE 50, MOD(K, 10)
50 FORMAT ('$', I1)
20 CONTINUE
TYPE 60
60 FORMAT (' ')
10 CONTINUE

END

litwr
07.11.2020, 23:53
PROGRAM MANDEL

Это же фортран - великий и могучий: настоящий программер не использует паскаль, только фортран! Это истина из начала 80-х. :)
Но неужели Манделброт в бейсик эмулятора БК никак?

hobot
08.11.2020, 00:29
Но неужели Манделброт в бейсик эмулятора БК никак?
что значит никак? но почему это кто то за вас должен делать - вам явно призрак Эйнштейна, что то нашептал )))

litwr
08.11.2020, 00:40
что значит никак? но почему это кто то за вас должен делать - вам явно призрак Эйнштейна, что то нашептал )))

Не понял совсем. Мне нужно подсказать как файл конвертировать и может у кого есть ссылка на наработки по таймеру. Если вы не в курсах, то зачем ведете дискуссию?

TheGWBV
08.11.2020, 11:48
Не понял совсем. Мне нужно подсказать как файл конвертировать и может у кого есть ссылка на наработки по таймеру. Если вы не в курсах, то зачем ведете дискуссию?

По таймеру можно порыться в журналах, если недостаточно ТО на БК0010.
Таймером можно управлять и считать интервал времени с помощью операторов Peek и Poke...

- - - Добавлено - - -

Вот в этой книжке (https://pdp-11.ru/mybk/misc/bkprogramming.html#3) есть пример, кстати :)

- - - Добавлено - - -



10 POKE &O177706,32767% 'установка длительности периода S0
20 POKE &O177712,&O160 'запуск таймера
30 ? AT(0,0)PEEK(&O177710) 'смотрим, как он работает
40 GOTO 3

Maxvel
08.11.2020, 12:31
litwr, На БК бейсик сильно не котировался из за его медленной работы да и совместимость его отличалась, к примеру то что написано было на на бейсиве 86 на БК0010 не все могло работать на той же 11м или 11 от того библиотека игр и программ на бейсике столь мала а что имеется то все для 86 бейсика на БК0010.

litwr
08.11.2020, 15:36
По таймеру можно порыться в журналах, если недостаточно ТО на БК0010.
Таймером можно управлять и считать интервал времени с помощью операторов Peek и Poke...

Благодарю вас. Как с таймером работать - это известно, у меня все-таки есть проекты для БК, где таймер хорошо используется. Предполагал, что может есть какие-то готовые добавки к бейсику. Все-таки мандельброт - это проект не затратный - нужен результат и быстро. :) Вот для атарей энтузиасты полностью переписали ПЗУ-бейсик (Altirra Basic) и стал он на мандельбротах на 160% быстрее. Подозреваю, что эти энтузиасты скорее поляки.

litwr, На БК бейсик сильно не котировался из за его медленной работы да и совместимость его отличалась, к примеру то что написано было на на бейсиве 86 на БК0010 не все могло работать на той же 11м или 11 от того библиотека игр и программ на бейсике столь мала а что имеется то все для 86 бейсика на БК0010.
Какой-то тут диссонанс с общеизвестной информацией. Это фокал был тормозной, но давал больше памяти, чем бейсик, который был быстрый, "шитый". В школах, наверное, только бейсик и использовали.
Никогда не слышал о несовместимост бейсиков на 10 и 11. По описанием бейсик на 11 - это расширение и очень скромное бейсика 10. Очень интересно, что там несовместимого могли сделать. Может ММ знает?
И все-таки: знает ли кто про утилиту для конвертации текста бейсика в bin-файл?

TheGWBV
08.11.2020, 17:45
>И все-таки: знает ли кто про утилиту для конвертации текста бейсика в bin-файл?

Какой такой bin? :)
Текст программы сохраняется только в asc-, или в cod-файл. Но в журналах мелькала статья про то как сохранять и использовать готовый шитый код... Правда, читала я её больше 25 лет назад, примерно :)

- - - Добавлено - - -

Ещё, вроде, были там упоминания утилит для объединения кусков asc- файла в единый текстовый файл (в основном для печати листингов и публикации в журналах), и для обратного разбиения...

litwr
08.11.2020, 21:32
Кстати, вот ссылка на Мандельброт в графике - https://stardot.org.uk/forums/download/file.php?id=25594&t=1 - мой коммодорчик строил такую более 10 часов - это уже не пингвин. Человек, который всё придумал, так и не дожил до появиления техники, которая смогла нарисовать правильную картинку. :(

>И все-таки: знает ли кто про утилиту для конвертации текста бейсика в bin-файл?
Какой такой bin? :)
Текст программы сохраняется только в asc-, или в cod-файл. Но в журналах мелькала статья про то как сохранять и использовать готовый шитый код... Правда, читала я её больше 25 лет назад, примерно :)

Тут немного все запутано, например, эмулятор BK2010 (Java) сохраняет бейсик именно в bin-файле. Хотя это, конечно, asc-файл, но называется он все-таки bin. :) Другие эмуляторы могут сохранять и asc-файлы прямо. Но сути эти частности не меняют: нужна утилита, которая конвертирует обычный текст в формат бк. Старые журналы были о чем-то другом. Может там есть подробности формата этого кода, но это далеко не готовая утилита. Например, на для коммодоров есть утилита petcat, а атари и амстрады могут читать чистый текст.
Попробовал загрузить asc/bin-файл в эмулятор 11М - не работает. Похоже ПЗУ 11М - это просто жуки сплошные. Слили его и Корвет ради авантюрного УКНЦ. :(

hobot
08.11.2020, 23:23
Ещё, вроде, были там упоминания утилит

куда катится мир?
сесть и набить руками программу - уже даже не рассматривается как вариант?
в обычном ВИЛЬНЮС-БЕЙСИКЕ гонять нет смысла - если только свою подпрограмму для "исчесления времени"
там сочинить (если это вообще возможно), а вот загнать текстовый файл на образ RT-11 ОС БК и адаптировать
исходник для системного БЕЙСИКА, что тут невыполнимого? Но топик-стартер настаивает, что это слишком чёрная
для него работа, его дело "высокие сферы" ведение таблиц, получение премий, Эйнштейн местный не иначе )))

- - - Добавлено - - -


Слили его и Корвет ради авантюрного УКНЦ.
Сами вы - редиска !
УК-НЦ замечательная машинка в отличие от 11М и Корвета (который вообще не о чём)

- - - Добавлено - - -


нужна утилита, которая конвертирует обычный текст в формат бк.
такая утилита есть, это голова + руки и клавиатура (набивка текста руками).

NEO SPECTRUMAN
09.11.2020, 01:07
Сами вы - редиска !
УК-НЦ замечательная машинка в отличие от 11М и Корвета (который вообще не о чём)
ну вот бекашники молятся на 16 бит!
а значит враги народа и еретеки
тк только 8 бит есть труЪ ретрокомьютинг :v2_lol:

litwr
12.11.2020, 21:33
куда катится мир?
сесть и набить руками программу - уже даже не рассматривается как вариант?
в обычном ВИЛЬНЮС-БЕЙСИКЕ гонять нет смысла - если только свою подпрограмму для "исчесления времени"
там сочинить (если это вообще возможно), а вот загнать текстовый файл на образ RT-11 ОС БК и адаптировать
исходник для системного БЕЙСИКА, что тут невыполнимого? Но топик-стартер настаивает, что это слишком чёрная
для него работа, его дело "высокие сферы" ведение таблиц, получение премий, Эйнштейн местный не иначе )))

Сами вы - редиска !
УК-НЦ замечательная машинка в отличие от 11М и Корвета (который вообще не о чём)

такая утилита есть, это голова + руки и клавиатура (набивка текста руками).

Набить программу - это отстой для редисок. :) Должен быть конвертор. А адаптации под ОС, которые на БК никто не запускал, - это нарушит дух эксперимента. Нужен только натуральный бейсик.
Корвет гораздо круче БК по многим параметрам. Графика круче намного. Скорость примерно такая же. Профессиональный софт намного лучше: CP/M и отечественные наработки по учебному процессу. А Экспресс-паскаль гораздо круче любых паскалей под RT-11. И игры есть классные, которых нет ни на БК, ни даже на некоторых неплохих зарубежных компах (типа амстрада) - https://www.youtube.com/watch?v=qN-LYXs2MFI - обзавидовались?! :)

...
EDIT. И всё-таки беда у 11М с ПЗУ. Уважаемый ММ, что скажите об этом? Можно ли бейсик-программу с 10-и использовать на 11М?

goodboy
12.11.2020, 21:48
игры есть классные, которых нет ни на БК, ни даже на некоторых неплохих зарубежных компах (типа амстрада) - https://www.youtube.com/watch?v=qN-LYXs2MFI - обзавидовались?!
реально непонятно откуда такие выводы. хорошая игра наверно для тех кто кроме неё ничего не видел.
вообще-то она спёрта со спектрума

hobot
12.11.2020, 22:08
Корвет гораздо круче БК по многим параметрам. Графика круче намного
да кто бы сомневался ) Только вот в чём дело то - он ни разу не PDP, каким бы он там не был )


А адаптации под ОС, которые на БК никто не запускал, - это нарушит дух эксперимента.
ОС БК которую никто не запускал на БК - докатились ))) Вы понятия не имеете о машинке и её модификациях,
вам дали единственный путь прогнать ваш тест прямо сейчас, но вы уже и выше дали понять, что ведение таблиц - это предел ваших возможностей. Должен быть конвертер ? Может быть вам ещё и приверженцы БК все должны ?



Профессиональный софт намного лучше:
предпочитаю промышленные и военные стандарты от DEC. Тем более - это было актуально для того времени (промышленность, ЧПУ, автоматизация производства).


А Экспресс-паскаль гораздо круче любых паскалей под RT-11.
ещё один пример субъективного мнения - а по сути поверхностного суждения.
FAST-PASCAL есть и для БК\УК-НЦ\ДВК мощный, но тяжеловесный, а обычный компилятор OMSI PASCAL и все его производные - это чудесная вещь (для тех кто действительно понимает изнает о чём речь, а не голословно тянет за уши из аргументацию субъективную - ни о чём).
Вы не под то дерево лапу подняли, уважаемый. Играйтесь в игры на Корвете - кто вам мешает,
я буду молча вам завидовать. По вашей ссылке - эта игра которой надо завидовать, вы серьёзно что ли? )))

По теме, системный Бейсик пропатченый и демо программа от Patrona



→ ЛАТ
WD4>TY WD5:DEMO.BAS
120 I$=CHR$(9)
140 GET(44%,M%) \ REM M% == $SYPTR
160 GET(M%+196,T0%) \ REM T0% == TTKS
180 GET(M%+198,T1%) \ REM T1% == TTKB
200 X$=CHR$(10)+CHR$(10)+CHR$(10)+CHR$(10)+CHR$(10)
220 X$= X$+CHR$(27)+"I"+CHR$(27)+"I"+CHR$(27)+"I"
240 X$= X$+CHR$(27)+"I"+CHR$(27)+"I"
1000 A%=TTYSET(255%,250%)
1020 GET(36%,J9%) \ PUT(J9%+4096%,36%) \ REM Set TTSPC$ in $JSW
1030 PUT(00%,T0%) \ REM Disable TTKINT
1100 PRINT \ PRINT X$ ; "Press any keys .." \ PRINT
1120 PRINT CHR$(13);CLK$;
1140 GET(T0%,S%) \ IF S% <= 64% GOTO 1120
1160 GET(T1%,A%)
1200 PRINT I$;A%;I$;CHR$(13);
1210 IF A%=32 GOTO 1400 \ REM Space == EXIT
1220 IF A%<>3 GOTO 1120 \ REM Ctrl/C == EXIT
1400 PUT(64%,T0%) \ REM Enable TTKINT
1420 PUT(J9%,36%) \ REM Restore $JSW
1440 PRINT

=============================================
→ ЛАТ


WD4>AS WD5 DK

WD5>RU BASIC
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)? A

READY
OLD DEMO

READY
RUN


DEMO 12-NOV-20 00:03:42


Press any keys ..

MM
12.11.2020, 22:41
Можно ли бейсик-программу с 10-и использовать на 11М?
Да, при условии, что программа от БК0010-01 не пользуется ячейками ОЗУ напрямую - как очень любили делать на БК0010-01, рисуя на экране прямой записью в экранное ОЗУ.

litwr
14.11.2020, 10:07
реально непонятно откуда такие выводы. хорошая игра наверно для тех кто кроме неё ничего не видел.
вообще-то она спёрта со спектрума

Это понятно, что сперта, но для БК не сперли - в этом всё дело. :) А чем плоха игра - очень даже занимательно и клад найти, и пиратов победить, и от Сильвера убежать, а карта большая и музычка хорошая. Пропустили? Сочувствую. :( Хотя ещё не поздно. Может по-честному пройти уже у кого-то реакции не хватит, но этот счет придуманы чит-коды.


ОС БК которую никто не запускал на БК - докатились ))) Вы понятия не имеете о машинке и её модификациях
Ну-ну! :) ОС БК-11 - самая популярная ОС для БК. Вы бы ещё про пятилетку в 3 года лозунг подняли. :)


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


предпочитаю промышленные и военные стандарты от DEC. Тем более - это было актуально для того времени (промышленность, ЧПУ, автоматизация производства).
Вот именно - ЧПУ! А как же СУБД, электронный таблицы, ...? На CP/M такого было много, а на PDP-11 только под RSX-11 и с таблицами сомнительного качества.


FAST-PASCAL есть и для БК\УК-НЦ\ДВК мощный, но тяжеловесный, а обычный компилятор OMSI PASCAL и все его производные - это чудесная вещь (для тех кто действительно понимает изнает о чём речь, а не голословно тянет за уши из аргументацию субъективную - ни о чём).
Признаюсь, не использовал эти паскали, но спрошу только один вопрос: "там длинные целые есть? 32-бита?" И что по вашему аргументация объективная?


По теме, системный Бейсик пропатченый и демо программа от Patrona
Какое это отношение имеет к БК ПЗУ-бейсику? Там какие-то настройки RT-11. Совсем не по теме. Тема - это показать, что БК быстрее коммодоров и атарей на честном бейсике.


Да, при условии, что программа от БК0010-01 не пользуется ячейками ОЗУ напрямую - как очень любили делать на БК0010-01, рисуя на экране прямой записью в экранное ОЗУ.
Это примерно понятно. Вопрос считывается ли бейсик с кассеты, записанной на БК0010-01, на БК0011М? Пробовал с несколькими эмуляторами и не получилось. :( Может у кого-нибудь получилось? Возможно неправ, но у меня сложилось мнение, что эмулятор GID не поддерживает запись на образы кассет в режиме 11М и даже чтение с них. А значит есть скорее всего какая-то несовместимость между 10-01 и 11М.

litwr
14.11.2020, 17:32
Ну вот с доброй помощью и построился Манделброт на БК. Конвертор (работа со сценариями) встроена в эмулятор GID. К сожалению у этого эмулятора проблема с таймером, поэтому запускать (перенесши bin-образ) пришлось на BK2010. И получилась вот такая картинка.
73926
Обогнали почти всех, даже Коммодор 128 в быстром режиме! Все-таки бейсик 1986 года и неплохие были специалисты в Вильнюсе. Только BBC Micro осталась впереди, но там бейсик изначально делали быстрым. И эти Микро были одними из самых дорогих домашних/учебных ПК. Хотя и недорогой Амстрад тоже обогнал БК - там бейсик 1984 года и тоже один из самых быстрых.
Заканчивая тему, хочу поблагодарить всех её участников, хотя некоторым возможно стоит знать слова одного из лучших философов 20 века, Людвига Витгенштейна: "Иногда лучше промолчать." :) К себе только не всегда успеваю применить. ;)
Хотя хорошо бы, если кто запустил на реальной БК, уточнил тайминги. Вот код


100 rem a basic, ascii mandelbrot
110 rem
120 rem this implementation copyright (c) 2019, gordon henderson
130 rem
140 rem permission to use/abuse anywhere for any purpose granted, but
150 rem it comes with no warranty whatsoever. good luck!
160 rem
165 rem bk conversion by litwr, 2020
170 c$ = ".,'~=+:;[/<&?oxOX# "
180 so = 1
190 mi = len(c$)
200 mx = 4
210 ls = -2.0
220 tp = 1.25
230 xs = 2.5
240 ys = -2.5
250 w = 38
260 h = 21
270 sx = xs / w
280 sy = ys / h
290 poke&hffca,114
300 for y = 0 to h
310 cy = y * sy + tp
320 for x = 0 to w
330 cx = x * sx + ls
340 zx = 0
350 zy = 0
360 cc = so
370 x2 = zx * zx
380 y2 = zy * zy
390 if cc > mi then goto 460
400 if (x2 + y2) > mx then goto 460
410 t = x2 - y2 + cx
420 zy = 2 * zx * zy + cy
430 zx = t
440 cc = cc + 1
450 goto 370
460 print mid$(c$, cc - so, 1);
470 next
480 print
490 next
510 t = peek(&hffc8)
512 if t<0 then t=-t else t=65536-t
514 print (t+65536)*64/3000*128/1000

MM
14.11.2020, 18:49
Вопрос считывается ли бейсик с кассеты,
Теоретически, в текстовом поблочном формате ( вывода на ленту ) вроде как должен быть совместим по ТЗ - там передается только текст программы.
А вот бинарный массив Бейсик-программы ( т.е. формат записи на ленту ) - об этом в ТЗ ничего не упоминалось...

Можно погуглит Бейсик-компилятор БК11М под RT-11 для загрузки в ОЗУ ( страничное ) - может кто-то таки его сделал. Мой экз. 1994 г. - утерян скорее всего, делал для заказчика по прикладным программам, т.к. всё остальное из софта заказчику не нравилось - Паскаль, Ассемблер и какие-то сиськи.
Методика изготовления - берется ПЗУшный Бейсик, делается загрузчик для него в страницы ОЗУ, и участок перелючения на RT-11 - т.к. надо перемещать в ОЗУ массивы между Бейсик-областью и RT-11 областью.
Сам Бейсик-ПЗУ БК11М писался изначально для ОЗУ, а для ПЗУ там только номера страниц надо патчить.

hobot
14.11.2020, 22:24
На CP/M такого было много, а на PDP-11 только под RSX-11 и с таблицами сомнительного качества.
вы не знаете ПО под RT-11 - это ваше упущение и ваша проблема, но скажу, что и на БК, и на ДВК\УК-НЦ отечественных
БД как минимум несколько программных пакетов с всем необходимым функционалом *естественно надо учитывать особенности разработки и календарно и платформенно (!). В частности для БК, БД от ASPcorp. самая известная в народе.


ОС БК-11 - самая популярная ОС для БК.
зачем вы всё время приписываете мне слова, которых я не писал и утверждения которые я не писал так-же?
Вы лжец и пустозвон - это мне известно давно, ведите свою таблицу, Эйнштейн, удачи вам, профессор.



А чем плоха игра - очень даже занимательно и клад найти, и пиратов победить, и от Сильвера убежать, а карта большая и музычка хорошая. Пропустили? Сочувствую.
сочувствие тут вызываете пока только вы )

Manwe
15.11.2020, 12:20
Запустил на реальной БК 0010. Результат 207.18933333

https://imageup.ru/img87/3676530/e6506686-b140-4464-9de2-f2b5d994d8b9.jpeg

litwr
15.11.2020, 16:52
вы не знаете ПО под RT-11 - это ваше упущение и ваша проблема, но скажу, что и на БК, и на ДВК\УК-НЦ отечественных
БД как минимум несколько программных пакетов с всем необходимым функционалом *естественно надо учитывать особенности разработки и календарно и платформенно (!). В частности для БК, БД от ASPcorp. самая известная в народе.

зачем вы всё время приписываете мне слова, которых я не писал и утверждения которые я не писал так-же?
Вы лжец и пустозвон - это мне известно давно, ведите свою таблицу, Эйнштейн, удачи вам, профессор.

сочувствие тут вызываете пока только вы )
Может и были отечественные разработки под RT-11 или Юникс, но фирменных таблиц НЕ БЫЛО. Сомневаюсь, что были отечественный разработки класса Визикалк или Суперкалк, широко используемых на ср/м.
А вы значит НЕЛЖЕЦ, НЕПОСТОЗВОН и НЕПРОФЕССОР? Или наоборот ЛЖЕЦ, ПУСТОЗВОН и ПРОФЕССОР? Запутался с вами.
Кстати, за базар надо отвечать. Где вас намеренно дезинформировал?

- - - Добавлено - - -

Вот такие ещё красивые Манделброты получились на реальном железе.7393873939
Интересно, что тайминги варьируются от 193 до 209 секунд - примерно 8% разброса для разных БК.

hobot
15.11.2020, 20:58
Кстати, за базар надо отвечать. Где вас намеренно дезинформировал?
Ваша реплика - где вы приписываете (причём постоянно) мне слова и утверждения, которых я не делал,
коверкая смысл моих сообщений не цитируя их - в частности из свежатинки ваш пост
где вы искажаете смысл моих слов своей нелепой репликой
ОС БК-11 - самая популярная ОС для БК.

И кстати говоря - вы лжец и лицемер - где я писал, что вы вводите в заблуждение именно меня?
Вас гнать надо с форума, г-н Эйнштейн, но тут "толерантный" Манвэ и даже модераторы помогают,
сочувствуют вам. Пользуйтесь.

По поводу упоминаемого вами ПО - ничего не могу сказать, так как в отличие от вас - предпочитаю говорить
о том, что щупал лично сам, а для воли воображения и построения домыслов есть у меня более интересные темы
И престаньте пустозвонить уже - возьмите и сравните все эти КАЛКИ под обе операционки и всё будет ясно.

Опять же вы путаете масло - маргарином. Нельзя считать тупиковые оси и железо равновесным промышленным и военным стандартам, на которые ориентировались крупнейшие промышленные и военные учреждения по всему миру не 1 десятилетие. Спорить тут не о чем. Есть PDP и DEC + замечательные машинки на Ангстремовских процессорах, всё
остальное это ересь и мракобесие (в плане отечественных разработок). Игра про ПИРАТСКИЙ КЛАД - ну вы даёте )))
Даже комментировать не буду это. Ничего выдающегося на Корвете в плане игр нет - всё теже аркады (стандартный набор), а эксклюзивный LODE RUNNER от Маркова - так и остался только для Зеленоградских машинок.

litwr
15.11.2020, 23:27
Ваша реплика - где вы приписываете (причём постоянно) мне слова и утверждения, которых я не делал,
коверкая смысл моих сообщений не цитируя их - в частности из свежатинки ваш пост
где вы искажаете смысл моих слов своей нелепой репликой
И что же вам такому хорошему приписали? рецепт на успокоительное?


И кстати говоря - вы лжец и лицемер - где я писал, что вы вводите в заблуждение именно меня?
Хамите, хамите. Стыдно для уже немолодого человека. Я вам не писал, что это касается только вас. Но вас это тоже касается.


Вас гнать надо с форума, г-н Эйнштейн, но тут "толерантный" Манвэ и даже модераторы помогают,
сочувствуют вам. Пользуйтесь.
Может напишете, чем вам не угодили? Попросил помочь запустить демку, а вы прямо как бык на красную тряпку бросаетесь. :(


По поводу упоминаемого вами ПО - ничего не могу сказать, так как в отличие от вас - предпочитаю говорить
о том, что щупал лично сам, а для воли воображения и построения домыслов есть у меня более интересные темы
И престаньте пустозвонить уже - возьмите и сравните все эти КАЛКИ под обе операционки и всё будет ясно.
Вот вы и пустозвоните! Давайте конкретнее, факты. Нету фирменных калок для PDP-11, нету! Как это до вас довести? Вот это факт. И про бд фирменные для RT-11 не знаю, но может и были какие-то малоизвестные.



Опять же вы путаете масло - маргарином. Нельзя считать тупиковые оси и железо равновесным промышленным и военным стандартам, на которые ориентировались крупнейшие промышленные и военные учреждения по всему миру не 1 десятилетие. Спорить тут не о чем. Есть PDP и DEC + замечательные машинки на Ангстремовских процессорах, всё
DEC PDP-11 оси - это типичные тупиковые оси. Кончились примерно тогда же когда и CP/M. Это не секрет. DEC, конечно, это значительные след в истории, много чего сделали интересного, но как-то застряли в 70-х. И чего тут психовать? Всё проходит.


остальное это ересь и мракобесие (в плане отечественных разработок). Игра про ПИРАТСКИЙ КЛАД - ну вы даёте )))
Даже комментировать не буду это. Ничего выдающегося на Корвете в плане игр нет - всё теже аркады (стандартный набор), а эксклюзивный LODE RUNNER от Маркова - так и остался только для Зеленоградских машинок.
Из-за чего так нервничаем опять? Нормальная игрушка, вполне в адекватная. Пусть и не самая крутая. С отличными корветовскими цветами. Всем кто читал смотрел Остров сокровищ должна нравиться вдвойне. Прямо начинаю думать, что именно вы или ваши знакомые постарались в очень некрасивой истории по саботажу Корвета. :(

hobot
15.11.2020, 23:40
Прямо начинаю думать
хвалю! )
всего наилучшего.

NEO SPECTRUMAN
17.11.2020, 00:24
https://imageup.ru/img87/3676530/e6506686-b140-4464-9de2-f2b5d994d8b9.jpeg
ну вот просто показательная картинка
для товарищей рассказывающих какие у них 80 символов в строке на одном видео выходе :v2_lol:

- - - Добавлено - - -

что примечательно цвета получились прям такие комодорские на фотке

- - - Добавлено - - -

зы: Manwe, как ты так фоткаешь с элт экрана?
на низкой яркосте с большой выдержкой?

MM
17.11.2020, 00:43
80
64.
Непристойные 80 только в БК11М.

hobot
17.11.2020, 01:32
64.
Непристойные 80 только в БК11М.
и УК-НЦ )

NEO SPECTRUMAN
17.11.2020, 01:46
и УК-НЦ )
так укнцо это не бека

а если это бека

то спектрумисты легко могут расчехлить самкоп с 512х192 4с и 256х192 16с из палитры в 128 цветов и сказать что это спектрум пушо это спектрум :)
https://sam.speccy.cz/pics/games/cybernaut.gif

просто АААнимация с поллитрой
https://sam.speccy.cz/pics/demo/samjuggler.gif

- - - Добавлено - - -

наверно просто картинка
https://sam.speccy.cz/pics/art/goblins.png

S_V_B
17.11.2020, 07:32
Ваша реплика - где вы приписываете (причём постоянно) мне слова и утверждения, которых я не делал,
Пример с цитированием, абсолютно пустого, бесполезного "звона" с восхвалением незнама чего:

вау! вот вам СТАРТАП!!! Ретро-дисплей в красивом корпусе и пусть внутрях будет что угодно, главное правильная картинка со всеми "ЭЛЕКТРОНИКАМИ" (включая КЦГД!!! и УК-НЦ конечно же!!!) под корпусом начинку не видать. Учитывая современность комплектующих такой девайс мог бы использоваться и как современный монитор для какого-нибудь ПК на райзене вполне себе )))
IPS-матрица - или TNT-матрица - наверное могло бы быть опцией или параллельной линейкой моделей. Вот вам и отечественное мониторостроение нового времени. Кто наладит производство? Или снова всё поручить китайцам, а каждый себе на коленях будет проводки паять (как у нас обычно вместо красивого товара под ключ!!!) Монитор ЭЛЕКТРОНИКА-УНИВЕРСАЛ (EU-IPS-nnn \ EU-TNT-nnn, где nnn - версия прошивки или чего то там).
И так всегда, так что Хобот не обижайся :)

- - - Добавлено - - -

Да и твой любимый монохром несет гораздо меньше информации и не вызывает диссонанса в мозге, гораздо сложнее сделать цветную картинку не вызывающую отвращения.
Люди не собаки и не навязывай всем сое мнение.

hobot
17.11.2020, 08:24
с восхвалением незнама чего
Моя знама и очень даже знама - это моя реакция на фотографию от Manwe и его ответ (вполне спокойный и внятный) на нее

Под БК 0010 даже уже чертёж есть:
S_V_B может хватит истерить и умерь уже свою агрессию в мой адрес ( воспитатель нашёлся - в очередь!)


Люди не собаки и не навязывай всем сое мнение.
Где и кому я что то навязываю? Хватит приписывать мне "негодяйства" всякие )))



гораздо сложнее сделать цветную картинку не вызывающую отвращения.
так делай, занимайся или снова злой Хобот чем то помешал вашему великому творчеству?


И так всегда, так что Хобот не обижайся
Вот вот. Да какие обиды - ты истеришь, я удивляюсь. И так всегда.
Давай один раз уже договоримся : ты Хороший, а я Хобот, просто Хобот. )

Лишённый воображения человек хуже собаки.


Пример с цитированием, абсолютно пустого, бесполезного "звона"
пример с цитированием моего ответа не вам. Об абсолютности чего либо готов поспорить, бесполезен ваш пост на игровом форуме и последний то же как то не о чём при разборе оказался - сплошная пустопорожняя претензия-эмоция. Мимо.

Прекратить истерику!

S_V_B
17.11.2020, 13:32
Хобот- ты дебил. Собаки тоже видят только монохром. Я хотел с Вами договориться... но увы. "каждому нужно свое".
У меня есть пару вопросов к BlaireCas.. но я их еще думаю.. не хочу выглядеть таким дебилом какими вы есть. сорри..

Manwe
17.11.2020, 13:47
ну вот просто показательная картинка для товарищей рассказывающих какие у них 80 символов в строке на одном видео выходеМне просто было неохота доставать монохромный монитор. В 90-ые моё рабочее место было оборудовано монохромным монитором с опцией "4 градации серого".


зы: Manwe, как ты так фоткаешь с элт экрана? на низкой яркосте с большой выдержкой?Это не я, это iPad Pro. Я не "про" в фотографии, так что не знаю как он это делает :)

- - - Добавлено - - -


Ссылка на тему, где этот код появился - http://forum.6502.org/viewtopic.php?f=1&t=6323А можешь в первом сообщении темы продублировать сводную табличку производительности?
И было бы круто протестировать эту программу на Спектруме.

S_V_B
17.11.2020, 14:56
В итоге я не понял.. что господам нужно. ВАСИК или скорость.... для красоты могли бы подменить фонт... было бы чуднее...

- - - Добавлено - - -


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

Прекратить истерику!

Вопрос, Хобот есть живой человек? Или вас активируют... три... или четыре... БОТА

- - - Добавлено - - -

Для справки.. аски арт...был придуман не для БК и повторить его как на С64 невозможно..... подменить фонт можно... но это уже не аскиарт.

NEO SPECTRUMAN
17.11.2020, 15:18
но это уже не аскиарт.
а на комодах и так не аскиарт
а петскииарт :)
https://en.wikipedia.org/wiki/PETSCII

S_V_B
17.11.2020, 16:23
Согласен

- - - Добавлено - - -


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

Прекратить истерику!
Пустопоржняя эмоция чего???? Людям имеющим мозг... хватило чтобы понять что нужно делать, а не пустозвонить не первый год, что случилось счастье и всем нам будет хорошо :)

hobot
18.11.2020, 01:47
не хочу выглядеть таким дебилом какими вы есть. сорри..
С Хунтой решил в хамстве конкурировать? Кишка тонка ИМХО, но по упёртости шансов много у тебя ) Насчёт собаки - пока только твои посты напоминают лай из будки за забором и злобное рычание ) Команда ФУ! - относится только к тому, когда ваш пёс пытается что то не то кусать (или съесть), а вот отмена "лая и рычания с атакующими манёврами" - это команда НЕЛЬЗЯ! ) Что и сказано в правилах ФОРУМА, между прочим. На всякий случай (вдруг ты не обучен - поскольку воспитания не разглядеть за завесой твоих злобных припадков),
Фу, глупый, фу! )

S_V_B
18.11.2020, 05:59
Кишка тонка ИМХО
Зато у тебя кишка очень толстая, хамишь всем не понимая о чем речь.
Про собак я заметил не про то, что они гавкать умеют, а то что у них зрение монохромное :)
Прокрути форум и посмотри скольким людям ты уже нахамил, я бы не гавкнул если бы ты в очередной раз не начал человека обсерать.
Жалость у него люди вызывают.

Manwe
18.11.2020, 10:20
В итоге я не понял.. что господам нужно. ВАСИК или скорость.... для красоты могли бы подменить фонт... было бы чуднее...Шрифт ведь в ПЗУ, его никак не подменить на БК 0010.
Смысл программы в том, что это тест производительности Бейсик-интерпретатора. Поэтому одну и ту же программу запускают на разных компьютерах и сравнивают результаты.

S_V_B
18.11.2020, 10:44
Шрифт ведь в ПЗУ, его никак не подменить на БК 0010.
Смысл программы в том, что это тест производительности Бейсик-интерпретатора. Поэтому одну и ту же программу запускают на разных компьютерах и сравнивают результаты.
Ок, понятно.
Вы хотите получить разницу в миллисекундах на тормозном Васике.. и в итоге сообщить, что Вася Пупкин из Мухосранска... победил.

Manwe
18.11.2020, 11:30
Ок, понятно. Вы хотите получить разницу в миллисекундах на тормозном Васике.. и в итоге сообщить, что Вася Пупкин из Мухосранска... победил.Это объективный тест.

NEO SPECTRUMAN
18.11.2020, 12:10
Ок, понятно.
Вы хотите получить разницу в миллисекундах на тормозном Васике.. и в итоге сообщить, что Вася Пупкин из Мухосранска... победил.
ну это ж бекашники
они и не такое вытворяют :)

Manwe
18.11.2020, 13:54
Результат ZX Spectrum: 422
Скачать tap: https://t.me/CAFe_Demoparty/78357

Lethargeek
18.11.2020, 19:32
Это объективный тест.
ЧЕГО именно?

- - - Добавлено - - -


Скачать tap: https://t.me/CAFe_Demoparty/78357
не работает как ссылка, переоткрывает то же окно

Manwe
18.11.2020, 23:03
ЧЕГО именно?Скорости исполнения программ на Бейсике.


не работает как ссылка, переоткрывает то же окноНу тогда так, если нет Телеграма: http://manwe.ru/mandelbrot.tap

NEO SPECTRUMAN
19.11.2020, 00:36
если нет Телеграма:
интересно а с какого это ***** должно у всех быть?
понаразводили блдж тут всяких групп поддержки и прочей хрен знает где...

Lethargeek
19.11.2020, 01:35
Скорости исполнения программ на Бейсике.
каких-то программ на каком-то бейсике, с разной выполняемой работой и результатами?


Результат ZX Spectrum: 422
у меня на эмуль-пентагоне 405 - и из них с десяток попугаев это прокрутка

S_V_B
19.11.2020, 14:54
беда... все плохо

- - - Добавлено - - -

Ребята.. начеите с того как это сделать.. люди потянуться..

Manwe
20.11.2020, 01:51
каких-то программ на каком-то бейсике, с разной выполняемой работой и результатами?Одна и та же программа с одинаковым результатом.
Не стоит забывать, что в конце 80-ых встроенный Бейсик был одним из решающих факторов при выборе компьютера: нет Бейсика – нет (или мало) покупателей. И возможности компьютеров в те годы сравнивали в том числе по возможностям встроенного Бейсика. Поэтому производительность Бейсика очень даже полезно замерить – это вполне объективная характеристика, глазами пользователей тех лет.

NEO SPECTRUMAN
20.11.2020, 02:17
это вполне объективная характеристика, глазами пользователей тех лет.
что еще раз доказывает, что бкшники с тех пор никак не продвинулись в развитии
и что хронический синдром уточки имеет место быть

Lethargeek
20.11.2020, 03:09
Одна и та же программа с одинаковым результатом.
где он одинаковый-то? когда даже число строк на выходе не совпало :p

Manwe
20.11.2020, 09:54
где он одинаковый-то? когда даже число строк на выходе не совпало :pну подправь чтобы совпало. Умеешь же на Бейсике писать?

litwr
20.11.2020, 22:24
А можешь в первом сообщении темы продублировать сводную табличку производительности?
И было бы круто протестировать эту программу на Спектруме.
Табличку добавил. Может ещё на днях добавлю туда Дракона.

Lethargeek
21.11.2020, 10:33
ну подправь чтобы совпало
лехко, умножаем height на два для быкашки :v2_dizzy_biggrin2:

litwr
21.11.2020, 13:26
Показатели БК особенно впечатляют, если мы будем учитывать формат используемых вещественных чисел. На БК используется 8 байтовый формат, а на BBC Micro и Amstrad - 5 байтовый. Возможно, если бы Микросы и Амстрады использовали по 8 байт, то БК-бейсик обошёл бы и их.
https://gitlab.com/retroabandon/bascode/-/blob/master/benchmarks.md

Alex_K
21.11.2020, 21:43
10 REM A basic, ascii mandelbrot
11 REM
12 REM this implementation copyright (c) 2019, gordon henderson
13 REM
14 REM permission to use/abuse anywhere for any purpose granted, but
15 REM it comes with no warranty whatsoever. good luck!
16 REM
20 POKE &O500,&O005237
30 POKE &O502,&O000512
40 POKE &O504,&O000261
50 POKE &O506,&O000137
60 POKE &O510,PEEK(&O100)
70 POKE &O100,&O500
170 LET C$ = ".,'~=+:;[/<&?oxOX# "
180 LET SO = 1
190 LET MI = LEN(C$)
200 LET MX = 4
210 LET LS = -2.0
220 LET TP = 1.25
230 LET XS = 2.5
240 LET YS = -2.5
250 LET W = 38
260 LET H = 21
270 LET SX = XS / W
280 LET SY = YS / H
290 POKE &O512,0%
300 FOR Y = 0 TO H
310 LET CY = Y * SY + TP
320 FOR X = 0 TO W
330 LET CX = X * SX + LS
340 LET ZX = 0
350 LET ZY = 0
360 LET CC = SO
370 LET X2 = ZX * ZX
380 LET Y2 = ZY * ZY
390 IF CC > MI THEN GOTO 460
400 IF (X2 + Y2) > MX THEN GOTO 460
410 LET T = X2 - Y2 + CX
420 LET ZY = 2 * ZX * ZY + CY
430 LET ZX = T
440 LET CC = CC + 1
450 GOTO 370
460 PRINT MID$(C$, CC - SO, 1);
470 NEXT
480 PRINT
490 NEXT
500 POKE &O100,PEEK(&O510)
510 PRINT PEEK(&O512)/50
520 END
Запустил на УКНЦ в дисковом ВИЛЬНЮС-БЕЙСИКЕ. Результаты от 46,5 до 47, зависит от того, с чистого экрана надо рисовать или делать скроллинг. По идее надо делить не на 50, а на 50,08, т.к. реально длительность тика таймера не 20 мс, а 19,968 мс.

- - - Добавлено - - -

В режиме 64x48 на УКНЦ примерно 179-180 секунд.

hobot
22.11.2020, 01:19
Запустил на УКНЦ в дисковом ВИЛЬНЮС-БЕЙСИКЕ.
прогнал 1 раз, захотелось сравнить цифры с Alex_K, поправил делитель по его рекомендации на на 50,08
https://pic.maxiol.com/thumbs2/1605997058.787615380.mandelasc.jpg (https://pic.maxiol.com/?v=1605997058.787615380.mandelasc.jpg&dp=2) - режим экрана стандартный (стартовый) для DBAS.SAV.

Alex_K
22.11.2020, 10:07
прогнал 1 раз, захотелось сравнить цифры с @Alex_K, поправил делитель по его рекомендации на на 50,08
Ого! Какой быстрый УКНЦ! Можно сравнить, запуская несколько раз, при прогреве может стать чуть медленнее. Также быстрее будет работать, если перед запуском очистить экран по УПР+L.

hobot
22.11.2020, 15:13
Ого! Какой быстрый УКНЦ! Можно сравнить, запуская несколько раз, при прогреве может стать чуть медленнее. Также быстрее будет работать, если перед запуском очистить экран по УПР+L.
сделал 20+1 проход, делитель 50.08, параметр WIDTH по умолчанию (стартовый для DBAS.SAV), перед каждым прогоном очищался экран (Упр+L):

41.3139 - самый холодный (по времени работы машинки)
41.33387
41.33387
41.33387
41.35383
41.3738
41.53355
41.39377
41.45367
41.4337
41.47364
41.63338
41.59345
41.49361
41.61342
41.71326
41.67332
41.57348
41.57348
41.63338
41.61342 - самый горячий (по времени работы машинки)

Manwe
24.11.2020, 14:31
Ради интереса запустил на Бейсике Nintendo Switch.
Как-то криво считается. Зато быстро :) 0.011 секунды. В документации сказано ( http://smilebasic.com/en/e-manual/manual09/): This product uses double-precision real-type numbers or integers to represent values internally.

https://imageup.ru/img266/3679244/9e95f0ce-3953-422a-883b-b0bb509ef75a.jpeg (https://imageup.ru/img266/3679244/9e95f0ce-3953-422a-883b-b0bb509ef75a.jpeg.html)

https://imageup.ru/img25/3679245/1021a157-dccb-4dc5-8467-f9ac17515c2a.jpeg (https://imageup.ru/img25/3679245/1021a157-dccb-4dc5-8467-f9ac17515c2a.jpeg.html)

NEO SPECTRUMAN
24.11.2020, 14:45
Nintendo Switch.
этим *****м хоть омжно пользоватсо?
а то такое чуства, глядя на девайс, что дезайнеры постарались не подумав о практическом применении
особенно про отстегиваемую часть которая вообще не похожа на нормальный джойстик

Manwe
24.11.2020, 16:00
этим *****м хоть омжно пользоватсо?Ну Спектрумом ты как-то пользовался же. Значит, Nintendo Switch тем более сможешь. Подключил USB-клавиатуру - и вперёд.


а то такое чуства, глядя на девайс, что дезайнеры постарались не подумав о практическом применении особенно про отстегиваемую часть которая вообще не похожа на нормальный джойстикВ портативном режиме всё очень удобно. В стационарном берёшь Pro-контроллер и радуешься, он одним из лучших считается среди всех консолей. Ну или можно собрать два джойкона в один геймпад с помощью специальной вставки, если денег жалко. Я поначалу так играл, и ничего.

NEO SPECTRUMAN
24.11.2020, 16:20
Ну Спектрумом ты как-то пользовался же.
спектрум это клавиатура

а вот геймпад может быть и не удобным и не пригодным к использованию




В стационарном берёшь Pro-контроллер и радуешься
мне больше интересно то что из коробке
например как это ***** пригодно к использованию в качестве 2-х геймпадов
(вроде же как заявленная фича?)
https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Nintendo_Switch_Joy-Con_Controllers.png/508px-Nintendo_Switch_Joy-Con_Controllers.png
тк выглядит просто дико
я думал они вообще симетричные
а щас присмотрелсо оказалось нет...

умя есть мелкий складной геймпад с одним только аналогом
и вощем не очпень это удобная штука
хотя достаточно портативная (мм-тров 50х50х40 в сложенном виде)

Manwe
24.11.2020, 17:09
мне больше интересно то что из коробкеВ коробке такая штука:
https://cdn.vox-cdn.com/thumbor/6IU9xWGcZdHSKN6lOVQ-O5rjrGg=/0x0:1000x600/920x613/filters:focal(393x170:553x330)/cdn.vox-cdn.com/uploads/chorus_image/image/52767753/closer_joycon_grip_front.0.jpg

В неё вставляются съёмные контроллеры и получается вот что:
https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Nintendo_Switch_Joy-Con_Grip_Controller.png/705px-Nintendo_Switch_Joy-Con_Grip_Controller.png

Вполне удобно, я играл на нём месяц до того как мне подарили Pro-контроллер.


я думал они вообще симетричные а щас присмотрелсо оказалось нет...Давно уже у всех консолей несимметричные.

litwr
01.12.2020, 20:40
Ради интереса запустил на Бейсике Nintendo Switch.
Как-то криво считается. Зато быстро :) 0.011 секунды.
Действительно криво, совсем картинка другая получилась. У всех прочих компиков она одинаковая. Возможно в геймерском девайсе FP-математика с ошибками. Или точность очень низкая.

litwr
12.01.2021, 23:13
Добавил информацию по Корвету.

litwr
26.02.2021, 15:11
Добавил данные по TI99-4A, который соревнуется с БК на звание самого первого домашнего 16-битного компика. Бейсик БК в 3.5 раза быстрее. Заодно поразбирался с архитектурой этого конкурента. Очень необычная машинка, жаль, что Коммодор её закрыл. В бейсик у неё встроен компоновщик! Здесь не просто загрузил программу на ассемблере и запустил, а сначала объектный модуль в текстовом формате компонуется и только потом запускается и не по стартовому адресу, а по символьной метке. 16 сочных цветов. Аппаратные спрайты. Можно подключать до 10 дисководов.
С другой стороны. В бейсике работаем с текстом 28х24, хотя реально это 32х24, но система четыре колонки урезает, возможно на некоторых древних телевизорах крайние колонки вылезали за края. На дискету лезет только 90 КБ. Памяти в базовой конфигурации только 256 байт - программы в Бейсике хранятся в 8-битной видеопамяти, которой 16 КБ. Расширение памяти на 32 КБ работает через 8-битную шину, тормознуто. При обращении к видеопамяти прерывания надо отключать, поэтому нормальные показания таймера под бейсиком получить невозможно, пришлось их корректировать. Нет аппаратного скроллинга. Софта сравнительно мало.
Интересно, что TI99/4A закрыли примерно тогда же когда появился первый БК. У них с БК одинаковая тактовая частота. Стандартный бейсик TI позволяет писать только один оператор в строку. На представление вещественного числа отводится 8 байт. У TI-99/4 были проблемы из-за качества клавиатуры.
74805

litwr
27.02.2021, 09:34
то спектрумисты легко могут расчехлить самкоп с 512х192 4с и 256х192 16с из палитры в 128 цветов и сказать что это спектрум пушо это спектрум :)

Картинки явно приглаженные...

vivat
10.06.2021, 23:49
Картинка странная конечно, это самолётик что ли ?
это ее величество мандельбротова муха. =) жопу она себе отъела так что она аж треснула =)
на более других компах погляди на нее - и сам скажешь что это муха.

litwr
29.08.2021, 20:12
Англичане портировали знаменитый BBC Basic под УКНЦ (http://mdfs.net/Software/PDP11/BBCBasic/blog/img34.gif). Решил проверить его на мандельброт. Под UKNCBTL картинка строилась порядка 4 часов. 76036 Вильнюсский бейсик как показали hobot-результаты строит такую же за примерно 40 секунд...
Хотел прогнать этот же тест на БК, но оказалось, что БК11 чем-то не понравился бейсику ВВС - сам бейсик грузится, но файл с программой грузить отказывается, крашится. Кстати, а есть ли дисковый Вильнюс-бейсик для БК11? Тот, который на УКНЦ, не пробовал - почти уверен, что не пойдёт - он даже на RT11 эмуляторе не идёт (https://zx-pk.ru/threads/24755-emulyator-rt-11.html?p=1129088&viewfull=1#post1129088), а там BBC Basic идёт нормально.

Manwe
29.08.2021, 21:53
Есть дисковый Бейсик для БК0011М, можно найти на диске с MKDOS

litwr
30.08.2021, 17:57
Есть дисковый Бейсик для БК0011М, можно найти на диске с MKDOS
Про этот знаю. Вопрос про вильнюсский бейсик для ОС БК11 (RT-11SJ). Складывaется впечатление, что его так нормально под RT-11 и не портировали. А, кстати, он на Союз-Неоне есть? Ещё софт для ДВК надо посмотреть - может только туда его нормально портировали.

Manwe
01.09.2021, 00:12
Про этот знаю. Вопрос про вильнюсский бейсик для ОС БК11 (RT-11SJ). Складывaется впечатление, что его так нормально под RT-11 и не портировали. А, кстати, он на Союз-Неоне есть? Ещё софт для ДВК надо посмотреть - может только туда его нормально портировали.Не видел вообще никакого Бейсика на Союз-Неоне. Было бы интересно, если есть такой. Ещё бы с графикой.

litwr
01.09.2021, 19:55
Добавил данные по первым в мире реально массовым ПК, Tandy TRS-80. Очень примитивный был компик. Без графики, с неистребимым фликером и проц всего на 1.7 МГц. Похоже у нас при разработке своих ПК во многом ориентировались именно на этот Танди: 32/64 символа в строке - как и почти на всех отечественных домашних/школьных ПК. В танди-бейсике как в отечественных нет поддержки таймера - её не добавили даже в старшие модели. Ещё любопытно, что по числу несовсместимых ОС этот компьютер может соревноваться с БК: разных вариантов TRSDOS и CP/M есть более 5.


Не видел вообще никакого Бейсика на Союз-Неоне. Было бы интересно, если есть такой. Ещё бы с графикой.
Это была бы просто невероятная удача найти такой бейсик с графикой.

litwr
04.09.2021, 08:57
Возможно бейсик с ДВК (https://zx-pk.ru/threads/24755-emulyator-rt-11.html?p=1129439&viewfull=1#post1129439) пойдет и на Союз-Неоне. На эмуляторе RT11 он пошел отлично, но на БК не пошёл. :(

BlaireCas
05.09.2021, 12:08
но оказалось, что БК11 чем-то не понравился бейсику ВВС - сам бейсик грузится, но файл с программой грузить отказывается, крашится
У меня нормально работает на эмуляторе БК от gid. Диск с RT-11 называется OSBKPLUM.IMG (думаю можно гуглем найти). Файлы загружаются в BBC бейсик, таймер тоже работает в тесте этом.
Каких-то чудес не произошло и BBC васик (я использовал тот слегка модифицированный для УКНЦ разумеется) показал 410сек на эмуляторе. Частота 4МГц и видимо это нормальный его результат. При поднятии частоты до 8МГц (как у УКНЦ) - тест разгоняется в 2 раза и становится немного быстрее УКНЦ (в районе 205сек).
(а собственно процессоры почти одинаковы, данная реализация бейсика не использует процессорное умножение/деление под УКНЦ, различий особо быть и не должно)

litwr
05.09.2021, 21:03
У меня нормально работает на эмуляторе БК от gid. Диск с RT-11 называется OSBKPLUM.IMG (думаю можно гуглем найти). Файлы загружаются в BBC бейсик, таймер тоже работает в тесте этом.
Каких-то чудес не произошло и BBC васик (я использовал тот слегка модифицированный для УКНЦ разумеется) показал 410сек на эмуляторе. Частота 4МГц и видимо это нормальный его результат. При поднятии частоты до 8МГц (как у УКНЦ) - тест разгоняется в 2 раза и становится немного быстрее УКНЦ (в районе 205сек).
(а собственно процессоры почти одинаковы, данная реализация бейсика не использует процессорное умножение/деление под УКНЦ, различий особо быть и не должно)

Благодарю Вас. На этом образе вроде самый последний вариант RT11, сделанный для БК, и выглядит он лучше других. Действительно бейсик работает, хотя и на других образах диска тоже. Возможно что-то у меня сбилось. Но, в любом случае, без вашей коррекции бейсика запускать его не стоило - работал бы без нее часов более 10. Имеем теперь рабочий BBC Basic для БК0011! Удивительно, как тормузнуто работает ВМ2 на УКНЦ. B теории при правильном подключении должен быть вроде более чем в два раза быстрее, чем ВМ1. Хотя и на ДВК ВМ2 лишь ненамного быстрее, чем на УКНЦ. Видимо это правильное подключение какое-то непрактичное.
Но вильнюсский бейсик с ДВК на БК под RT11 не идет и на OSBKPLUM. :( Получается, что для БК под RT11 вильнюсского бейсика так и нет. :(

Sandro
06.09.2021, 09:29
Про этот знаю. Вопрос про вильнюсский бейсик для ОС БК11 (RT-11SJ). Складывaется впечатление, что его так нормально под RT-11 и не портировали.

А смысл его портировать, если он и так занимает 24 КБ? Программу-то куда девать? А данные?

К тому же, ничего действительно интерактивного на нём не напишешь. Ввод убогий, где структуры данных пользовательского интерфейса хранить -- непонятно. Вот благодаря наличию плавучки считать на нём можно нормально, это да. Чем я в своё время и занимался.
Причины этого понятны -- Бейсик же разрабатывался, как язык начального обучения для программистов на Фортране, отсюда и все его заморочки.
(А Фокал -- так и вовсе урезанный Фортран, хех)

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

litwr
08.09.2021, 11:14
А смысл его портировать, если он и так занимает 24 КБ? Программу-то куда девать? А данные?

На УКНЦ его же прописали, а там памяти если и больше, то на незначительные 4-6 КБ.

litwr
11.09.2021, 11:59
Добавил данные с БК0011М, но пока только с эмулятора. Беда прямо с таймингами на эмуляторах до сих пор! Наверное бэкашники вымрут раньше, чем тайминги наладят. :( Вот данные с 4-х эмуляторов:

1) gid - 219 (199)
2) BK2010 - 174 (174)
3) Elektronika BK (BK-Terak) - 180 (172)
4) Башкирия-2М - 173 (172)

Время в секундах, в скобках - время от секундомера. Разброс большой. Только BK2010 показывает совпадение с секундомерными данными, поэтому данные с этого эмулятора пошли в таблицу. Но не факт, что реальная БК0011М покажет такие же цифры. По данным эмулятора БК0011М почти догнала Amstrad CPC...

Исходники тут (https://gitlab.com/retroabandon/bascode/-/tree/master/electronika-bk).

litwr
13.09.2021, 21:33
А вот снимок экрана с заводской выпуска 1991 года БК0011М
76097
164.66 сек.
Таким образом, эмуляторы несколько медленнее реального железа - возможно не учитывается, что с ПЗУ проц работает быстрее.

dim33
24.09.2023, 00:26
Ну вот с доброй помощью и построился Манделброт на БК. Конвертор (работа со сценариями) встроена в эмулятор GID. К сожалению у этого эмулятора проблема с таймером, поэтому запускать (перенесши bin-образ) пришлось на BK2010. И получилась вот такая картинка.
73926
Обогнали почти всех, даже Коммодор 128 в быстром режиме! Все-таки бейсик 1986 года и неплохие были специалисты в Вильнюсе. Только BBC Micro осталась впереди, но там бейсик изначально делали быстрым. И эти Микро были одними из самых дорогих домашних/учебных ПК. Хотя и недорогой Амстрад тоже обогнал БК - там бейсик 1984 года и тоже один из самых быстрых.

А если все вычисления для БК выполнять в режиме одинарной точности, то скорость вычислений возрастает на ~41% (на реальном железе пока не провярял - только в эмуляторе):

https://pic.maxiol.com/thumbs2/1695503800.1598222443.bk0010emumandelbro.png (https://pic.maxiol.com/?v=1695503800.1598222443.bk0010emumandelbro.png&dp=2)

litwr
24.09.2023, 17:15
А если все вычисления для БК выполнять в режиме одинарной точности, то скорость вычислений возрастает на ~41% (на реальном железе пока не провярял - только в эмуляторе):

https://pic.maxiol.com/thumbs2/1695503800.1598222443.bk0010emumandelbro.png (https://pic.maxiol.com/?v=1695503800.1598222443.bk0010emumandelbro.png&dp=2)

БК опять преподносит сюрпризы. Как известно, у БК все операции идут с двойной точностью и поэтому операции на данных одинарной точности вроде бы должны быть медленнее из-за преобразований типа. Для объяснения возникшего феномена предложу следующие факторы:
1) присваивание возможно происходит без преобразования типа и поэтому быстрее для одинарной точности;
2) само преобразование типа происходит очень быстро;
3) некоторые действия с мантиссами, где много финальных нулей, быстрее, а такие мантиссы должны естественно получаться из коротких мантисс.

gid
25.09.2023, 11:14
Мне тоже стало интересно, и я запустил прогу в эмуляторе, на реальной БК-0010-01 надо придумывать способ, как загрузить прогу через магнитофонный вход, а я об этом вообще не задумывался ещё.
Код из поста #32 (https://zx-pk.ru/threads/32413-mandelbrot-v-ascii-art.html?p=1089283&viewfull=1#post1089283) в конфигурации БК-0010-01 на 3МГц выдал такое значение: 191.82660266666667, при этом счётчик таймера перешагнул через 0 и начал отсчёт заново.
Затем, я заменил все переменные оперирующие целочисленными данными на целочисленные:

100 rem a basic, ascii mandelbrot
110 rem
120 rem this implementation copyright (c) 2019, gordon henderson
130 rem
140 rem permission to use/abuse anywhere for any purpose granted, but
150 rem it comes with no warranty whatsoever. good luck!
160 rem
165 rem bk conversion by litwr, 2020
170 c$ = ".,'~=+:;[/<&?oxOX# "
175 cls
180 so% = 1%
190 mi% = len(c$)
200 mx = 4
210 ls = -2.0
220 tp = 1.25
230 xs = 2.5
240 ys = -2.5
250 w% = 38%
260 h% = 21%
270 sx = xs / w%
280 sy = ys / h%
290 poke &O177712,&O162
300 for y% = 0% to h%
310 cy = y% * sy + tp
320 for x% = 0% to w%
330 cx = x% * sx + ls
340 zx = 0
350 zy = 0
360 cc% = so%
370 x2 = zx * zx
380 y2 = zy * zy
390 if cc% > mi% then goto 460
400 if (x2 + y2) > mx then goto 460
410 t = x2 - y2 + cx
420 zy = 2 * zx * zy + cy
430 zx = t
440 cc% = cc% + 1%
450 goto 370
460 ? mid$(c$, cc% - so%, 1%);
470 next x%
480 print
490 next y%
510 t = peek(&O177710)
512 if t<0 then t=-t else t=65536-t
514 print (t+65536)*64/3000*128/1000
стало чуточку быстрее, незначительно, но счётчик таймера всё равно успел перейти через 0, и выдало вот такой результат:
181.47464533333333
а затем я поменял плавающие переменные на одинарную точность:

100 rem a basic, ascii mandelbrot
110 rem
120 rem this implementation copyright (c) 2019, gordon henderson
130 rem
140 rem permission to use/abuse anywhere for any purpose granted, but
150 rem it comes with no warranty whatsoever. good luck!
160 rem
165 rem bk conversion by litwr, 2020
170 c$ = ".,'~=+:;[/<&?oxOX# "
175 cls
180 so% = 1%
190 mi% = len(c$)
200 mx! = 4!
210 ls! = -2.0!
220 tp! = 1.25!
230 xs! = 2.5!
240 ys! = -2.5!
250 w% = 38%
260 h% = 21%
270 sx! = xs! / w%
280 sy! = ys! / h%
290 poke &O177712,&O162
300 for y% = 0% to h%
310 cy! = y% * sy! + tp!
320 for x% = 0% to w%
330 cx! = x% * sx! + ls!
340 zx! = 0!
350 zy! = 0!
360 cc% = so%
370 x2! = zx! * zx!
380 y2! = zy! * zy!
390 if cc% > mi% then goto 460
400 if (x2! + y2!) > mx! then goto 460
410 t! = x2! - y2! + cx!
420 zy! = 2! * zx! * zy! + cy!
430 zx! = t!
440 cc% = cc% + 1%
450 goto 370
460 ? mid$(c$, cc% - so%, 1%);
470 next x%
480 print
490 next y%
510 t = peek(&O177710)
512 if t<0 then t=-t else t=65536-t
514 print (t+65536)*64/3000*128/1000
Стало прям реально быстро выполняться, программа завершилась раньше, чем счётчик досчитал до нуля, результат получился такой: 305.82101333333333
Скриншотов не даю, потому что я не понимаю смысла выдаваемых результатов. Лучше - больше или меньше?
Да и любой сможет повторить это в эмуляторе.
79551 - архив с бейсиковскими .COD файлами, MAN0.COD - оригинал, MAN1.COD - добавлено целочисленных переменных, MAN2.COD - переменные одинарной точности.

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

Код можно ещё на капелюшечку ускорить, если заменить функцию mid$ на массив символов. Но код становится менее красивым и удобным, а результат - не впечатляет.

100 rem a basic, ascii mandelbrot
110 rem
120 rem this implementation copyright (c) 2019, gordon henderson
130 rem
140 rem permission to use/abuse anywhere for any purpose granted, but
150 rem it comes with no warranty whatsoever. good luck!
160 rem
165 rem bk conversion by litwr, 2020
170 rem c$ = ".,'~=+:;[/<&?oxOX# "
171 data ".", ",", "'", "~", "=", "+", ":", ";", "[", "/", "<", "&", "?", "o", "x", "O", "X", "#", " "
172 mi% = 19%
173 dim c$(mi%)
174 gosub 530
175 cls
180 so% = 1%
200 mx! = 4!
210 ls! = -2.0!
220 tp! = 1.25!
230 xs! = 2.5!
240 ys! = -2.5!
250 w% = 38%
260 h% = 21%
270 sx! = xs! / w%
280 sy! = ys! / h%
290 poke &O177712,&O162
300 for y% = 0% to h%
310 cy! = y% * sy! + tp!
320 for x% = 0% to w%
330 cx! = x% * sx! + ls!
340 zx! = 0!
350 zy! = 0!
360 cc% = 0%
370 x2! = zx! * zx!
380 y2! = zy! * zy!
390 if cc% >= mi% then goto 465
400 if (x2! + y2!) > mx! then goto 465
410 t! = x2! - y2! + cx!
420 zy! = 2! * zx! * zy! + cy!
430 zx! = t!
440 cc% = cc% + 1%
450 goto 370
460 rem ? mid$(c$, cc% - so%, 1%);
465 ? c$(cc%);
470 next x%
480 print
490 next y%
510 t = peek(&O177710)
512 if t<0 then t=-t else t=65536-t
514 print (t+65536)*64/3000*128/1000
520 end
530 restore
540 for i% = 1% to mi%
550 read c$(i%)
560 next i%
570 return

litwr
25.09.2023, 20:58
Мне тоже стало интересно, и я запустил прогу в эмуляторе, на реальной БК-0010-01 надо придумывать способ, как загрузить прогу через магнитофонный вход, а я об этом вообще не задумывался ещё.
Код из поста #32 (https://zx-pk.ru/threads/32413-mandelbrot-v-ascii-art.html?p=1089283&viewfull=1#post1089283) в конфигурации БК-0010-01 на 3МГц выдал такое значение: 191.82660266666667, при этом счётчик таймера перешагнул через 0 и начал отсчёт заново.
Затем, я заменил все переменные оперирующие целочисленными данными на целочисленные:

Надо было брать код из поста #94 (https://zx-pk.ru/threads/32413-mandelbrot-v-ascii-art.html?p=1130250&viewfull=1#post1130250) - там корректные тайминги гарантируются на интервале от 0 до более 6 минут. Всё кроме поков не менялось.

dim33
25.09.2023, 22:07
Надо было брать код из поста #94 (https://zx-pk.ru/threads/32413-mandelbrot-v-ascii-art.html?p=1130250&viewfull=1#post1130250) - там корректные тайминги гарантируются на интервале от 0 до более 6 минут. Всё кроме поков не менялось.

Прогнал три версии программы и получил следующие результаты [эмулятор/реальная БК 0010.01 (Экситон)]:
1) все переменные двойной точности (оригинальная программа) ==> 191.80 / 197.75
2) все одинарной точности ==> 137.48 / 141.52
3) целочисленные+одинарной точности ==> 130.75 / 132.59

Предыдущая оценка ускорения на 41% неверная и базировалась на данных из поста #32 (https://zx-pk.ru/threads/32413-mandelbrot-v-ascii-art.html?p=1089283&viewfull=1#post1089283), в котором время выполнения составило 231.00.

gid
26.09.2023, 08:55
Код можно ещё на капелюшечку ускорить, если заменить функцию mid$ на массив символов.
Оказывается, нет, если взять код из поста #94, становится видно, что mid$ быстрее массива.

3) целочисленные+одинарной точности ==> 130.75 / 132.59
У меня в эмуляторе вышло быстрее, 126.926848
Вы применяли оптимизацию? В БКшном бейсике, команда NEXT <переменная>, выполняется быстрее, чем команда NEXT без переменой, особенно становится это заметно во вложенных циклах.

- - - Добавлено - - -

В БКшном бейсике все арифметические и логические операции делаются через стек. Для плавающих чисел: значение переменной, где бы оно ни было кладётся в стек, если надо - делается преобразование типа, для переменной одинарной точности - это тупо добавление двух нулевых слов к мантиссе в стеке, затем сама операция, с переменными двойной точности, затем, результат из стека помещается по адресу, выделенному для переменной, для переменной одинарной точности - не знаю, делается ли округление, но скорее всего просто берётся первые 2 слова и остальная мантисса отбрасывается.
Для работы с числами двойной точности слишком много накладных расходов на копирование данных туда-сюда, для чисел одинарной точности копировать данных в 2 раза меньше. Поэтому и быстрее с ними получается.

dim33
26.09.2023, 21:04
У меня в эмуляторе вышло быстрее, 126.926848
Вы применяли оптимизацию?

Да, конечно оптимизировал. Я нашёл расхождения в цифрах - в порыве оптимизации объявил переменную MX и константу "2" как целочисленныео, в результате во внутреннем цикле постоянно выполнялось преобразование в числа одинарной точности :)
Скорость в эмуляторе 126.92, на реальной машине - 129.37



В БКшном бейсике, команда NEXT <переменная>, выполняется быстрее, чем команда NEXT без переменой, особенно становится это заметно во вложенных циклах.

NEXT у меня с переменной. Специально проверил скорость для второго случая (команда NEXT без переменой) - расхождение на две сотые секунды.


PS: спасибо за исправление бага со звуком при записи на магнитофон - теперь можно загружать с эмулятора прямо на реальную машину! Правда приходится пропускать сигнал через предусилитель (в колонках), подбирать уровень сигнала и искать оптимальную конфигурацию сигнальных и сетевых проводов :)
Есть ли возможность в следующих версиях эмулятора увеличить уровень выходного сигнала и/или сделать ползунок для его настройки?

gid
27.09.2023, 09:23
Есть ли возможность в следующих версиях эмулятора увеличить уровень выходного сигнала
Алгоритмы не позволяют. На реальной БКшке используется только верхний полупериод амплитуды от 0 до +1. А превращение сигнала в двух полупериодный и нужной амплитуды делался аналоговыми средствами типа магнитофона.
Единственное, что возможно - в опции "Коррекция смещения" возможно увеличить амплитуду в 2 раза до максимума -1..+1. Но нужно ли делать новый ползунок, чтобы можно было корректировать коэффициент усиления, не знаю, тем более, что нужен отдельный ползунок для каждого звукового устройства: пищалки, ковокса, AY, менестреля и куда их впихнуть - неясно. Можно просто дискретно. Включил опцию - получил бонус к громкости, выключил - вернул как было.

dim33
28.09.2023, 20:36
Алгоритмы не позволяют. На реальной БКшке используется только верхний полупериод амплитуды от 0 до +1. А превращение сигнала в двух полупериодный и нужной амплитуды делался аналоговыми средствами типа магнитофона.
Единственное, что возможно - в опции "Коррекция смещения" возможно увеличить амплитуду в 2 раза до максимума -1..+1. Но нужно ли делать новый ползунок, чтобы можно было корректировать коэффициент усиления, не знаю, тем более, что нужен отдельный ползунок для каждого звукового устройства: пищалки, ковокса, AY, менестреля и куда их впихнуть - неясно. Можно просто дискретно. Включил опцию - получил бонус к громкости, выключил - вернул как было.

Я говорил о том, что через эмулятор я могу получить сигнал амплитудой максимум 250 мВ, в то время как при проигрывании wav-файлов (даже непосредственно с сайта) максимальная амплитуда более 2 В и её приходится снижать до 1 В.
Через предусилитель амплитуда сигнала повышается до 1 В и можно загрузить программы непосредственно с эмулятора.

litwr
30.09.2023, 11:32
Есть ли возможность в следующих версиях эмулятора увеличить уровень выходного сигнала и/или сделать ползунок для его настройки?
Можно ещё это (http://thesands.ru/bk0010/wav-converter/) попробывать.

dim33
01.10.2023, 21:26
Можно ещё это (http://thesands.ru/bk0010/wav-converter/) попробывать.

Этот конвертер (http://thesands.ru/bk0010/wav-converter/) я попробовал в первую очередь, после стал разбираться с железом. Когда понял, что дело в программной реализации, то попросил многоуважаемого gid'a внести доработки в эмулятор.

litwr
12.10.2023, 09:28
В теме (https://zx-pk.ru/threads/32791-sravnenie-bystrodejstviya-protsessorov-s-ispolzovaniem-emulyatorov.html?p=1186374&viewfull=1#post1186374) появилась информация о результатах по продвинутому компику Thomson MO6 (6809@1MHz, грaфика с поддержкой нескольких уровней прозрачности, поддержка светового пера на уровне ОС, ...). Пусть и тема не совсем соответствует содержанию поста, но БК почти в ТРИ раза быстрее. Так что по бейсику БК реально быстрее всех.