klive-ide-intro.png


📖 Введение​

KliveIDE — это не просто очередной эмулятор для ретрокомпьютеров. Это полноценная интегрированная среда разработки (IDE), созданная для современных разработчиков, которые хотят программировать для классических компьютеров на базе процессора Z80. Если вы когда-либо мечтали создавать игры или приложения для ZX Spectrum, Cambridge Z88 или других легендарных машин 80-х годов, но вас останавливала сложность настройки инструментов — KliveIDE создан именно для вас.

🎯 Ключевые особенности​

  • Кроссплатформенность: работает на Windows и macOS
  • Полный цикл разработки: от написания кода до отладки и запуска
  • Поддержка нескольких языков: Z80 Assembly и ZX BASIC
  • Интегрированный отладчик: с точками останова и пошаговым выполнением
  • Удобный интерфейс: поддержка двух мониторов

🛠️ Установка и первый запуск​

1. 📥 Загрузка и установка​

Посетите официальный сайт https://dotneteer.github.io/kliveide/ и загрузите установщик для вашей операционной системы:

  • Windows: .exe установщик
  • macOS: .dmg образ
Установка стандартная: на Windows запустите exe-файл и следуйте инструкциям установщика, на macOS перетащите приложение в папку "Программы".

2. 🎬 Первый запуск​

При первом запуске KliveIDE вы увидите чистую рабочую область с панелью управления слева и основным окном. Интерфейс интуитивно понятен:
Код:
┌─────────────────────────────────────────────┐
│  Меню │ Панель инструментов                 │
├─────────────────────────────────────────────┤
│  ╔══════════════════╗  ╔══════════════════╗ │
│  ║ Навигатор проектов║ ║ Основная область ║ │
│  ║                  ║  ║                  ║ │
│  ╚══════════════════╝  ╚══════════════════╝ │
│  ╔════════════════════════════════════════╗ │
│  ║          Панель состояния              ║ │
│  ╚════════════════════════════════════════╝ │
└─────────────────────────────────────────────┘

🖥️ Обзор интерфейса​

🎛️ Основные элементы интерфейса​

  1. Панель навигации проектов (слева) — показывает структуру вашего проекта
  2. Редактор кода (центр) — основное рабочее пространство для написания кода
  3. Панель эмулятора — появляется при запуске эмулятора, показывает состояние выбранного компьютера
  4. Панель инструментов — содержит кнопки для быстрого доступа к часто используемым функциям
  5. Командная панель — позволяет выполнять команды CLI прямо в IDE
  6. Панель отладки — появляется при запуске отладчика, показывает состояние процессора, памяти и точки останова

🖱️ Настройка интерфейса под себя​

KliveIDE поддерживает режим двух мониторов — идеальное решение для разработки! Вы можете разместить редактор кода на одном мониторе, а эмулятор и отладчик — на другом.

Как настроить:

  1. Перетащите панель эмулятора на второй монитор
  2. Настройте расположение окон через меню Окно → Расположение окон
  3. Сохраните свою конфигурацию как рабочее пространство

🏗️ Создание и управление проектами​

📂 Структура проекта​

Каждый проект в KliveIDE — это обычная папка на диске со следующей структурой:
Код:
my_zx_spectrum_game/
├── src/                    # Исходные файлы
│   ├── main.asm           # Основной файл на Z80 Assembler
│   └── utils.asm          # Вспомогательные процедуры
├── assets/                 # Ресурсы (графика, звуки)
│   ├── sprites.bin
│   └── music.tap
├── build/                  # Автоматически создаваемые файлы сборки
│   └── output.tap
└── klive-project.json     # Конфигурация проекта (автоматически)

🆕 Создание нового проекта​

  1. Меню Файл → Новый проект или кнопка + в навигаторе проектов
  2. Выберите тип проекта:
    • Пустой проект — чистая структура папок
    • Пример Z80 Assembler — шаблон с базовой структурой программы
    • Пример ZX BASIC — шаблон программы на Boriel's Basic
  3. Укажите имя проекта и расположение
  4. Нажмите "Создать"

🔧 Конфигурация проекта (klive-project.json)​

После создания проекта автоматически генерируется файл конфигурации:
JSON:
{
  "name": "Моя первая игра для ZX Spectrum",
  "version": "1.0.0",
  "type": "assembly", // "assembly" или "basic"
  "mainFile": "src/main.asm",
  "target": {
    "machine": "zx-spectrum-48k",
    "output": {
      "format": "tap",
      "fileName": "build/game.tap"
    }
  },
  "assembler": {
    "type": "klive",
    "options": {
      "caseSensitive": false,
      "includePaths": ["src", "lib"]
    }
  }
}

