Введение
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 образ
2.
Первый запуск
При первом запуске KliveIDE вы увидите чистую рабочую область с панелью управления слева и основным окном. Интерфейс интуитивно понятен:
Код:
┌─────────────────────────────────────────────┐
│ Меню │ Панель инструментов │
├─────────────────────────────────────────────┤
│ ╔══════════════════╗ ╔══════════════════╗ │
│ ║ Навигатор проектов║ ║ Основная область ║ │
│ ║ ║ ║ ║ │
│ ╚══════════════════╝ ╚══════════════════╝ │
│ ╔════════════════════════════════════════╗ │
│ ║ Панель состояния ║ │
│ ╚════════════════════════════════════════╝ │
└─────────────────────────────────────────────┘
Обзор интерфейса
Основные элементы интерфейса
- Панель навигации проектов (слева) — показывает структуру вашего проекта
- Редактор кода (центр) — основное рабочее пространство для написания кода
- Панель эмулятора — появляется при запуске эмулятора, показывает состояние выбранного компьютера
- Панель инструментов — содержит кнопки для быстрого доступа к часто используемым функциям
- Командная панель — позволяет выполнять команды CLI прямо в IDE
- Панель отладки — появляется при запуске отладчика, показывает состояние процессора, памяти и точки останова
Настройка интерфейса под себя
KliveIDE поддерживает режим двух мониторов — идеальное решение для разработки! Вы можете разместить редактор кода на одном мониторе, а эмулятор и отладчик — на другом.Как настроить:
- Перетащите панель эмулятора на второй монитор
- Настройте расположение окон через меню Окно → Расположение окон
- Сохраните свою конфигурацию как рабочее пространство
Создание и управление проектами
Структура проекта
Каждый проект в KliveIDE — это обычная папка на диске со следующей структурой:
Код:
my_zx_spectrum_game/
├── src/ # Исходные файлы
│ ├── main.asm # Основной файл на Z80 Assembler
│ └── utils.asm # Вспомогательные процедуры
├── assets/ # Ресурсы (графика, звуки)
│ ├── sprites.bin
│ └── music.tap
├── build/ # Автоматически создаваемые файлы сборки
│ └── output.tap
└── klive-project.json # Конфигурация проекта (автоматически)
Создание нового проекта
- Меню Файл → Новый проект или кнопка + в навигаторе проектов
- Выберите тип проекта:
- Пустой проект — чистая структура папок
- Пример Z80 Assembler — шаблон с базовой структурой программы
- Пример ZX BASIC — шаблон программы на Boriel's Basic
- Укажите имя проекта и расположение
- Нажмите "Создать"
Конфигурация проекта (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"]
}
}
}
Открытие существующих проектов
- Меню Файл → Открыть проект
- Выберите папку с проектом
- 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 | Самые ранние модели |
Запуск эмулятора
Быстрый запуск:- Выберите целевую систему в выпадающем списке на панели инструментов
- Нажмите кнопку
"Запуск" - Эмулятор откроется в отдельной панели
- Обычный режим — эмуляция без отладки
- Режим отладки — с возможностью установки точек останова
- Турбо-режим — ускоренная эмуляция (до 24x)
Конфигурация эмулятора
Настройки эмулятора доступны через меню Эмулятор → Настройки:
Код:
┌─────────────────────────────────────┐
│ Настройки эмулятора │
├─────────────────────────────────────┤
│ □ Автозагрузка при запуске │
│ □ Быстрая загрузка с ленты │
│ ☑ Использовать визуальную клавиатуру│
│ □ Использовать оригинальные ROM │
│ │
│ Скорость эмуляции: │
│ ○ 1x ○ 2x ○ 4x ● 8x ○ 16x │
│ │
│ Громкость звука: ███████░░░ 70% │
│ □ Без звука │
└─────────────────────────────────────┘
Загрузка программ в эмулятор
Поддерживаемые форматы:- Файлы ленты: .tap, .tzx (стандартные для ZX Spectrum)
- Файлы диска: .dsk (для ZX Spectrum +3E)
- Бинарные файлы: .bin, .rom
- Перетаскиванием — перетащите файл в окно эмулятора
- Через меню — Эмулятор → Загрузить файл
- Автоматически — при сборке проекта в 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 ; Использование макроса
Отладка кода
Панель отладчика состоит из нескольких видов:- Вид процессора (CPU View) — регистры, флаги, состояние
- Вид памяти (Memory View) — просмотр и редактирование памяти
- Дизассемблер (Disassembly View) — просмотр дизассемблированного кода
- Просмотр переменных (Variables View) — значения системных переменных
Пауза — приостановить выполнение
Продолжить — продолжить выполнение
Шаг с заходом (Step Into) — выполнить с заходом в процедуры
Шаг с обходом (Step Over) — выполнить процедуру целиком
Шаг с выходом (Step Out) — выйти из текущей процедуры
Точки останова — установить/удалить точку останова
- В редакторе кода щелкните левее номера строки
- Или используйте контекстное меню → "Точка останова"
- Или нажмите F9 на нужной строке
Внешние инструменты
KliveIDE поддерживает интеграцию с внешними ассемблерами через конфигурацию:
JSON:
{
"assembler": {
"type": "external",
"command": "sjasmplus",
"args": ["--lst", "--sym", "${file}", "${file}.bin"],
"debugInfo": true
}
}
Сборка и запуск проектов
Рабочий цикл разработки
- Написание кода в редакторе с подсветкой синтаксиса
- Сборка проекта (Ctrl+B или кнопка "Собрать")
- Автоматическая загрузка в эмулятор
- Тестирование и отладка
- Экспорт результата в формате .tap или .tzx
Компиляция "в один клик"
Уникальная особенность KliveIDE — кнопка "Запустить с отладкой":- Нажмите кнопку

