Войти
ФлеймФорумЖелезо

Блеск и нищета 8/16-битных консолей и ПК (119 стр)

Страницы: 1118 119 120 121 122 Следующая »
#1770
(Правка: 4:46) 3:42, 14 июля 2022

KPG
> но странно стековый код VM под неё делают, а вот "Форт" подобный язык и как
> сделанный в Gigatron в репозотриях Github нет. :)

Да руки наверное у кого то не дошли. Хотя если он действительно популярный курс в институтах, то это странновато. Возможно популярность завышена в рекламных материалах.

А вообще интересно попытаться понять как реализовать на Hack, операции со стеком (как их собственной виртуальной машины так и форта).
Допустим указатель на вершину стека у нас хранится в ячейке памяти (переменной) с номером/именем STACK.
Тогда чтобы поместить в стек константу надо сделать так:

// загружаем в D 16-битную константу
@const // A = const
D=A // опционально здесь D=!A если нужно из 15-битной величины сделать 16-битную
// Сохраняем её в новую вершину стека
@STACK // нацеливаем A на стек
A=M-1 // в A адрес новой вершины A=MEM[A]-1
M=D // сохраняем D в стек
// теперь нужно сохранить в STACK новую вершину
D=A // запоминаем в D адрес новой вершины
@STACK // нацеливем A на переменную стека
M=D // сохраняем в неё адрес новой вершины

Итого push const16 обходится нам в 8 инструкций/слов или 16 байт кода.
Плотность кода просто никакущая - с Gigatron им еще соревноваться надо кто из них хуже по плотности и скорости несмотря на то, что Hack 16-битная машина.
Во что превратится сложение двух величин на вершине с замещением их результатом даже думать лень. :)
Конечно они пошли по такому же пути по какому пошли в Gigatron - раз аппаратный код получается столь разряженным и трудным, то сделаем промежуточное что-то чтобы мозги сразу же не опухали. Подозреваю, что чтобы повысить плотность кода применён тот же трюк что и в Gigatron - виртуальная машина интерпретирующая код прям в рантайме чтобы этот код был поплотнее.
Всё-таки мой Simpleton4 при том, что тоже обладает не идеально плотным кодом, но такие штуки делает практически оптимально - push const16 за два слова, а сложение вершин вообще за одно. :)

#1771
(Правка: 22:04) 22:04, 15 июля 2022

TRS-80 Color Computer: Radio Shack's $399 Micro from 1980!

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1772
(Правка: 2:00) 1:55, 16 июля 2022

Интересно, что в этом компьютере как и в некоторых других использован процессор 6809

Среди значительных усовершенствований, появившихся в процессоре 6809, были два 8-разрядных аккумулятора (A и B, которые могли объединяться в один 16-разрядный регистр D), два 16-разрядных индексных регистра (X и Y) и два 16-разрядных указателя стека (U и S). Индексные регистры и регистры указателя стека позволяли использовать разнообразные методы адресации.

Форт, похоже, неплохо реализовывался на этом процессоре
Здесь кто то Форт реализовал на компьютер с векторной графикой Vectrex

P.S. В моделях ПК TRS-80 использовался ещё Z80

Видеоконтроллер TRS-80 поддерживал текстовый режим с 16 строками по 64 или 32 символа на строку, и графический режим низкого разрешения 128×48 пикселей. Цвет не поддерживался. Видеопамять была отдельной и имела объём 1024×7 бит. Младшие 6 бит определяли код ASCII-символа, либо выводились на экран непосредственно, в сетке 2×3 блока. Старший бит использовался для переключения между текстовым и графическим режимами[2]. В более поздних моделях, например TRS-80 Color Computer, появился «полуграфический» режим, в котором графика низкого разрешения имитировалась с помощью специального набора символов.

#1773
(Правка: 14:54) 14:46, 16 июля 2022

Эксперимент с использованием Linux на макетной плате с процессором Motorola 68000 (23.11.2014)

Энтузиасты решили вспомнить опыт 80-х годов по сборке простейших компьютеров из подручных средств на базе процессора Motorola 68000, способных обеспечить работу интерпретатора BASIC. Основное требование к современному варианту подобного компьютера заключалось в возможности запустить полноценный Linux. Для воплощения идеи была использована макетная плата, позволяющая компоновать элементы в форме конструктора без пайки.

На сборку было потрачено три недели, в ходе которых пришлось столкнуться с многими непредвиденными проблемами, от индуктивности кнопочных переключателей до утечек памяти в стандартной библиотеке C. В системе использован процессор Motorola 68008 (2 MHz) с восьмибитной шиной данных, 512Кб ОЗУ, 512Кб Flash, для организации взаимодействия с другим компьютером был применён модуль FT245 USB-to-FIFO. В дальнейшем планируется продолжить эксперимент, применив процессор Motorola 68000 с 16-разрядной шиной данных, что позволит установить больше памяти. Кроме того, планируется добавить поддержку Ethernet и SD-карт, а также обеспечить вывод на монитор, вместо управления через консоль, подключенную к последовательному порту.

Вместо прошивки с BASIC была использована специально подготовленная сборка Linux, в которой частично были задействованы наработки проекта mc68k, занимающегося адаптацией библиотеки uClinux и сопутствующего инструментария для работы на процессороах Motorola 68000. В качестве ядра Linux был использован выпуск 2.0.39. Размер ядра составил 251K, а корневой ФС - 189K. В процессе работы для статических данных ядра потребовалось 84K ОЗУ, динамических – 104K, на RAM-диск ушло 64K, на shell и процесс инициализации - 58K.

https://www.bigmessowires.com/68-katy/

ИзображениеИзображение

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

68 Katy: 2 MHz vs 12 MHz

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1774
(Правка: 13:48) 13:47, 17 июля 2022

KPG
> Интересно, что в этом компьютере как и в некоторых других использован процессор 6809

Я его описывал подробнее в статье-сравнении старых процессоров "самых популярных линеек" в статье про семейство Motorola/MOS: https://gamedev.ru/flame/forum/?id=226622&page=15&m=4690199#m211
Это Motorola реально испугалась конкурента в виде MOS 6502 от ушедших из неё же разработчиков и попыталась сделать что-то значительно лучше и приятнее для программирования.
Но выхватить флаг первенства из ручек MOS он уже не смог и наверное это печально.

...
Процессоры 8–битного семейства Motorolola/MOS/WDC оставили огромный след в истории компьютерной техники. Когда то этот род доминировал среди цифровых папоротников и электрических хвощей, деля большую часть ниши с конкурентами из Intel/Zilog. Однако, как и в случае с Zilog, род этот со временем вымер и сейчас существует только в виде разнообразных микроконтроллеров до боли похожих архитектур (например STMicroelectronics STM8), да реликтовых ископаемых на полках компьютерных ретрогиков.
Когда в своё время Motorola захотела уже сделать 16–битный процессор следующего поколения она разработала... 32–битный микропроцессор Motorola 68000 (m68k), который, несмотря на нумерацию, ничего общего не имел с вышеописанным семейством, обладал огромной кучей 32–битных регистров повышенной ортогональности и 16–битным назывался в первых ревизиях только из–за 16–битного ALU, выполняющего прозрачно для программиста 32–битные операции в несколько действий.
Motorola 68000 применялся, например, в качестве центрального процессора в 16–битной консоли Sega Mega Drive, компьютерах Apple Macintosh, Atari ST и многих других, но это уже совсем другая история.

#1775
(Правка: 7:49) 7:48, 18 июля 2022

KPG
> В дальнейшем планируется продолжить эксперимент, применив процессор Motorola
> 68000 с 16-разрядной шиной данных, что позволит установить больше памяти. Кроме

А как разрядность шины данных связана с количеством памяти? Она пропускную способность дает, а объем памяти дает разрядность шины адреса. Тем более в моторолле даже на 8битной шине разрядность адреса 24 бита что по запасу все равно больше чем упомянутые 512k,+512кб аж в 16 раз.

Журналиста насиловал журналист опять?

#1776
7:56, 18 июля 2022

Asdpoi
> А как разрядность шины данных связана с количеством памяти?

Никак, просто у m68008 зарезаны адресные линии до 1 или 4Мб адресов, а у оригинального m68000 этих линий на 16Мб.

#1777
8:02, 18 июля 2022

=A=L=X=

Хм, действительно.

#1778
22:30, 24 июля 2022

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1779
10:08, 25 июля 2022

0iStalker

А в этот самый ложиксим есть фронтенды для синтеза верилога и вхдл?

А то чет схемографикой все рисовать ну такое.

#1780
13:01, 25 июля 2022

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1781
17:00, 25 июля 2022

Asdpoi
> А то чет схемографикой все рисовать ну такое.
Шутитe?

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1782
(Правка: 17:08) 17:05, 25 июля 2022

Alikberov
> Asdpoi
> > А то чет схемографикой все рисовать ну такое.
> Шутитe?
>

Пзц задротство.  Оч круто конеш, но на верилоге наверное как то приятнее.

> VHDL components (components behavior can be specified in VHDL!),


О, ну так совершенно другое дело!

Все, вот теперь годнота. Нужно качат.

#1783
22:04, 25 июля 2022

Asdpoi
> > VHDL components (components behavior can be specified in VHDL!),

Это какой-то форк логисима, а не оригинальный проект

#1784
(Правка: 22:08) 22:00, 31 июля 2022
+ 1987
+ JS-Класс для декомпрессии исходного файла
Страницы: 1118 119 120 121 122 Следующая »
ФлеймФорумЖелезо