vinxru, у микроши динамик висит на таймере, и к INTE не привязан.
vinxru, у микроши динамик висит на таймере, и к INTE не привязан.
.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А зачем тебе это нужно? Если ты пишешь программу работающую в псевдографике, то ты явно будешь выводить графику не ESC последвательностями, а напрямую записью в видеопамять.
Курсор устанавливается через порт быстро и просто.
Все поголовно работают с видеопамятью и железом напрямую. Иначе бы программы Апогея, Микроши, РК86 были бы совместимые. Программ работающих через ПЗУ всего десяток.
гениально, а если мне понадобиться вывести текст?
конечно, одну строчку можно и прицелиться, но когда их больше одной?
да, если стоит вопрос только запхнуть байты в порты. но говорят (наверное врут) что иногда надо соотносить позицию курсора с адресом в видео ОЗУ. и говорят (наверное опять врут) что для этого надо провести некоторые математические действия.
если под словом "железо" понимать клаву и таймер то да.
пограмм которые напрямую работают с ВГ75 и ВТ57 единицы.
.
Вот тебе программа для Микроши включающая псевдографический режим 128x62, причем этот режим использует меньше ОЗУ, чем оригинальный 128x50
Код:; Пример псевдографического режима ; (с) 17-04-2012 vinxru ; Используется компилятор sjasm device zxspectrum48 hdr: db 0,4 dw 0 start: ; Ждем обратный ход ld hl, 0D001h ; для Апогея 0EF01h ld a, (hl) ; Обязательно пару команд! wait1: ld a, (hl) and 20h jp z, wait1 ; Вырубаем видео ld hl, 0D001h ; для Апогея 0EF01h ld (hl), 0 ; Заполняем видеопамять (из за байта F1 это надо делать пока видео выключено) ld bc, data ld hl, 76D0h ; для Апогея 0E1D0h copy: ld a, (bc) cp 0FFh jp z, endCopy ld (hl), a inc bc inc hl jp copy endCopy: ; Устаналиваем режим и врубаем видео ld hl, 0D000h ; для Апогея 0EF00h ld (hl), 04Dh ; 78 символов ld (hl), 36 ; 37 линий ld (hl), 7 ; Высота символа 8 ld (hl), 083h ; Врубаем видео inc l ld (hl), 27h ; Висим jp $ data: db 0,0F1h,0,0F1h,0,0F1h db 0,0,0,0,0,0,0,0,0, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0F1h ; 0 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 1 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 2 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 3 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 4 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 5 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 6 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 7 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 8 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 9 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 10 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 11 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 12 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 13 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 14 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 15 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 16 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 17 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 18 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 19 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 20 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 21 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 22 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 23 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 24 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 25 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 26 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 27 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 28 db 0,0,0,0,0,0,0,0,0, 5,'12345678901234567890123456789012345678901234567890123456789012',5,0F1h ; 29 db 0,0,0,0,0,0,0,0,0, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0F1h ; 0 db 0,0F1h,0,0F1h,0,0F1h dataEnd: DUP 78*30 - (dataEnd-data) db 0 EDUP db 0FFh end: savebin "test.rkm",hdr,end-hdr
Последний раз редактировалось vinxru; 17.04.2012 в 14:20.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)