📁 Открытие существующих проектов​

  1. Меню Файл → Открыть проект
  2. Выберите папку с проектом
  3. KliveIDE автоматически распознает структуру проекта

💻 Поддерживаемые языки программирования​

1. 🎛️ Z80 Assembler (встроенный ассемблер Klive)​

Особенности:

  • Полная поддержка набора команд Z80
  • Современный синтаксис с директивами ассемблера
  • Отладка на уровне исходного кода
  • Подсветка синтаксиса в реальном времени
Пример простой программы:
Assembler Z80:
; =============================================
; Простая программа для ZX Spectrum 48K
; Мигает бордюром и издает звук
; =============================================

        org 32768           ; Начальный адрес программы

start:
        ld a, 0             ; Черный цвет
        out (254), a        ; Установить цвет бордюра
      
        call beep           ; Издать звук
      
        ld a, 7             ; Белый цвет
        out (254), a        ; Сменить цвет бордюра
      
        jr start            ; Бесконечный цикл

beep:
        ld hl, 500          ; Частота
        ld de, 100          ; Длительность
        call 949            ; Вызов ROM-процедуры
        ret

; Точка входа для BASIC
        end start

2. 📝 ZX BASIC (Boriel's Basic)​

Особенности:

  • Совместим с Sinclair BASIC, но с расширенными возможностями
  • Поддержка современных структур программирования
  • Компиляция в машинный код (не интерпретация)
  • Полная интеграция с IDE
Пример программы:
Бейсик ZX:
' =============================================
' Пример программы на ZX BASIC
' Рисует случайные линии на экране
' =============================================

BORDER 0     : ' Черный бордюр
PAPER 0      : ' Черный фон
INK 7        : ' Белые чернила
CLS          : ' Очистить экран

DIM x1, y1, x2, y2 AS UINTEGER

DO
    ' Генерация случайных координат
    x1 = INT(RND * 256)
    y1 = INT(RND * 192)
    x2 = INT(RND * 256)
    y2 = INT(RND * 192)
  
    ' Выбор случайного цвета
    INK INT(RND * 8)
  
    ' Рисование линии
    DRAW x1, y1, x2, y2
  
    ' Небольшая задержка
    PAUSE 10
  
    ' Выход по нажатию любой клавиши
LOOP UNTIL INKEY$ <> ""

🎮 Работа с эмуляторами​

🖥️ Поддерживаемые системы​

СистемаСостояниеОсобенности
ZX Spectrum 48K✅ Полная поддержкаБазовая модель, 16Кб RAM
ZX Spectrum 128K✅ Полная поддержка+2A/+3A совместимость, AY-звук
ZX Spectrum +2E/+3E✅ Полная поддержкаДисковод, дополнительные порты
Cambridge Z88✅ Полная поддержкаПортативный компьютер
ZX Spectrum Next🔄 В разработкеРасширенный ZX Spectrum
ZX 80/81📅 ПланируетсяСамые ранние модели

🚀 Запуск эмулятора​

Быстрый запуск:

  1. Выберите целевую систему в выпадающем списке на панели инструментов
  2. Нажмите кнопку ▶️ "Запуск"
  3. Эмулятор откроется в отдельной панели
Доступные режимы запуска:

  • Обычный режим — эмуляция без отладки
  • Режим отладки — с возможностью установки точек останова
  • Турбо-режим — ускоренная эмуляция (до 24x)

⚙️ Конфигурация эмулятора​

Настройки эмулятора доступны через меню Эмулятор → Настройки:

Код:
┌─────────────────────────────────────┐
│        Настройки эмулятора          │
├─────────────────────────────────────┤
│  □ Автозагрузка при запуске         │
│  □ Быстрая загрузка с ленты         │
│  ☑ Использовать визуальную клавиатуру│
│  □ Использовать оригинальные ROM    │
│                                     │
│  Скорость эмуляции:                 │
│  ○ 1x   ○ 2x   ○ 4x   ● 8x   ○ 16x  │
│                                     │
│  Громкость звука:  ███████░░░ 70%   │
│  □ Без звука                        │
└─────────────────────────────────────┘

💾 Загрузка программ в эмулятор​

Поддерживаемые форматы:

  • Файлы ленты: .tap, .tzx (стандартные для ZX Spectrum)
  • Файлы диска: .dsk (для ZX Spectrum +3E)
  • Бинарные файлы: .bin, .rom
Способы загрузки:

  1. Перетаскиванием — перетащите файл в окно эмулятора
  2. Через меню — Эмулятор → Загрузить файл
  3. Автоматически — при сборке проекта в KliveIDE

🔧 Инструменты разработки​

🧩 Встроенный ассемблер Klive​

Преимущества:
  • Оптимизирован для разработки под Z80
  • Быстрая компиляция
  • Генерация отладочной информации
  • Поддержка макросов и директив условной компиляции
Директивы ассемблера:
Assembler Z80:
; Пример использования директив
        include "graphics.asm"   ; Включить файл
        define DEBUG 1           ; Определить константу
      
        if DEBUG > 0
            call show_debug_info
        endif
      
        macro WAIT frames        ; Определение макроса
            ld b,\frames
.loop:      halt
            djnz .loop
        endm
      
        WAIT 50                  ; Использование макроса

🐛 Отладка кода​

Панель отладчика состоит из нескольких видов:

  1. Вид процессора (CPU View) — регистры, флаги, состояние
  2. Вид памяти (Memory View) — просмотр и редактирование памяти
  3. Дизассемблер (Disassembly View) — просмотр дизассемблированного кода
  4. Просмотр переменных (Variables View) — значения системных переменных
Основные команды отладки:

  • ⏸️ Пауза — приостановить выполнение
  • ▶️ Продолжить — продолжить выполнение
  • 👣 Шаг с заходом (Step Into) — выполнить с заходом в процедуры
  • 👞 Шаг с обходом (Step Over) — выполнить процедуру целиком
  • 🏃 Шаг с выходом (Step Out) — выйти из текущей процедуры
  • 🔴 Точки останова — установить/удалить точку останова
Установка точек останова:

  1. В редакторе кода щелкните левее номера строки
  2. Или используйте контекстное меню → "Точка останова"
  3. Или нажмите F9 на нужной строке

🔌 Внешние инструменты​

KliveIDE поддерживает интеграцию с внешними ассемблерами через конфигурацию:
JSON:
{
  "assembler": {
    "type": "external",
    "command": "sjasmplus",
    "args": ["--lst", "--sym", "${file}", "${file}.bin"],
    "debugInfo": true
  }
}

🎯 Сборка и запуск проектов​

🔄 Рабочий цикл разработки​

  1. Написание кода в редакторе с подсветкой синтаксиса
  2. Сборка проекта (Ctrl+B или кнопка "Собрать")
  3. Автоматическая загрузка в эмулятор
  4. Тестирование и отладка
  5. Экспорт результата в формате .tap или .tzx

🚀 Компиляция "в один клик"​

Уникальная особенность KliveIDE — кнопка "Запустить с отладкой":

  1. Нажмите кнопку 🐛▶️ на панели инструментов
  2. KliveIDE автоматически:
    • Скомпилирует ваш код
    • Загрузит его в эмулятор
    • Установит точку останова на начало программы
    • Запустит отладчик

💾 Экспорт результатов​

Доступные форматы экспорта:

  • TAP-файл — для загрузки с ленты
  • TZX-файл — расширенный формат ленты
  • Бинарный файл + загрузчик BASIC
  • Проекция на реальную ленту (планируется)
Экспорт через меню: Проект → Экспорт → [Выберите формат]


🧩 Расширенные возможности​

⌨️ Визуальная клавиатура​

Для ZX Spectrum 48K/128K доступна точная копия оригинальной клавиатуры:
Код:
┌─────────────────────────────────────────────┐
│  [CS][Z][X][C][V]  [A][S][D][F][G]          │
│  [SS][Q][W][E][R]  [1][2][3][4][5]          │
│  [SPACE][SYM][M][N][B]  [6][7][8][9][0]     │
│  [ENTER][L][K][J][H]  [P][O][I][U][Y]       │
│  [T]                                        │
└─────────────────────────────────────────────┘

Управление:

  • Щелчок мышью — нажатие клавиши
  • Shift+щелчок — символы верхнего регистра
  • Правый щелчок — функциональные клавиши (Caps Shift, Symbol Shift)

🔊 Управление звуком​

  • Регулировка громкости — ползунок в настройках эмулятора
  • Включение/выключение звука
  • Запись звука в WAV-файл (планируется)

⚡ Турбо-режим эмуляции​

Ускорение эмуляции полезно для:

  • Быстрого тестирования длинных процедур
  • Пропуска заставок в играх
  • Ускорения компиляции и загрузки
Внимание: В турбо-режиме может нарушаться синхронизация со звуком!


📋 Шаблоны проектов (Project Templates)​

🎨 Встроенные шаблоны​

KliveIDE включает несколько готовых шаблонов:

1. Базовый шаблон для начала разработки:​

Assembler Z80:
        org 32768
        ; Ваш код здесь
        ret

2. Игра на Z80 Assembler
Шаблон с базовой структурой игры:
Assembler Z80:
        org 32768
      
        ; Инициализация
        call init_game
      
.game_loop
        ; Обработка ввода
        call read_input
      
        ; Обновление состояния игры
        call update_game
      
        ; Отрисовка
        call draw_screen
      
        ; Задержка
        halt
      
        jr .game_loop

3. Приложение на ZX BASIC

Шаблон для создания приложений на BASIC:
Бейсик ZX:
' Настройка экрана
BORDER 0
PAPER 0
INK 7
CLS

' Главное меню
PRINT AT 10,10; "Мое приложение"
PRINT AT 12,10; "1. Старт"
PRINT AT 13,10; "2. Настройки"
PRINT AT 14,10; "3. Выход"

' Основной цикл
DO
    LET k$ = INKEY$
    IF k$ = "1" THEN
        GOSUB start_game
    ELSE IF k$ = "2" THEN
        GOSUB show_settings
    ELSE IF k$ = "3" THEN
        STOP
    END IF
LOOP

🗂️ Создание собственных шаблонов​

  1. Создайте проект с нужной структурой
  2. Экспортируйте его через Проект → Экспорт как шаблон
  3. Укажите имя и описание шаблона
  4. Шаблон появится в списке при создании нового проекта
Структура файла шаблона:
Бейсик ZX:
' Настройка экрана
BORDER 0
PAPER 0
INK 7
CLS

' Главное меню
PRINT AT 10,10; "Мое приложение"
PRINT AT 12,10; "1. Старт"
PRINT AT 13,10; "2. Настройки"
PRINT AT 14,10; "3. Выход"

' Основной цикл
DO
    LET k$ = INKEY$
    IF k$ = "1" THEN
        GOSUB start_game
    ELSE IF k$ = "2" THEN
        GOSUB show_settings
    ELSE IF k$ = "3" THEN
        STOP
    END IF
LOOP

🔮 Планы развития KliveIDE​

🚧 Функции в разработке​

  1. ZX Spectrum Next — полная поддержка расширенного Spectrum
  2. Панель наблюдения (Watch Panel) — отслеживание значений переменных в реальном времени
  3. Условные точки останова — останов при выполнении условия
  4. Точки останова на память — останов при чтении/записи определенного адреса

📅 Планируемые функции​

  1. Интеграция с другими ассемблерами — SjASMPlus, Pasmo, etc.
  2. Использование кастомных ROM — загрузка собственных прошивок
  3. Экспорт на реальные носители — создание кассет и дисков
  4. Сетевая игра — сетевая эмуляция для многопользовательских игр
  5. Поддержка ZX 80/81 — ранние модели Sinclair

💡 Советы и рекомендации​

🎯 Для начинающих​

  1. Начните с ZX BASIC — он проще для понимания
  2. Используйте визуальную клавиатуру — привыкайте к раскладке Spectrum
  3. Сначала пишите простые программы — мигание бордюра, вывод текста
  4. Изучайте примеры — в KliveIDE есть встроенные примеры

⚡ Для продвинутых разработчиков​

  1. Используйте режим двух мониторов — код на одном, эмулятор на другом
  2. Создайте библиотеку макросов для часто используемых операций
  3. Настройте горячие клавиши под свой рабочий процесс
  4. Экспортируйте шаблоны для часто создаваемых типов проектов

🐛 Отладка сложных проблем​

  1. Используйте точки останова на данные (когда будут реализованы)
  2. Логируйте в память — записывайте отладочную информацию в специальную область
  3. Сравнивайте с оригинальным железом — если возможно, тестируйте на реальном Spectrum
  4. Используйте сообщество — форумы и группы разработчиков ретро-софта

📚 Ресурсы для дальнейшего изучения​

🌐 Онлайн-ресурсы​

  • Официальная документацияhttps://dotneteer.github.io/kliveide/
  • ZX Spectrum ROM Disassembly — полный дизассемблинг ПЗУ
  • World of Spectrum — крупнейший архив программ и документации

📖 Книги и руководства​

  • "Программирование ZX Spectrum" (оригинальные руководства Sinclair)
  • "Mastering Z80 Assembly" (современные учебники)
  • "Boriel's Basic Manual" (документация по ZX BASIC)

👥 Сообщества​

  • ZX Spectrum Developers на Facebook и Discord
  • Группы в Telegram по разработке для ретро-компьютеров

🎉 Заключение​

KliveIDE представляет собой идеальный мост между современными инструментами разработки и классическими компьютерами на Z80. С его помощью вы можете:

✅ Быстро начать — без сложной настройки инструментов
✅ Эффективно разрабатывать — с современным отладчиком и редактором
✅ Глубоко отлаживать — с пошаговым выполнением и точками останова
✅ Легко экспортировать — готовые файлы для реального железа

Это инструмент, который уважает прошлое, но использует технологии настоящего. Независимо от того, являетесь ли вы ветераном разработки для ZX Spectrum или только начинаете свой путь в мире ретро-программирования, KliveIDE предоставит вам все необходимые инструменты для реализации ваших идей.

Возрождайте классику, создавая новое! 🚀