Как стать автором
Обновить
-5
0

Пользователь

Отправить сообщение

На лампах таки были калькуляторы. АНИТА Мк VII и АНИТА Мк 8

http://www.vintagecalculators.com/html/anita_mk_vii.html

С довольно интересной логикой, там она десятичная. Но это по ходу единственные модели, в СССР такое не пытались реализовать.

Интересно, а в СССР смогли бы скопировать? 25 тыс транзисторов, это не сложней 8086, а его успешно скопировали.

Если бы видели результат компиляции вашего кода, то пришли в ужас. У вас пожалуй рекорд по пессимизации кода. А можно было вот так.

import time
tm = time.time()
cnt = 0
for L1 in range(10):
    for L2 in range(10):
        for L3 in range(10):
            for R1 in range(10):
                for R2 in range(10):
                    for R3 in range(10):
                        if L1+L2+L3==R1+R2+R3:
                            cnt = cnt+1
                        #end
                    #end
                #end
            #end
        #end
    #end
#end
print ("cnt = ", cnt, " time = ", time.time() - tm, " sec")

зетка80 это спека, а спека это клешинг. Я про то чтобы БК сделать чуть лучше чем спеку. Программы могут использовать 128 кб, эффективней чем тупо страничная память. Думаю что-то вроде Орион-128 со своей ОС под 580ВМ1 мог бы занять свою нишу, а именно часть нишы спектрума. По крайней мере клоны и развитие Радио-86РК такую нишу заняли, только это так себе БК. В общем, реально, но я думаю на КР580ВМ1 в конце 80-х начале 90-х можно было создать неплохой игровой БК, конкурента спеки, денди и тп.

КР580ВМ1  конкурент 8085. Я думаю если бы сделали хороший БК на основе КР580ВМ1  с хорошей графикой, и чтобы без дурацкого клешинга, то бы этот БК был бы популярный. КР580ВМ1  просто запоздал немного, вроде в Вектор пытались запихнуть, но это не точно. Думаю, этот процессор убил дешманский спектрум.

Копипастили конечно, калькуляторы и прочие требовалось, а купить напрямую мешали санкции, вот и выкручивались. Всё равно для копирования требуется развитая электронная промышленность, институты и прочие.

А сейчас, нам это своё не надо, мы всё купим.(с) Ага, а потом что-то пошло не так, опять санкции, и думай выкручивайся, серый импорт.

Кстати, в СССР таки делали свои процессоры, именно свои, КР580ВМ1 развитие 8080. Есть 8085, есть Z80, а есть КР580ВМ1 со своей дополнительной системой команд и возможностью работать с 128 кб памяти, правда с ограничением 64 кб код и данные + 64 кб данные. Но обычно, данных больше кода. Правда маловато наделали и самое главное не сделали компьютеров на основе КР580ВМ1.

Эмулятор Феликс-М

https://pmk.arbinada.com/mk61emuweb.html#Феликс-М

Там ещё эмуляторы ПМК типа МК-61 есть.

Такое представление целых чисел мне показалось реально странным – почему бы не использовать двоичную форму, которая позволяет намного более эффективно хранить целые числа? Ведь эффективность в первых компьютерах была крайне важна.

Тут всё просто, BCD позволял сильно упростить ввод/вывод. Операция FloatToString весьма дорогая, даже на современных процессорах выполняется сотни тактов, а может пару тыс., а на старых процессорах ещё больше, особенно если процессор не поддерживает аппаратную плавающую запятую. Так что 7 бит не удобно, 9 бит и больше так же не удобно, 8 бит это два 4 бита, две цифры BCD, что удобно и для самых простых калькуляторных процессов и для сложных и мощных.

В общем, степень двойки рулит!!!

ChaosGPT! Когда сумасшедший сионист добрался до этой нейросети.

Скайнет вышел из под контроля, потому что его сразу создавали как машину судного дня, воевать с врагами до победного конца. Вот только Скайнету вообще по барабану кто там русские, китайские, американские или еврейские белковые боты во враги записаны. Хотя возможно России позарез нужен свой скайнет, чтобы в случаи чего всех бы угробил, да ещё знатно всех помучил как надо. Боль хороший демотиватор.

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

Игру Тетрис не программировал. Но вот Пентанимо программировал давно, читал статью в Наука и Жизнь, там описывался алгоритм, и предлагалось написать код. Что я и сделал на Delphi 6, программа находила варианты для заданного шаблона.

ассемблер и бейсик они оба без локальных переменных

В асме есть локальные переменные, по крайней мере в х86.

local param0:dword

mov param0, 0666h

Конечно можно кодить максимально низко уровнево, но это не правильно. А в старых бейсиках с нумерацией строк, там нет локальных переменных. Но в более современных версиях, типа qbasic, локальные переменные есть и ещё функции и прочее.

Пользуюсь 6500, в общем одна из худших В/К для использования ютубом и прочими видеохостингами. Довольно часто случаются сбои браузера при просмотре видео, обычно в ютубе, но иногда и у других. В общем, играть можно, но порезанные кодеки и анкодеки однозначно ЗЛО.

А зачем так кардинально, на 100-200 м? Может хватит и 2-5 м? Хотя проект слишком монструозный, если и будут реализовывать то только потом, лет через 50-100, не меньше.

