128 -> 48 — ZXNet «code.zx»

128 -> 48

ZXNet echo conference «code.zx»



from: Станислав Ломакин
to: All
date: 3 March 2006
Hello, All напомните, плз, как из 128 режима переключиться в 48 (полноценный, с закрытым 7ffd), так, чтобы безболезненно вернуться после этого в васик. от лысого out(7ffdH),30H васик обижается :(

from: Владимир Кладов
to: All
date: 3 March 2006
Hello, boo_boo randomize usr 0 ?

from: Станислав Ломакин
to: All
date: 3 March 2006
Hello, Vladimir Kladov Vla> randomize usr 0 Vla> ? кхем.. :rolleyes: не, аналог команды васика-128 "spectrum", не прерывающий выполнение программы. OUT(7ffd),#30 прекрасно все переключает, но стоит сделать RET, как настают кранты -- тк на стеке адрес в ПЗУ-0 :(

from: Константин Жуков
to: All
date: 3 March 2006
Hello, boo_boo В своём буте я делаю так для перехода в режим 48 с открытым портом: LD SP,(23613) LD HL,#1303 EX (SP),HL LD HL,#1B7D PUSH HL Дальше тебе нужно добавить лишь out. В литературе также еще рекомендуется переключать каналы на работу с ZX-принтером, но думаю тебе это не понадобится.

from: Wladimir Bulchukey
to: All
date: 3 March 2006
Hello, Jukov Переключение из 128К в 48К "на ходу": CALL сюда-> DI LD SP,(23613) POP HL LD HL,4867 ; ERR_SP FOR 48-BASIC PUSH HL LD HL,7030 ; CONTINUE INTERPRETATOR 48-BASIC PUSH HL RES 4,(IY+1); сброс флага 128К LD DE,5566 ; INFORMATION FOR STREAMS LD HL,(23631) ; CHANS LD BC,15 ADD HL,BC EX DE,HL ; DE=ADDR.FOR STREAMS/CHANNELS, HL=5556 LD C,4 ; BC=4 FOR LDIR LDIR EI RET ; после возврата из этой подпрограммы будет 48К режим с открытым портом #7FFD. ; Если нужно закрыть порт, запишите в него нужный байт по возвращении ; из подпрограммы. Вызов этой подпрограммы не опасен, поэтому специальной проверки на 128К не требуется.

from: Станислав Ломакин
to: All
date: 4 March 2006
Hello, Wlodek оно самое, спасибо :)