mirror of https://github.com/zxdos/zxuno.git
utils: separated `wrflsh` function into `wrflsh.inc` file
This commit is contained in:
parent
afd46fc97e
commit
aac709bed5
|
@ -77,6 +77,7 @@ $(BUILD_DIR)/CORCLEAN: corclean.asm\
|
|||
zxuno.def\
|
||||
Print.inc\
|
||||
rdflsh.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
||||
|
@ -85,6 +86,7 @@ $(BUILD_DIR)/COREBIOS: corebios.asm\
|
|||
esxdos.def\
|
||||
Print.inc\
|
||||
rdflsh.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
||||
|
@ -101,6 +103,7 @@ $(BUILD_DIR)/ROMSUPGR: romsupgr.asm\
|
|||
esxdos.def\
|
||||
Print.inc\
|
||||
rdflsh.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
||||
|
@ -108,6 +111,7 @@ $(BUILD_DIR)/UPGR16M: upgr16m.asm\
|
|||
zxuno.def\
|
||||
esxdos.def\
|
||||
Print.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
||||
|
@ -115,6 +119,7 @@ $(BUILD_DIR)/UPGRZX2: upgr32m.asm\
|
|||
zxuno.def\
|
||||
esxdos.def\
|
||||
Print.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
echo ' define zxdos 1' >upgr32m.def
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
@ -124,6 +129,7 @@ $(BUILD_DIR)/UPGRZXD: upgr32m.asm\
|
|||
zxuno.def\
|
||||
esxdos.def\
|
||||
Print.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
echo ' define zxdos 0' >upgr32m.def
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
@ -133,6 +139,7 @@ $(BUILD_DIR)/UPGRADE: upgrade.asm\
|
|||
zxuno.def\
|
||||
esxdos.def\
|
||||
Print.inc\
|
||||
wrflsh.inc\
|
||||
| $(BUILD_DIR)
|
||||
$(AS) $(AFLAGS) --raw=$@ $<
|
||||
|
||||
|
|
|
@ -74,75 +74,7 @@ normal ld a, 0
|
|||
|
||||
include Print.inc
|
||||
include rdflsh.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -132,75 +132,7 @@ normal ld a, 0
|
|||
|
||||
include Print.inc
|
||||
include rdflsh.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -181,75 +181,7 @@ wrear0 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
|||
|
||||
include Print.inc
|
||||
include rdflsh.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -125,76 +125,7 @@ ReadOK ld a, $40
|
|||
ret
|
||||
|
||||
include Print.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; BC': zxuno_port+$100 (constant)
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -158,76 +158,7 @@ ReadOK ld a, $40
|
|||
ret
|
||||
|
||||
include Print.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; BC': zxuno_port+$100 (constant)
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -108,76 +108,7 @@ ReadOK ld a, $40
|
|||
ret
|
||||
|
||||
include Print.inc
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; BC': zxuno_port+$100 (constant)
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
||||
include wrflsh.inc
|
||||
|
||||
rst28 ld bc, zxuno_port + $100
|
||||
pop hl
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
; wrflsh.inc
|
||||
;
|
||||
; SPDX-FileCopyrightText: Copyright (C) 2019, 2021 Antonio Villena
|
||||
;
|
||||
; SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
; Compatible compilers:
|
||||
; SJAsmPlus, <https://github.com/sjasmplus/sjasmplus/>
|
||||
|
||||
include zxuno.def
|
||||
|
||||
; ------------------------
|
||||
; Write to SPI flash
|
||||
; Parameters:
|
||||
; A: number of pages (256 bytes) to write
|
||||
; DE: target address without last byte
|
||||
; BC': zxuno_port+$100 (constant)
|
||||
; HL': source address from memory
|
||||
; ------------------------
|
||||
wrflsh ex af, af'
|
||||
xor a
|
||||
wrfls1 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $20 ; envío sector erase
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wrfls2 call waits5
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 2 ; page program
|
||||
out (c), d
|
||||
out (c), e
|
||||
out (c), a
|
||||
ld a, $20
|
||||
exx
|
||||
ld bc, zxuno_port+$100
|
||||
wrfls3 inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
inc b
|
||||
outi
|
||||
dec a
|
||||
jr nz, wrfls3
|
||||
exx
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ex af, af'
|
||||
dec a
|
||||
jr z, waits5
|
||||
ex af, af'
|
||||
inc e
|
||||
ld a, e
|
||||
and $0f
|
||||
jr nz, wrfls2
|
||||
ld hl, wrfls1
|
||||
push hl
|
||||
waits5 wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 5 ; envío read status
|
||||
in a, (c)
|
||||
waits6 in a, (c)
|
||||
and 1
|
||||
jr nz, waits6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
ret
|
Loading…
Reference in New Issue