MCPcopy Index your code
hub / github.com/JustAGod1/bevm

github.com/JustAGod1/bevm @v1.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.12 ↗ · + Follow
192 symbols 393 edges 23 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BasePC 2.0

>>>Крутейший видеообзор<<<

Наиболее приближенный к реальности эмулятор БЭВМ сделанный по вот этой книге
Отличается от других реализацией кол-вом полезных фич и близостью к "настоящей" БЭВМ, легковесностью и портированностью под все платформы.

img.png

Установка

Скачивать тут

Архивы и образы для каждой платформы находятся в разделе релизов

Windows

  1. Скачайте архив
  2. Распакуйте полностью
  3. В распакованной папке запустите БЭВМ

MacOS

  1. Скачайте образ
  2. Откройте образ
  3. Переместите BasePC 2.0 в Applications

В случае ошибки с недостатком привилегий для запуска

  1. Откройте терминал
  2. Введите cd /Applications. Затем Enter
  3. Введите xattr -rd com.apple.quarantine "BasePC 2.0.app". Затем Enter.

Это все нужно потому что, я не хочу платить Apple 99 bucks за сертификат.

Linux

  1. Установите пакет sdl2
  2. Скачайте бэвм для линукса
  3. Запустите

Уверен вам линуксоидам больше объяснений не требуется.

Для арчеводов @Iamnotagenius подготовил aur package

Редактирование мнемоники

В этой реализации БЭВМ можно писать не только хексом, но и мнемоникой напрямую. То есть текстом.

img_1.png

Таблицы трасировки

Это уже классика но тем не менее нельзя не упомянуть. В этом эмуляторе БЭВМ конечно же есть возможность автоматического создания таблиц трассировки.

img.png

Поддержка переменных

Имеется поддержка очень простого ASM подобного языка.
Например:

$pos 10
CLA $start
BMI %then
BR %start


$pos 15
ISZ 2 $then
BR %start

Если загрузить это в память ЭВМ получится

img_2.png

Подробнее описано во внутренней справке БЭВМ. Кстати...

Встроенная справка

Все понимают что смотреть в методичку всем лень, потому в этой БЭВМ есть встроенная справка.
Можно посмотреть на справку по отдельной команде:

img_1.png

Или же на все команды в целом:

img_1.png

В окне со справкой есть еще пару отделов и в дополнение к тому практически все компоненты БЭВМ рисуют попап с краткой информацией о них.

Лог

В нижней панели БЭВМ вы можете увидеть лог выполняемых командами действий.

img_1.png

Считаю, очень удобно когда вам нужно понять, что происходит в программе.

Состояние ЭВМ

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

Кнопки отладки придерживаются того же принципа, что и пульт отладки "каноничной" БЭВМ, но при этом сохраняют свою интуитивность.

Extension points exported contracts — how you extend this code

Tool (Interface)
(no doc) [11 implementers]
src/ui/window.rs
MicroCommand (Interface)
(no doc) [3 implementers]
src/parse/mc.rs
Popup (Interface)
(no doc) [2 implementers]
src/ui/popup.rs
CommandInfo (Interface)
(no doc) [2 implementers]
src/parse/mod.rs
Parser (Interface)
(no doc) [2 implementers]
src/parse/mod.rs
GeneralCommand (Interface)
(no doc) [2 implementers]
src/parse/general.rs

Core symbols most depended-on inside this repo

log
called by 35
src/model.rs
register
called by 34
src/parse/general.rs
get
called by 32
src/model.rs
set_bit
called by 32
src/parse/mc.rs
bit_at
called by 27
src/utils/bit_registers.rs
append
called by 25
src/ui/window.rs
open
called by 23
src/ui/gui.rs
range
called by 16
src/parse/mc.rs

Shape

Method 112
Class 36
Function 26
Enum 12
Interface 6

Languages

Rust100%

Modules by API surface

src/parse/mc.rs48 symbols
src/model.rs21 symbols
src/parse/general.rs18 symbols
src/ui/cells.rs15 symbols
src/ui/tracing.rs11 symbols
src/ui/layout.rs11 symbols
src/ui/gui.rs10 symbols
src/ui/window.rs7 symbols
src/ui/popup.rs7 symbols
src/ui/controls.rs6 symbols
src/parse/file.rs6 symbols
src/ui/mod.rs5 symbols

For agents

$ claude mcp add bevm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact