AON
ZXNet echo conference «zxnet.soft»
From Mihail Zharov → To Kirill Frolov 9 February 2001
Hello Kirill!
Friday 09 Feb 2001, at 03:49:40,
Kirill Frolov -> Dmitry Lomov:
DL>> gee. Hey people! who has the sources of the XTR driver (y
DL>> there is me
DL>> only version 1.09, source 2.0 is not preserved (this is where
DL>> there is a tone
KF> I have... It’s more difficult to figure out with it than without it.
After ftn it doesn’t look like the author’s at all... ;)
So, who is it there for?
╒═══< Begin file: aon.asm >════════════
ORG #8000
;NUMBER OF LINE POLLING CYCLES
AN EQU 49
; PREPARATION
АОNL0 LD (АОNSP),SP; You never know...
LD B,0 : LD HL,АWRK1; BUFFER DIGITAL
AONL1 EXX: LD B,AN; HOW MANY ARE THERE?
LD SP,ATSIN; SIHYSYS
; F1(i)=SIN(X)*A(X)
; F2(i)=SIN(X+Pi/2)*A(X)
; FREQUENCY MULTIPLICATION
АОN0 IN А,(#FE)
АND #40 : JP Z,АОN1
AONF0 EQU $+1 : LD HL,0 : POP DE
ADD HL,DE : LD (АОNF0),HL
AONF1 EQU $+1 : LD HL,0 : POP DE
ADD HL,DE : LD (AONF1),HL
AONF2 EQU $+1 : LD HL,0 : POP DE
ADD HL,DE : LD (AONF2),HL
AONF3 EQU $+1 : LD HL,0 : POP DE
ADD HL,DE : LD (AONF3),HL
AONF4 EQU $+1 : LD HL,0 : POP DE
АDD HL,DE : LD (АОNF4),HL
AONF5 EQU $+1 : LD HL,0 : POP DE
ADD HL,DE : LD (AONF5),HL
AON2 DEC B: JP NZ,AON0; 356
; F(i)=MOD(F1(i))^2+MOD(F2(i))^2;FOR EACH OF THE 2 PHASES 6 FREQUENCIES
; THIS WILL BE 6 AMPLITUDES ***
LD B,6: LD H,ATXX/256
AON3 POP DE : LD A,(DE)
JP P,$+5 : NEG
LD L,A : LD C,(HL)
INC DE : LD A,(DE)
JP P,$+5 : NEG
LD L,A : LD A,(HL)
ADD A,C : LD (DE),A
DJNZ AON3
; EXTRACTION FROM 6 AMPLITUDE VALUES ***
; 3 MAXIMUM AND STUFFING THEM
; BY ADDRESS
AON4 LD BC,#0603 : XOR A : LD D,A
AON5 POP HL : CP (HL) : JP NC,AON6
LD A,(HL) : LD D,B
LD (AON7+1),HL
AON6 DJNZ AON5 : POP HL : LD (HL),A
POP HL : DEC D : LD (HL),D
AON7 LD HL,0 : LD (HL),B
DEC C : JP NZ,AON4
; 2 MAXIMUM 1.5 TIMES MORE
; 3rd, OTHERWISE IT'S NOT A SIGNAL, BUT NOISE.
АОN8 LD А,0 : LD С,А
SRL A : ADD A,C
AON9 CP 0: LD A,"?" : JP NC,AON12
; SELECTION FROM THE TABLE BY CODE 2 OF 6
AON10 LD A,0 : ADD A,A : LD C,A
ADD A,A : ADD A,C
AON11 ADD A,0 : LD C,A
LD HL,AT2OF6
ADD HL,BC : LD A,(HL)
EXX
AON12 LD (HL), A: INC HL
DEC B : JP NZ,АОNL1
AONSP EQU $+1 : LD SP,0 : RET
; MULTIPLY BY 0
AON1 LD HL,0 : POP DE
ADD HL,DE : LD (AON7+1),HL
LD HL,0 : POP DE
ADD HL,DE : LD (AON7+1),HL
LD HL,0 : POP DE
ADD HL,DE : LD (AON7+1),HL
LD HL,0 : POP DE
ADD HL,DE : LD (AON7+1),HL
LD HL,0 : POP DE
ADD HL,DE : LD (AON7+1),HL
POP DEADD HL,DE : LD (AON7+1),HL
JP AON2; 356
; CODE TABLE 2 OF 6
AT2OF6 DB 63,63,63,63,63,63
DВ 63,63,63,63,63,63
DB 63,63,63,63,63,63; "?"
DВ 63,63,63,63,63,63
DВ 63,63,63,63,63,63
DВ 63,63,63,63,63,63
; THE ADDRESS WILL BE A MULTIPLE OF 256
DS 256-$256
; TABLE OF SQUARE
ATXX DS 128
; BUFFER FOR NUMBERS
АWRK1 DS 256
; ---=== THERE WILL BE A STACK HERE! ===---
; TABLE OF SYSTEMS FOR 2 PHASES 6 FREQUENCIES
ATSIN DS AN*12
; STACK WHEN SQUARE
ATKOR DW AONF0,AONF1,AONF2
DW AONF3, AONF4, AONF5
; STACK WHEN DETECTING 3 MAXIMUM
DW AONF0+1,AONF1+1,AONF2+1
DW AONF3+1,AONF4+1,AONF5+1
DW АОNF0,АОN10
DW AONF0+1,AONF1+1,AONF2+1
DW AONF3+1,AONF4+1,AONF5+1
DW AON9,AON11
DW AONF0+1,AONF1+1,AONF2+1
DW AONF3+1,AONF4+1,AONF5+1
DW АОN8,АОNF0
╘═══< End file: aon.asm >══════════════
Happy. Michael.