на панели инструментов - 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
Создание собственных шаблонов
- Создайте проект с нужной структурой
- Экспортируйте его через Проект → Экспорт как шаблон
- Укажите имя и описание шаблона
- Шаблон появится в списке при создании нового проекта
Бейсик 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
Функции в разработке
- ZX Spectrum Next — полная поддержка расширенного Spectrum
- Панель наблюдения (Watch Panel) — отслеживание значений переменных в реальном времени
- Условные точки останова — останов при выполнении условия
- Точки останова на память — останов при чтении/записи определенного адреса
Планируемые функции
- Интеграция с другими ассемблерами — SjASMPlus, Pasmo, etc.
- Использование кастомных ROM — загрузка собственных прошивок
- Экспорт на реальные носители — создание кассет и дисков
- Сетевая игра — сетевая эмуляция для многопользовательских игр
- Поддержка ZX 80/81 — ранние модели Sinclair
Советы и рекомендации
Для начинающих
- Начните с ZX BASIC — он проще для понимания
- Используйте визуальную клавиатуру — привыкайте к раскладке Spectrum
- Сначала пишите простые программы — мигание бордюра, вывод текста
- Изучайте примеры — в KliveIDE есть встроенные примеры
Для продвинутых разработчиков
- Используйте режим двух мониторов — код на одном, эмулятор на другом
- Создайте библиотеку макросов для часто используемых операций
- Настройте горячие клавиши под свой рабочий процесс
- Экспортируйте шаблоны для часто создаваемых типов проектов
Отладка сложных проблем
- Используйте точки останова на данные (когда будут реализованы)
- Логируйте в память — записывайте отладочную информацию в специальную область
- Сравнивайте с оригинальным железом — если возможно, тестируйте на реальном Spectrum
- Используйте сообщество — форумы и группы разработчиков ретро-софта
Ресурсы для дальнейшего изучения
Онлайн-ресурсы
- Официальная документация — 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 предоставит вам все необходимые инструменты для реализации ваших идей.
Возрождайте классику, создавая новое!