mirror of
https://github.com/Tolik-Trek/WAV-Player.git
synced 2026-06-15 09:01:35 +03:00
исправлено несколько багов с некорректной работой плейлиста.
исправлен баг с шумом при переключении треков плейлиста.
This commit is contained in:
parent
02c469a77c
commit
0c69e84a29
@ -1 +1 @@
|
|||||||
Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a
|
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1
|
||||||
176
WAVPLAY.ASM
176
WAVPLAY.ASM
@ -2,38 +2,36 @@
|
|||||||
DEFINE WAVPLunknown 1
|
DEFINE WAVPLunknown 1
|
||||||
DEFINE SoundBugFix 1
|
DEFINE SoundBugFix 1
|
||||||
|
|
||||||
DEFINE FULL_VERSION "2.01"
|
DEFINE FULL_VERSION "2.02"
|
||||||
|
|
||||||
SH_HDD_X EQU 223 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
SH_HDD_X EQU 223 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
||||||
SH_HDD_Y EQU 90 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD ¢¥àâ.
|
SH_HDD_Y EQU 90 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD ¢¥àâ.
|
||||||
|
|
||||||
|
|
||||||
MACRO NEXT_SEC
|
MACRO NEXT_SEC
|
||||||
LD BC,P_S_NUM-256
|
LD BC,IDE.Read.Sector
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
INC A
|
INC A
|
||||||
; LD BC,P_S_NUM
|
|
||||||
INC B
|
INC B
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
JR NZ,.NO_NEXT
|
JR NZ,.NO_NEXT
|
||||||
|
;
|
||||||
LD BC,P_C_LOW-256
|
DEC B
|
||||||
IN E,(C)
|
INC C
|
||||||
LD BC,P_C_HIG-256
|
IN E,(C) ;IDE.Read.CylinderLow
|
||||||
IN D,(C)
|
INC C
|
||||||
|
IN D,(C) ;IDE.Read.CylinderHigh
|
||||||
|
;
|
||||||
INC DE
|
INC DE
|
||||||
LD BC,P_C_LOW
|
INC B
|
||||||
OUT (C),E
|
OUT (C),D ;IDE.Write.CylinderHigh
|
||||||
LD BC,P_C_HIG
|
DEC C
|
||||||
OUT (C),D
|
OUT (C),E ;IDE.Write.CylinderLow
|
||||||
|
|
||||||
.NO_NEXT:
|
.NO_NEXT:
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
MACRO WAIT_HDD
|
MACRO WAIT_HDD
|
||||||
.LOCS1:
|
.LOCS1:
|
||||||
; LD BC,P_HDST
|
|
||||||
IN E,(C)
|
IN E,(C)
|
||||||
BIT 7,E
|
BIT 7,E
|
||||||
JR NZ,.LOCS1
|
JR NZ,.LOCS1
|
||||||
@ -49,14 +47,13 @@ SH_HDD_Y EQU 90 ;
|
|||||||
;************************************
|
;************************************
|
||||||
EXE_HEADER:
|
EXE_HEADER:
|
||||||
BYTE 'EXE'
|
BYTE 'EXE'
|
||||||
BYTE 0 ; MY VERSION
|
BYTE 1 ; MY VERSION
|
||||||
DWORD EXE_HEADER.Size ; START CODE IN FILE
|
DWORD EXE_HEADER.Size ; START CODE IN FILE
|
||||||
WORD Loader_length ; LEN START LOAD DATA
|
WORD Loader_length ; LEN START LOAD DATA
|
||||||
WORD 0,0,0 ; RESERV
|
WORD 0,0,0 ; RESERV
|
||||||
WORD START ; ADRESS IN MEM
|
WORD START ; ADRESS IN MEM
|
||||||
WORD START ; START ADRESS
|
WORD START ; START ADRESS
|
||||||
WORD #BFFE ; STACK ADRESS
|
WORD #C000 ; STACK ADRESS
|
||||||
;DS 490
|
|
||||||
.Size EQU $-EXE_HEADER
|
.Size EQU $-EXE_HEADER
|
||||||
|
|
||||||
START: PUSH IX
|
START: PUSH IX
|
||||||
@ -280,12 +277,13 @@ NO_FACE:
|
|||||||
EI
|
EI
|
||||||
|
|
||||||
FACE_OK:
|
FACE_OK:
|
||||||
|
LD HL,EXIT_ALL.norm_exit
|
||||||
POP HL ; ¢á¯®¬¨âì ª®¬ ¤ãî áâபã
|
EX (SP),HL ; ¢á¯®¬¨âì ª®¬ ¤ãî áâபã
|
||||||
|
;POP HL ; ¢á¯®¬¨âì ª®¬ ¤ãî áâபã
|
||||||
INC HL
|
INC HL
|
||||||
INC HL
|
INC HL
|
||||||
|
|
||||||
LD (SAV_SP),SP
|
LD (SAV_SP),SP
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
|
||||||
|
|
||||||
IF SoundBugFix
|
IF SoundBugFix
|
||||||
@ -296,7 +294,7 @@ PLAY_ALL:
|
|||||||
CALL TEST_SWITCH
|
CALL TEST_SWITCH
|
||||||
|
|
||||||
IF SoundBugFix
|
IF SoundBugFix
|
||||||
LD A,CBL.BUFFER_PAGE
|
LD A,SP_SND.CBL.BUFFER_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@ -495,7 +493,7 @@ NEXT_2:
|
|||||||
LD DE,9000
|
LD DE,9000
|
||||||
CALL Test_DIAP
|
CALL Test_DIAP
|
||||||
LD A,8 ; 8khz
|
LD A,8 ; 8khz
|
||||||
JR Z,NEXT_3\
|
JR Z,NEXT_3
|
||||||
|
|
||||||
LD HL,10000
|
LD HL,10000
|
||||||
LD DE,12000
|
LD DE,12000
|
||||||
@ -569,7 +567,7 @@ DATA_1:
|
|||||||
LDIR ; COPY LEN of DATA
|
LDIR ; COPY LEN of DATA
|
||||||
|
|
||||||
IF SoundBugFix
|
IF SoundBugFix
|
||||||
XOR A
|
LD A,(D_FILL)
|
||||||
LD B,L
|
LD B,L
|
||||||
.loop: DEC HL
|
.loop: DEC HL
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
@ -579,26 +577,25 @@ DATA_1:
|
|||||||
LD (SAV_PAGE3),A
|
LD (SAV_PAGE3),A
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
;LD A,CBL.BUFFER_PAGE ; ᯥæ-áâà ¨æ !
|
;LD A,SP_SND.CBL.BUFFER_PAGE ; ᯥæ-áâà ¨æ !
|
||||||
;LD (PLAY_PAGE),A
|
;LD (PLAY_PAGE),A
|
||||||
|
|
||||||
;*********************************************
|
;*********************************************
|
||||||
|
|
||||||
LD A,CBL.BUFFER_PAGE
|
LD A,SP_SND.CBL.BUFFER_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,16 ; ç¨á«® ᥪâ®à®¢ - ¯à¨§ ª ª®æ ¤ ëå
|
LD A,16 ; ç¨á«® ᥪâ®à®¢ - ¯à¨§ ª ª®æ ¤ ëå
|
||||||
LD (NUM_SEC+1),A
|
LD (NUM_SEC+1),A
|
||||||
|
|
||||||
LD HL,#C000
|
LD HL,#C100
|
||||||
;
|
CALL READ_FILE_X1 ;!FIXIT
|
||||||
CALL READ_FILE_X1
|
|
||||||
|
|
||||||
LD A,0
|
LD A,0
|
||||||
LD BC,CBL.SYS_PORT
|
LD BC,SP_SND.CBL.SYS_PORT
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
LD BC,CBL.OUT
|
LD BC,SP_SND.CBL.OUT
|
||||||
LD A,#80
|
LD A,#80
|
||||||
FILL_L0:
|
FILL_L0:
|
||||||
OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
||||||
@ -607,31 +604,31 @@ FILL_L0:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
LD HL,0A000h ; CLEAR PAGE_IM2
|
LD HL,#A000 ; CLEAR PAGE_IM2
|
||||||
LD DE,0A001h
|
LD DE,#A001
|
||||||
LD BC,100h
|
LD BC,#100
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
|
|
||||||
DI
|
DI
|
||||||
|
|
||||||
LD DE,PLAY
|
LD DE,PLAY
|
||||||
LD (0A0FFh),DE ; IM2_ADRESS
|
LD (#A0FF),DE ; IM2_ADRESS
|
||||||
|
|
||||||
LD A,0A0h
|
LD A,#A0
|
||||||
LD I,A
|
LD I,A
|
||||||
IM 2
|
IM 2
|
||||||
|
|
||||||
LD A,(CBL_MODE)
|
LD A,(CBL_MODE)
|
||||||
LD BC,CBL.SYS_PORT
|
LD BC,SP_SND.CBL.SYS_PORT
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
EI
|
EI
|
||||||
|
|
||||||
LD A,(MAX_)
|
LD A,(MAX_)
|
||||||
ADD A,60h
|
ADD A,#60
|
||||||
RRCA
|
RRCA
|
||||||
AND 7Fh
|
AND #7F
|
||||||
LD (MAX_),A
|
LD (MAX_),A
|
||||||
|
|
||||||
;***************************************
|
;***************************************
|
||||||
@ -895,17 +892,17 @@ HDD_CNT: db 0
|
|||||||
|
|
||||||
PAUSE_KEY:
|
PAUSE_KEY:
|
||||||
DI
|
DI
|
||||||
LD BC,CBL.SYS_PORT
|
LD BC,SP_SND.CBL.SYS_PORT
|
||||||
XOR A ; CBL.Covox
|
XOR A ; SP_SND.CBL.Covox
|
||||||
OUT (C),A ; stop Audio
|
OUT (C),A ; stop Audio
|
||||||
LD A,#80
|
LD A,#80
|
||||||
LD C,CBL.OUT
|
LD C,SP_SND.CBL.OUT
|
||||||
OUT (C),A ; COVOX=80h
|
OUT (C),A ; COVOX=80h
|
||||||
|
|
||||||
CALL PAUSE_KEY1
|
CALL PAUSE_KEY1
|
||||||
|
|
||||||
LD A,(CBL_MODE) ; PLAY MORE
|
LD A,(CBL_MODE) ; PLAY MORE
|
||||||
LD BC,CBL.SYS_PORT
|
LD BC,SP_SND.CBL.SYS_PORT
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
EI
|
EI
|
||||||
XOR A
|
XOR A
|
||||||
@ -952,38 +949,36 @@ NO_KEY: db #FF
|
|||||||
; RET
|
; RET
|
||||||
|
|
||||||
|
|
||||||
EXIT_ALL:
|
EXIT_ALL: IM 1
|
||||||
IM 1
|
XOR A
|
||||||
|
LD BC,SP_SND.CBL.SYS_PORT
|
||||||
LD A,0
|
|
||||||
LD BC,CBL.SYS_PORT
|
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
;
|
||||||
LD BC,CBL.OUT
|
LD (HDD_CNT),A
|
||||||
|
LD (HDD_S),A
|
||||||
|
;
|
||||||
|
LD BC,SP_SND.CBL.OUT
|
||||||
LD A,#80
|
LD A,#80
|
||||||
|
|
||||||
.loop: OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
.loop: OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
|
;
|
||||||
|
LD HL,#C000
|
||||||
|
LD (SND_A),HL
|
||||||
|
;
|
||||||
LD A,(SAV_PAGE3)
|
LD A,(SAV_PAGE3)
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
JP CLOSE_FILE
|
||||||
CALL CLOSE_FILE
|
;
|
||||||
|
.norm_exit: LD B,0
|
||||||
; LD C,50h ; OPEN_TEXT_SCR
|
|
||||||
; LD B,1
|
|
||||||
; LD A,3h
|
|
||||||
; RST 10h
|
|
||||||
LD B,0
|
|
||||||
.exit: LD C,Dss.Exit
|
.exit: LD C,Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
JR .exit
|
JR .exit
|
||||||
|
|
||||||
SAV_PAGE3: db 0
|
SAV_PAGE3: DB 0
|
||||||
;*************************************
|
;*************************************
|
||||||
PLAY: DI
|
PLAY: DI
|
||||||
PUSH AF
|
PUSH AF
|
||||||
IN A,(CBL.INT_PORT)
|
IN A,(SP_SND.CBL.INT_PORT)
|
||||||
RLCA
|
RLCA
|
||||||
JP NC,NO_SND
|
JP NC,NO_SND
|
||||||
|
|
||||||
@ -1005,7 +1000,7 @@ PLAY: DI
|
|||||||
|
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
LD A,CBL.BUFFER_PAGE
|
LD A,SP_SND.CBL.BUFFER_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
OUT (SLOT0),A
|
OUT (SLOT0),A
|
||||||
|
|
||||||
@ -1293,19 +1288,19 @@ no_diap:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
;********************************************
|
;********************************************
|
||||||
|
; ¢ë¤¥«¥¨¥ áâப¨ ¨§ HL ¨ á®åà ¥¨¥ ¥¥ ¢ DE
|
||||||
EXTR_LINE: ; ¢ë¤¥«¥¨¥ áâப¨ ¨§ HL ¨ á®åà ¥¨¥ ¥¥ ¢ DE
|
EXTR_LINE: LD B,0
|
||||||
LD B,0
|
.LOOP: LD A,(HL)
|
||||||
EXTR_LOOP:
|
AND A
|
||||||
LD A,(HL)
|
RET Z
|
||||||
CP 13
|
CP 13
|
||||||
RET Z
|
RET Z
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC HL
|
INC HL
|
||||||
INC DE
|
INC DE
|
||||||
INC B
|
INC B
|
||||||
JR NZ,EXTR_LOOP
|
JR NZ,.LOOP
|
||||||
SCF
|
;SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;********************************************
|
;********************************************
|
||||||
@ -1333,21 +1328,26 @@ READ_FILE: ; HL - name,
|
|||||||
|
|
||||||
LD HL,#C000
|
LD HL,#C000
|
||||||
LD DE,#100 ; ç¨â âì § £®«®¢®ª
|
LD DE,#100 ; ç¨â âì § £®«®¢®ª
|
||||||
; LD DE,200h ; ç¨â âì § £®«®¢®ª
|
|
||||||
LD C,#13
|
LD C,#13
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;RET C ; ®è¨¡ª ¯à¨ ç⥨¨
|
PUSH AF
|
||||||
; ¤«¨ áç¨â ëå ¤ ëå ¢ DE
|
LD HL,#C000
|
||||||
|
ADD HL,DE
|
||||||
|
LD (HL),0
|
||||||
|
POP AF
|
||||||
RET ; ®è¨¡ª ¯à¨ § ªàë⨨ ¨«¨ Ok
|
RET ; ®è¨¡ª ¯à¨ § ªàë⨨ ¨«¨ Ok
|
||||||
|
|
||||||
READ_MORE: ; ç¨â âì ¤ «ìè¥ ¤«ï playlist 4kb
|
READ_MORE: ; ç¨â âì ¤ «ìè¥ ¤«ï playlist 4kb
|
||||||
|
PUSH HL
|
||||||
LD DE,#1000 ;
|
LD DE,#1000 ;
|
||||||
LD C,#13
|
LD C,#13
|
||||||
LD A,(FILE_HANDLE)
|
LD A,(FILE_HANDLE)
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
; JR CLOSE_FILE
|
;
|
||||||
|
JP C,ERROR
|
||||||
|
POP HL
|
||||||
|
ADD HL,DE
|
||||||
|
LD (HL),0
|
||||||
CLOSE_FILE:
|
CLOSE_FILE:
|
||||||
LD A,(FILE_HANDLE)
|
LD A,(FILE_HANDLE)
|
||||||
LD C,#12
|
LD C,#12
|
||||||
@ -1357,7 +1357,7 @@ CLOSE_FILE:
|
|||||||
;*******************************************
|
;*******************************************
|
||||||
|
|
||||||
READ_FILE_XD1:
|
READ_FILE_XD1:
|
||||||
LD HL,#C100
|
;LD HL,#C100
|
||||||
LD DE,#1F00 ; ç¨â âì ¤ «ìè¥
|
LD DE,#1F00 ; ç¨â âì ¤ «ìè¥
|
||||||
LD C,#13
|
LD C,#13
|
||||||
LD A,(FILE_HANDLE)
|
LD A,(FILE_HANDLE)
|
||||||
@ -1380,8 +1380,8 @@ READ_FILE_XD:
|
|||||||
LD A,E
|
LD A,E
|
||||||
OR D
|
OR D
|
||||||
JR NZ,SET_Z_FLAG
|
JR NZ,SET_Z_FLAG
|
||||||
LD A,1
|
XOR A
|
||||||
AND A
|
INC A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SET_Z_FLAG: ; § ¡¨âì ®áâ «ìë¥ ¡ ©âë ¢ 80h
|
SET_Z_FLAG: ; § ¡¨âì ®áâ «ìë¥ ¡ ©âë ¢ 80h
|
||||||
@ -1433,7 +1433,7 @@ READ_FILE_X1: ; HL -
|
|||||||
LD A,(LENGTH_DATA)
|
LD A,(LENGTH_DATA)
|
||||||
ADD A,32
|
ADD A,32
|
||||||
RRA
|
RRA
|
||||||
AND 1Fh ; number of sectors
|
AND #1F ; number of sectors
|
||||||
LD (NUM_SEC+1),A
|
LD (NUM_SEC+1),A
|
||||||
|
|
||||||
|
|
||||||
@ -1448,18 +1448,18 @@ CONT_1:
|
|||||||
NUM_SEC:
|
NUM_SEC:
|
||||||
LD A,16 ; áç¨â âì 16 ᥪâ®à®¢
|
LD A,16 ; áç¨â âì 16 ᥪâ®à®¢
|
||||||
|
|
||||||
LD BC,P_S_CNT
|
LD BC,IDE.Write.Counter
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
LD BC,P_CMD
|
LD BC,IDE.Write.Command
|
||||||
LD A,#20
|
LD A,#20
|
||||||
OUT (C),A ; ç¨â âì!
|
OUT (C),A ; ç¨â âì!
|
||||||
|
|
||||||
LOOP_HDDR1:
|
LOOP_HDDR1:
|
||||||
LD BC,P_HDST
|
LD BC,IDE.Read.Status
|
||||||
WAIT_HDD
|
WAIT_HDD
|
||||||
|
|
||||||
LD BC,P_DATS ; READ/WRITE INIR/OTIR
|
LD BC,IDE.Read.Data ; READ/WRITE INIR/OTIR
|
||||||
LD D,16
|
LD D,16
|
||||||
LOOP_HDDR:
|
LOOP_HDDR:
|
||||||
|
|
||||||
@ -1478,7 +1478,7 @@ READ_END:
|
|||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
CONT_1:
|
CONT_1:
|
||||||
LD A,CBL.BUFFER_PAGE
|
LD A,SP_SND.CBL.BUFFER_PAGE
|
||||||
|
|
||||||
NUM_SEC:
|
NUM_SEC:
|
||||||
LD B,16 ; áç¨â âì 16 ᥪâ®à®¢
|
LD B,16 ; áç¨â âì 16 ᥪâ®à®¢
|
||||||
@ -1496,8 +1496,8 @@ READ_END1:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
POP DE
|
POP DE
|
||||||
INC DE
|
INC DE
|
||||||
LD C,80h
|
D_FILL+1:
|
||||||
D_FILL EQU $-1
|
LD C,#80
|
||||||
LD (HL),C
|
LD (HL),C
|
||||||
LD BC,1FFh
|
LD BC,1FFh
|
||||||
LDIR
|
LDIR
|
||||||
@ -1609,7 +1609,7 @@ ERROR_MSG3:
|
|||||||
|
|
||||||
START_MSG:
|
START_MSG:
|
||||||
db 13,10,"COVOX-Blaster WAV-Player v",FULL_VERSION," by Ivan Mak"
|
db 13,10,"COVOX-Blaster WAV-Player v",FULL_VERSION," by Ivan Mak"
|
||||||
db 13,10,"(c) Sprinter Team. 2024.",13,10,0
|
db 13,10,"(c) Sprinter Team. 2025.",13,10,0
|
||||||
|
|
||||||
PLAY_LIST_ID: db "PLAYLIST"
|
PLAY_LIST_ID: db "PLAYLIST"
|
||||||
|
|
||||||
|
|||||||
85
visio2.asm
85
visio2.asm
@ -1,5 +1,5 @@
|
|||||||
;***********************************
|
;***********************************
|
||||||
|
/* ; NEW
|
||||||
VISIO: IN A,(PORT_Y)
|
VISIO: IN A,(PORT_Y)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
@ -128,3 +128,86 @@ VISIO: IN A,(PORT_Y)
|
|||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
.lines: DB 1 ; 1 = 1, 2 = 2
|
.lines: DB 1 ; 1 = 1, 2 = 2
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
VISIO: IN A,(PORT_Y)
|
||||||
|
PUSH AF
|
||||||
|
|
||||||
|
LD A,(SND_A+1)
|
||||||
|
ADD A,A
|
||||||
|
; ADD A,A
|
||||||
|
AND #7F
|
||||||
|
LD L,A
|
||||||
|
LD H,#B0
|
||||||
|
LD BC,7
|
||||||
|
ADD HL,BC
|
||||||
|
|
||||||
|
LD BC,(SND_A)
|
||||||
|
|
||||||
|
LD A,(BC)
|
||||||
|
RRA
|
||||||
|
CPL
|
||||||
|
AND #7F
|
||||||
|
ADD A,#40
|
||||||
|
LD (.COLOR_),A
|
||||||
|
INC BC
|
||||||
|
LD A,(BC) ; new
|
||||||
|
.ADD_PAR+1: ADD A,0 ; parameter for 8/16 bit
|
||||||
|
RRA
|
||||||
|
RRA
|
||||||
|
AND #3F
|
||||||
|
ADD A,#40 ; Vertical Shift
|
||||||
|
LD (.NEW_),A
|
||||||
|
|
||||||
|
LD B,A
|
||||||
|
LD A,(MAX_)
|
||||||
|
CP B
|
||||||
|
JR NC,.NO_MAX
|
||||||
|
LD A,B
|
||||||
|
LD (MAX_),A
|
||||||
|
.NO_MAX: LD A,#50
|
||||||
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
LD A,(HL) ; old
|
||||||
|
LD (.OLD_),A
|
||||||
|
LD A,(.NEW_)
|
||||||
|
LD (HL),A
|
||||||
|
|
||||||
|
.OLD_+1: LD A,0
|
||||||
|
OUT (PORT_Y),A ; old
|
||||||
|
|
||||||
|
LD A,H
|
||||||
|
ADD A,#10
|
||||||
|
LD H,A
|
||||||
|
|
||||||
|
LD A,0 ; clear
|
||||||
|
LD (HL),A
|
||||||
|
INC L
|
||||||
|
LD (HL),A
|
||||||
|
;INC L
|
||||||
|
;LD (HL),A
|
||||||
|
;INC L
|
||||||
|
;LD (HL),A ; áâ¥à¥âì
|
||||||
|
.NEW_+1: LD A,0
|
||||||
|
OUT (PORT_Y),A ; new
|
||||||
|
.COLOR_+1: LD A,#FF
|
||||||
|
LD (HL),A
|
||||||
|
DEC L
|
||||||
|
LD (HL),A
|
||||||
|
;DEC L
|
||||||
|
;LD (HL),A
|
||||||
|
;DEC L
|
||||||
|
;LD (HL),A ; à¨á®¢ âì ®¢®¥
|
||||||
|
LD A,SP_SND.CBL.BUFFER_PAGE
|
||||||
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
POP AF
|
||||||
|
OUT (PORT_Y),A
|
||||||
|
RET
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user