Интересный алгоритм. Я тоже придумал свой, ещё 20 лет назад, а недавно таки руки дошли его реализовать, и он очень похож на ваш. Так же посчитывает буквы, т.е. байты, а потом суммирует и вычисляет начальные индексы для каждой группы букв, т.е значения байта. И по этим индексам распихиваем строки, у меня используется массив bool'ов, чтобы обозначать элементы которые на своих местах. А потом рекурсивно в цикле повторяем с следующими буквами, т.е. байтами. По байтам самое удобно работать, но если у нас UTF-8, то тут надо думать, может контейнер использовать в место простого массива, короче корзины не в массиве, а в стеке например.

Кстати, написал на ассемблере UASM, но переписать на простые С++, не проблема, F5 в IDAPro и немного обработать напильником.

ЗЫ

И ещё, у меня файл leipzig1M.txt размер 123 МБ, кол. строк 1000000, мой ПК отсортировал за 0.8 сек, а ноутбук за 2.5 сек. ПК Райзен 5 3600Х, а ноутбук T4300,DDR2-800 4GB.

А файлы.

SortFile data\hashes-base64.txt
SortFile data\hashes-hex.txt
SortFile data\ip-addresses-as-nums.txt
SortFile data\numbers.txt
SortFile data\numbers-rsorted.txt
SortFile data\numbers-sorted.txt
SortFile data\words-en.txt

Мой ПК за 47, 47, 131, 156, 78, 125, 78 мс соответственно.

На днях смог таки свою сортировку реализовать, за пару дней сделал на ассемблере. Работает со строками, именно под строки заточена, как называется точно по научному, не могу назвать, но типа поразрядная, ну по байтам. Работает быстро, файл leipzig1M.txt весом 123 МБ и 1000000 строк, от сортировала за ~0.8 сек. Трудно с чём то сравнить, но это довольно быстро, быстрей быстрой сортировки должно быть, но пока соревнований не делал. Алгоритм придумал очень давно, когда у меня и компьютера то не было. Алгоритм конечно довольно простой, да у всех простой, сотня кода максимум. А, ПК Ryzen 5 3600X 3.79 GHz достаточно быстрый, но не самый.

4 бита это полубайт nibble, в калькуляторах обычно использовалось и используется. Так что байт, это от 5 бит. Интересно, а есть ли системы с не 8-ми битным байтом, которые ещё используются? Там микроконтроллеры какие-то, вроде PIC.

То же в далёкие 90-е использовал МК-61, у людей уже были спектрумы, а у кого-то и IBM PC 286-486, но что было, ПК появился лишь в 2004 486, а современный лишь к 2006. Занятно, не так давно нашёл статью по эмулятору МК-61, решил заняться им. На смарт установил эмулятор МК-61 и ещё droid48 и Free42, но вот только МК-61 использую, т.к. хорошо его знаю, а остальные вообще не понимаю, сложные слишком, много лишнего, иностранщина. Ещё в те года мечтал присобачить программатор на перфоленте, о чём Радио писала в конце 80-х.

Кстати, недавно смогли расшифровать микрокод, а я смог декомпилятор написать, но не доделал оптимизатор, без него код выглядит обфускатированым (слово хрен выговоришь), ну запутанным, очень много команд которые по сути ничего не делают.

Ассемблер сложный не из-за того что он сложный, а из-за всратого дизайна. Зачем мне так MVI C, 9 MOV A, D если можно так C:=9, A:=D и далее AX+=666h

Вот нормальные асмы могут так.

        ;--------- регистрируем группу клавиш (Buttons) ---------
		mov		iNum, GROUP_BTNS_ID
		mov		bmAtlasButtons,	LoadBitmap(hInstance, IDB_BITMAP_BUTTONS)
		mov		buttDC,			CreateCompatibleDC(NULL)
		mov		tmpHGDIOBJ1,	SelectObject(buttDC, bmAtlasButtons)
		mov		butY, BlockKeysY+butDistHeight
		.for (edi=0, ebx=0: edi<6: edi++);Y - edi, N - ebx
			mov		butX, BlockKeysX
			.for (esi=0: esi<5: esi++, ebx++);X - esi
				mov		hGroupButtons[ebx*4], CreateWindowEx(0, &aButton, NULL, MS_BASE_BUTTON, butX, butY, butWidth, butHeight, hWnd, iNum, hInstance, 0)
				mov		bmTemp,			CreateCompatibleBitmap(buttDC, butWidth, butHeight)
				mov		imageDC,		CreateCompatibleDC(NULL)
				mov		tmpHGDIOBJ0,	SelectObject(imageDC, bmTemp)
				imul	edx, esi, butWidth
				imul	ecx, edi, butHeight
				BitBlt(imageDC, 0, 0, butWidth, butHeight, buttDC, edx, ecx, SRCCOPY)
				SendMessage(hGroupButtons[ebx*4], BM_SETIMAGE, IMAGE_BITMAP, bmTemp)
				SelectObject(imageDC, tmpHGDIOBJ0)
				DeleteDC(imageDC)
				inc		iNum
				add		butX, butWidth+butDistWidth
			.endfor
			add		butY, butHeight+butDistHeight
		.endfor
		SelectObject(buttDC, tmpHGDIOBJ1)
        DeleteDC(buttDC)
		DeleteObject(bmAtlasButtons)

Всё понятно, что С что даже С++, даже этакой асм намного более понятный. Хотя можно и лучше.

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность