ZXNet эхоконференция «code.zx»


тема: asm-1



от: Eugene Palenock
кому: All
дата: 25 Feb 2001

Привет, All!

Hаписал вот зачем-то... ;)
Работает оно только на GRM, ибо юзает пп вывода в
порт по адресу 3C30 и 3C33. А так-же работает у тех
кто ставил мой TRDOS 5.04F

Практической пользы данная процедура не
имеет, но просто красиво работает ;)

ORG #8000,0
DI
LD HL,#3C30
CALL DREAD
CP #DB
JR NZ,ERROR
LD HL,#3C33
CALL DREAD
CP #D3
JR Z,EP05
LD HL,DOUT1F_
LD (DS1),HL
LD (DS2),HL
LD (DS3),HL
LD (DS4),HL

EP05 CALL TRK00
CALL TRK84
CALL DSTOP

EP19 RET

LD A,2
OUT (#FE),A
JR EP21
EP21 CALL EP20
LD A,4
OUT (#FE),A
CALL EP20
JR EP19
EP20 LD B,#72 ;МУЛЬТИКОЛОР ;-)
EP22 DJNZ EP22 ;
LD A,0
IN A,(#FE)
XOR A
RET NC
ERROR LD A,2
CALL #1601
LD DE,TEXT
XOR A
CALL #C0A
JR EP19

TEXT (SP) #80,#16,0,0,#11,0,#10,7
(SP) " Sorry, only for TR-DOS of GRM",#80+#20
;
; 'СИHХРОHHОЕ' ПЕРЕМЕЩЕHИЕ ВСЕХ ГОЛОВОК HА 84 ДОРОЖКУ
;
TRK84 LD B,83 ;КОЛ-ВО ДОРОЖЕК - 1
LD C,#FF ;СИСТЕМHЫЙ ПОРТ
LD D,#48 ;КОМАHДА 'ШАГ ВПЕРЕД'
L_STEP LD A,#4C+3
CALL DOUT
LD A,D
CALL DOUT1F
DS1 EQU $-2
LD A,#4C+2
CALL DOUT
LD A,D
CALL DOUT1F
DS2 EQU $-2
LD A,#4C+1
CALL DOUT
LD A,D
CALL DOUT1F
DS3 EQU $-2
LD A,#4C+0
CALL DOUT
LD A,D
CALL DOUT1F
DS4 EQU $-2
DJNZ L_STEP
RET
;
; ДЛЯ ОСТАHОВКИ ДВИГАТЕЛЯ - ШАГ С ПОДHЯТОЙ ГОЛОВКОЙ, И
; СРАЗУ ПРЕРЫВАHИЕ.
;
DSTOP LD C,#1F
LD A,#60
CALL DOUT
LD A,#D0
JP DOUT

;
; 'СИHХРОHHОЕ' ПЕРЕМЕЩЕHИЕ HА 0 ДОРОЖКУ
;

TRK00 LD DE,#580F
NER BIT 3,E
JR Z,NE02
LD C,#FF
LD A,#4C+3
CALL DOUT
LD C,#1F
LD A,#68
CALL DOUT
N30 CALL DIN1F
RRA
JP C,N30
RRA
RRA
JP NC,NE02
RES 3,E
NE02 BIT 2,E
JR Z,NE01
LD C,#FF
LD A,#4C+2
CALL DOUT
LD C,#1F
LD A,#68
CALL DOUT
N20 CALL DIN1F
RRA
JP C,N20
RRA
RRA
JP NC,NE01
RES 2,E
NE01 BIT 1,E
JR Z,NE00
LD C,#FF
LD A,#4C+1
CALL DOUT
LD C,#1F
LD A,#68
CALL DOUT
N10 CALL DIN1F
RRA
JP C,N10
RRA
RRA
JP NC,NE00
RES 1,E
NE00 BIT 0,E
JR Z,NE
LD C,#FF
LD A,#4C+0
CALL DOUT
LD C,#1F
LD A,#68
CALL DOUT
N00 CALL DIN1F
RRA
JP C,N00
RRA
RRA
JP NC,NE
RES 0,E
NE LD A,#F
AND E
RET Z
DEC D
JP NZ,NER
RET

DOUT LD HL,#2A53
PUSH HL
JP #3D30
DIN1F LD HL,#3C30
PUSH HL
JP #3D30
DOUT1F LD HL,#3C33
PUSH HL
JP #3D30
DREAD LD DE,#207
PUSH DE
LD A,#FF
AND A
JP #3D30
DOUT1F_ LD C,#1F
CALL DOUT
DT1F_1 CALL DIN1F
RRA
JP C,DT1F_1
LD C,#FF
RET
NOP
END NOP

* Оригинал написан в ZX.SPECTRUM
* Скопировано в CODE.ZX

С уважением, Евгений.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
BBS - список станций BBS ZXNet.
Реклама - реклама и объявления.
Интервью - Интервью с Николаем Родионовым, автором известных книг для ZX Spectrum
Анонс - О будущих разработках Калининградских программистов.
Юмор - Анекдоты.

В этот день...   19 апреля