Mick, это все хорошо, но есть нескромный вопрос - у тебя логический анализатор есть? И если да, то ты смотрел им свой 777?
Mick, это все хорошо, но есть нескромный вопрос - у тебя логический анализатор есть? И если да, то ты смотрел им свой 777?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Mick, тогда другой вопрос. 777 работает без WAIT при CLK=/RAS или /H0(=/CAS)? Если второе, то я бы не торопился переносить успешные результаты на текущий вариант zx8080
сделал in out вот так
Код:;; in L34A5: CALL L1E99 ; Routine FIND-INT2 puts port address in BC. ; All 16 bits are put on the address line. if io_type = 1 IN A,(C) ; Read the port. ;!!!!!!!!!!!!!!!! endif if io_type = 2 ld a,c ld (zx8080_in_l_port),a ld a,b call zx8080_in endifКод:;; OUT L1E7A: CALL L1E85 ; routine TWO-PARAM fetches values ; to BC and A. if io_type = 1 OUT (C),A ; perform the operation. ; out !!!!!!!!!!!!!!!!!!!!!!!!!!1 RET ; return to STMT-RET. endif if io_type = 2 push af ld a,c ld (zx8080_out_l_port),a ld a,b jp zx8080_out ;pop af ;ret endif
в озу вынесено больше чем надо для совместимости ПЗУ-шки с обычным спектрумом
у которого нет half_row_port-а
и которому нужны out-ы впритык чтоб юзать 16 битные порты
не знаю работает ли правильно out после pop-а
Код:;code in ram zx8080_in out (half_row_port),a zx8080_in_l_port = $+1 : in a,($FE) ret zx8080_out out (half_row_port),a pop af zx8080_out_l_port = $+1 : out ($FE),a ret
то есть halfrow port можно заюзать вообще для чтения\записи в любой 16 битный порт
а не только для одной клавиатуры
Последний раз редактировалось NEO SPECTRUMAN; 23.10.2020 в 14:42.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)