README.md
This commit is contained in:
parent
90e6151613
commit
1c59b90b7e
79
README.md
79
README.md
@ -1,51 +1,60 @@
|
||||
<br><img src="cropped-logo2.png"/>
|
||||
<img src="cropped-logo2.png" width=360/>
|
||||
|
||||
Gigatron — это компьютер, созданный на основе ТТЛ-схем семейства 7400. Он работает на тактовой частоте 6,25 МГц и спроектирован по гарвардской архитектуре. Это означает, что программный код и данные не имеют одного и того же адресного пространства. Это упрощает схему и требует меньше деталей. Но это также означает, что ни одна программа не может быть выполнена из памяти данных (ОЗУ).
|
||||
|
||||
Gigatron имеет графическое разрешение 160 на 120 пикселей в графическом режиме VGA 640 на 480. Как вы уже можете догадаться по цифрам, это достигается за счет отображения пикселя Gigatron как 4x4 VGA пикселей. Каждая отдельная точка может отображаться в 64 различных цветах. Аудиовыход поддерживает 4-канальный звук, генерируемый программным обеспечением. В базовой конфигурации Gigatron имеет 32 КБ оперативной памяти, из которых для графических данных требуется чуть менее 19 КБ. Однако уже есть расширения памяти до 64 и 128 Кбайт.
|
||||
На первый взгляд это звучит немного парадоксально, поскольку на практике при работе с компьютером программы можно загружать только в память данных (ОЗУ). ПЗУ программы является только считываемой памятью и в него нелегко записать.
|
||||
|
||||
<img src="photos/gigatron_1.jpg"/><br>
|
||||
|
||||
Изобретатели гигатрона
|
||||
Если я правильно вижу (понимаю), Гигатрон был воплощен в жизнь двумя голландцами. Историю и все источники можно найти на https://gigatron.io/, а также ссылку на форум. Снимаю шляпу перед основателями. Сейчас существует большое сообщество Gigatron и несколько участников. На мой взгляд, это один из самых больших успехов изобретателей. Подобных проектов много, но, насколько я понимаю, ни один не достиг такого размаха. И тогда не следует упускать из виду цель. Насколько я понимаю, согласно девизу Стива Возняка, это достижение цели с помощью как можно меньшего количества кругов.
|
||||
Gigatron — это не так давно разработанный компьютер, который по производительности сравним с домашними компьютерами 1970-1980-х годов, но состоит только из схем TTL без центрального микропроцессора, которые уже были доступны в то время. Исключением являются ОЗУ и ПЗУ, но их со временем можно заменить множеством меньших по размеру.
|
||||
|
||||
Gigatron имеет 32 Кбайт оперативной памяти, 4-битный аудиовыход, 4 управляемых светодиода, входной интерфейс для геймпада и выход VGA с разрешением 160х120 пикселей в 64 цветах для каждой точки, это достигается за счет отображения пикселя Gigatron как 4x4 VGA пикселей.
|
||||
|
||||
Источники
|
||||
gigatron.io — сайт Gigatron TTL со всей информацией
|
||||
forum.gigatron.io — форум Gigatron
|
||||
<img src="photos/gig_blockdiagram.jpg"/><br>
|
||||
|
||||
|
||||
|
||||
|
||||
Гигатрон — это компьютер, созданный на основе ТТЛ-схем семейства 7400. Он работает на тактовой частоте 6,25 МГц и спроектирован по гарвардской архитектуре.
|
||||
|
||||
Это означает, что программный код и данные не имеют одного и того же адресного пространства. Это упрощает аппаратное обеспечение и требует меньше схем. Но это также означает, что ни одна программа не может быть выполнена из памяти данных (ОЗУ). На первый взгляд это звучит немного парадоксально, поскольку на практике при работе с компьютером программы можно загружать только в память данных (ОЗУ). ПЗУ программы является только считываемой памятью и в него нелегко записать.
|
||||
|
||||
Теперь мы подходим к возможностям программирования Гигатрона. Во-первых, конечно, есть машинный язык Гигатрона, единственный, который действительно работает на компьютере. На этом языке написана операционная система Gigatron TTL. С одной стороны, он делает доступными все функции компьютера; он генерирует видеовыход, звук и запрос клавиатуры; Это можно причислить к функциям низкого уровня. Он также предоставляет такие инструменты, как загрузчик, который можно использовать для загрузки внешних данных в Gigatron и его запуска. Помимо нескольких примеров программ, которые также доступны в ПЗУ и могут быть выбраны через меню, существуют также программы, которые позволяют выполнять программный код в памяти данных (ОЗУ).
|
||||
|
||||
Во-первых, у нас есть виртуальный ЦП, виртуальный 16-битный ЦП, который интерпретирует программу в оперативной памяти. Это значит, что теперь можно загружать программы в оперативную память и запускать их там. Вторым таким интерпретатором является процессор Virtual 6502. Это означает, что теперь можно выполнить код 6502. Gigatron работает под управлением адаптированной оригинальной операционной системы Apple I и некоторых старых программ 6502, таких как оригинальный MS Basic с арифметикой с плавающей запятой. Если я правильно понял, мы также работаем над виртуальным процессором 8080, чтобы иметь CP/M на Gigatron.
|
||||
|
||||
Для программистов, которые не хотят опускаться на уровень ассемблера, все еще доступны некоторые языки высокого уровня. Целочисленный Бейсик уже включен в ПЗУ. Существуют и другие BASIC.
|
||||
|
||||
Также на ПК имеются инструменты для создания ПО для Гигатрона и эмулятор для тестирования. Существуют различные ассемблеры для виртуальных ЦП и собственного кода. Существует также компилятор BASIC, который переводит программы в машинный код. Также доступен компилятор ANSI C от LCC.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Я хотел бы записать текущий статус Гигатрона в середине декабря 2021 года. (Как я это вижу)
|
||||
Gigatron — это недавно разработанный компьютер, который по производительности сравним с домашними компьютерами 1980-х годов, но состоит только из схем TTL (без ЦП), которые уже были доступны в то время. Исключением являются ОЗУ и ПЗУ, но их со временем можно заменить множеством меньших по размеру.
|
||||
|
||||
|
||||
На первом уровне Gigatron имеет 32 Кбайт оперативной памяти, 4-битный аудиовыход, 4 управляемых светодиода, входной интерфейс для геймпада и выход VGA с разрешением 160х120 пикселей в 64 цветах.
|
||||
Со временем энтузиастами сообщества было разработано несколько расширений для этого компьютера:
|
||||
|
||||
1. Чтобы можно было вводить символы, Gigatron получил интерфейс клавиатуры PS2. Небольшая печатная плата «Pluggy McPlugface», на которой небольшой ATTiny85 преобразует сигналы клавиатуры для игрового порта. Вы также можете добиться того же, используя Arduino Uno (или аналогичный) с соответствующими подключениями. Программное обеспечение также предлагает возможность последовательной передачи данных и программ с ПК на Gigatron через Arduino.
|
||||
|
||||
2. Разработан модуль «Pluggy Reloaded» ( https://forum.gigatron.io/viewtopic.php?f=4&t=169 ). Печатная плата, сочетающая в себе Arduino Pro Micro с разъемом для SD-карты, входом/выходом игрового порта и соединением PS/2. Плата и соответствующее программное обеспечение одновременно поддерживают геймпад и клавиатуру PS/2. Данные можно передавать с ПК через последовательный USB-интерфейс Pro Micro. И последнее, но не менее важное: программы можно загружать с SD-карты.
|
||||
|
||||
2. Далее Norgate разработал «Pluggy Reloaded» ( https://forum.gigatron.io/viewtopic.php?f=4&t=169 ). Печатная плата, сочетающая в себе Arduino Pro Micro с разъемом для SD-карты, входом/выходом игрового порта и соединением PS/2. Плата и соответствующее программное обеспечение одновременно поддерживают геймпад и клавиатуру PS/2. Данные можно передавать с ПК через последовательный USB-интерфейс Pro Micro. И последнее, но не менее важное: программы можно загружать с SD-карты.
|
||||
3. Параллельно с «Pluggy Reloaded» авторы работали над «шиной расширения». Это небольшая плата, заменяющая оперативную память Gigatron. Он предлагает расширение памяти до 128 КБ (с банком в верхних 32 КБ) и четыре интерфейса SPI. К SPI также можно подключить разъем SD-карты, который можно прочитать из lb3361 с помощью нового DEVROM и ОС Gigatron ( https://github.com/lb3361/gigatron-os ). К расширению невозможно подключить более одной SD-карты, возможно, есть проблемы с обработкой MISO некоторых SD-разрывов и подтягивающими резисторами на расширении.
|
||||
|
||||
4. «Видеоповторитель» ( https://forum.gigatron.io/viewtopic.php?f=4&t=303 ). Предыстория этого такова: Gigatron имеет графику размером 160x120 пикселей, которая отображается с разрешением VGA 640x480. Пиксель состоит из 4 строк/столбцов VGA. Поскольку графика создается Gigatron только с помощью программного обеспечения, Gigatron использует большую часть своей вычислительной мощности для структуры экрана. Для одного пикселя всегда рисуются четыре одинаковые линии. Чтобы увеличить время вычислений приложений, отдельные строки в программном обеспечении можно отключить. Значит после загрузки отображаются только 3 строки из 4. Идея «Видеоповторителя» заключается в том, чтобы сохранить первую строку в оперативной памяти FIFO и затем независимо повторить ее три раза. Плата повторителя заменяет выходной регистр (U37) Gigatron.
|
||||
|
||||
3. Параллельно с «Pluggy Reloaded» Марсельк работал над «Шиной расширения». Это небольшая плата, заменяющая оперативную память Gigatron. Он предлагает расширение памяти до 128 КБ (с банком в верхних 32 КБ) и четыре интерфейса SPI. К сожалению, Марсельк больше не смог завершить свою работу. Я успешно протестировал MCP23S17 с этим расширением, которое обеспечивает два 8-битных порта ввода-вывода. К SPI также можно подключить разъем SD-карты, который можно прочитать из lb3361 с помощью нового DEVROM и ОС Gigatron ( https://github.com/lb3361/gigatron-os ). К расширению невозможно подключить более одной SD-карты, возможно, есть проблемы с обработкой MISO некоторых SD-разрывов и подтягивающими резисторами на расширении.
|
||||
5. «Шина расширения» получила дальнейшее развитие ( https://github.com/lb3361/gigatron-lb ). Текущее расширение поддерживает два разъема для SD-карт для прямого подключения, а плата имеет интерфейс расширения, через который можно напрямую подключить, например, ЦАП 74HCT377 или TLC7524. Это позволяет загружаться с SD-карты, а также загружать и запускать программы с SD-карты. 8-битные данные могут выводиться через интерфейс; плата предоставляет два сигнала выбора для 8-битных выходных портов.
|
||||
|
||||
4. На следующем этапе axelb представил свой «Видеоповторитель» ( https://forum.gigatron.io/viewtopic.php?f=4&t=303 ). Предыстория этого такова: Gigatron имеет графику размером 160×120 пикселей, которая отображается с разрешением VGA 640×480. Пиксель состоит из 4 строк/столбцов VGA. Поскольку графика создается Gigatron только с помощью программного обеспечения, Gigatron использует большую часть своей вычислительной мощности для структуры экрана. Для одного пикселя всегда рисуются четыре одинаковые линии. Чтобы увеличить время вычислений приложений, отдельные строки в программном обеспечении можно отключить. Значит после загрузки отображаются только 3 строки из 4. Идея «Видеоповторителя» заключается в том, чтобы сохранить первую строку в оперативной памяти FIFO и затем независимо повторить ее три раза. Плата повторителя заменяет выходной регистр (U37) Gigatron.
|
||||
# Программирование
|
||||
|
||||
Есть ассемблер, который действительно работает на компьютере. На этом языке написана операционная система Gigatron TTL. С одной стороны, он делает доступными все функции компьютера; он генерирует видеовыход, звук и запрос клавиатуры; Это можно причислить к функциям низкого уровня. Он также предоставляет такие инструменты, как загрузчик, который можно использовать для загрузки внешних данных в Gigatron и его запуска. Помимо нескольких примеров программ, которые также доступны в ПЗУ и могут быть выбраны через меню, существуют также программы, которые позволяют выполнять программный код в памяти данных (ОЗУ).
|
||||
|
||||
5. Совсем недавно «Шина расширения» получила дальнейшее развитие от lb3361 ( https://github.com/lb3361/gigatron-lb ). Текущее расширение поддерживает два разъема для SD-карт для прямого подключения, а плата имеет интерфейс расширения, через который можно напрямую подключить, например, ЦАП 74HCT377 или TLC7524. Это позволяет загружаться с SD-карты, а также загружать и запускать программы с SD-карты. 8-битные данные могут выводиться через интерфейс; плата предоставляет два сигнала выбора для 8-битных выходных портов.
|
||||
<img src="photos/Bricks.png" width=320/>
|
||||
<img src="photos/Racer.png" width=320/>
|
||||
<img src="photos/Tetronis.png" width=320/>
|
||||
|
||||
Для программистов, которые не хотят заморачиваться с ассемблером, доступны некоторые языки высокого уровня. Целочисленный BASIC уже включен в ПЗУ. Также имеются другие компиляторы и эмулятор для тестирования. Существуют различные ассемблеры для виртуальных ЦП и собственного кода. Существует также компилятор BASIC, который переводит программы в машинный код.
|
||||
|
||||
Также доступен компилятор ANSI C от LCC, ссылки [на форум](https://forum.gigatron.io/viewtopic.php?t=313) и в [github](https://github.com/lb3361/gigatron-lcc)
|
||||
|
||||
# Эмулятор online
|
||||
|
||||
https://www.gigatron128k.com
|
||||
|
||||
# Изобретатели гигатрона
|
||||
|
||||
Гигатрон был воплощен в жизнь двумя голландцами, Marcel van Kervinck и Walter Belgers. Историю и все источники можно найти на https://gigatron.io
|
||||
|
||||
# Ссылки
|
||||
https://gigatron.io — официальный сайт Gigatron со всей информацией<br>
|
||||
https://forum.gigatron.io — форум Gigatron
|
||||
|
||||
# P.S.
|
||||
|
||||
В сравнении с Apple ][<br>
|
||||
:-)
|
||||
|
||||
<img src="photos/gig_a2.jpg"/><br>
|
||||
|
||||
# P.P.S.
|
||||
Собрал всё в кучу и перевёл: <b>RomanRom2</b><br>
|
||||
30.01.2025
|
||||
|
Loading…
Reference in New Issue
Block a user