Platform Krokha
suborb edited this page Jan 30, 2021
·
1 revision
- К580ВМ80А@ 2Mhz
- 2k RAM including 1.5k VRAM
- 48x32 character mapped display
- Native console output
- Native console input
- ANSI vt100 engine
- Generic console
- Redefinable font
- UDG support
- Paper colour
- Ink colour
- Inverse attribute
- Bold attribute
- Underline attribute
- Lores graphics
- Hires graphics
- PSG sound
- One bit sound
- Inkey driver
- Hardware joystick
- File I/O
- Interrupts
- RS232
zcc +krokha world.c -create-app
This will create a rom file suitable for loading into mame.
The rom file generated by z88dk needs to be copied in place of bios.bin in the Mame romset. To load a tape, press return and then hit play on the tape
This machine is incredibly tight for memory usage, it has just 2k of RAM and the screen VRAM takes up 1.5k of that. This leaves just 512 bytes for stack and program data.
The default CRT reduces size of various things, but more can be saved by:
- Compile with -pragma-define:CRT_ENABLE_STDIO=0 this will prevent usage of printf/fgetc(),
but alternatives are available in
<conio.h>
-cprintf()
andgetch()
- Mark static data as const
- Some information (including default character set): http://alemorf.ru/comps/kroha/index.html
- Some more information: https://zx-pk.ru/threads/26306-igrovaya-pristavka-quot-krokha-quot.html
- Overview
- Platform List
- Unsupported Platforms
- i8080/5 Support
- Homebrew hardware quickstart
- Retargetting
- Building the libraries
- Clang support
- Pragmas
- Adding to Classic
- Introduction
- Library Configuration
- CRT
- Header Files
- Assembly Language
- Library in Depth
- Embedded Platform
- Adding to NewLib
- Benchmarks
- Datatypes
- Debugging
- Decompression
- More than 64k
- Deficiencies
- Compiling Larger Applications
- Importing routines written in 8080 assembly mnemonics
- Using CP/M libraries in REL format with z88dk
- Writing optimal code
- Speeding up Compilation
- CMake usage