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