
Сообщение от
goodboy
вот относительно понятный кусок кода для вывода картинки
Примерно так же выводится картинка и в Yazzie.
Пояснения подпрограмм:
Код:
DISSCR=$0041 // Function: Disable Screen Display
// Input: NONE
// Output: NONE
// Registers: AF, BC
// Available: MSX
LDIRVM=$005C // Function: Block Transfer From Memory To VRAM
// Input: HL = Memory Source Address, DE = VRAM Destination Address, BC = Data Length
// All Bits Of VRAM Address Are Valid
// Output: NONE
// Registers: ALL
// Available: MSX =Do Not Call SUB-ROM While Screen Modes 4..8 Are Changed
ENASCR=$0044 // Function: Enable Screen Display
// Input: NONE
// Output: NONE
// Registers: ALL
// Available: MSX
Первым блоком переносятся пиксели (6144 байта), а вторым их цвета (6144 байта). В Yazzie заставка хранится запакованной методом RLE и эти два блока на лету распаковываются и записываются прямой записью в порт #98, а не функцией BIOS, как в примере. Но, перед этим ещё идёт включение нужного режима экрана.