;Ver 1,0 Writen BY Imasoft 01.09.2023  
; - v1.1  01.09.23,     CPU Z80
; - v2.0  02.09.23,  



    org  0
;    jp  16384

;-----------------
    xor a
    cpl
    ld c, 1
    out (c),a ; turn on all LEDs
;-----------------
    ld b, 255
delay01:    
    ld c, 255
delay02:
    dec c
    jr nz, delay02
    dec b
    jr nz, delay01
;-----------------  
    xor a
    ld c, 1
    out (c),a ; turn off all LEDs
;-----------------   
    ld b, 255
delay03:    
    ld c, 255
delay04:
    dec c
    jr nz, delay04
    dec b
    jr nz, delay03
;-----------------  
    defb #ed, #71   ; undocumented "out (c),0" works as out (c), FF on CMOS z80
;-----------------   
    ld b, 255
delay05:    
    ld c, 255
delay06:
    dec c
    jr nz, delay06
    dec b
    jr nz, delay05
;-----------------  
    xor a
    ld c, 1
    out (c),a ; turn off all LEDs
;-----------------
    ld b, 255
delay05a:    
    ld c, 255
delay06a:
    dec c
    jr nz, delay06a
    dec b
    jr nz, delay05a
;-----------------
    jp start
    defs 195
;-----------------




;    org  #100
;-----------------   
start:
    ld c, #01
    ld b, #01
    ld a, #01
    out (c),a
;-----------------   
    ld b, 255
delay1:    
    ld c, 255
delay2:
    dec c
    jr nz, delay2
    dec b
    jr nz, delay1
;-----------------  
    jp next_512
    defs 235
;-----------------

;    org  #200
;-----------------
next_512:
    ld c, #01
    ld b, #02
    ld a, #02
    out (c),a
;-----------------   
    ld b, 255
delay1a:    
    ld c, 255
delay2a:
    dec c
    jr nz, delay2a
    dec b
    jr nz, delay1a
;-----------------  
    jp next_1024
    defs 235+256
;-----------------   




;    org  #400
;-----------------
next_1024:
    ld c, #01
    ld b, #04
    ld a, #04
    out (c),a
;-----------------   
    ld b, 255
delay1b:    
    ld c, 255
delay2b:
    dec c
    jr nz, delay2b
    dec b
    jr nz, delay1b
;-----------------   
    jp next_2048
    defs 235+256+512
;-----------------




;    org  #800
;-----------------
next_2048:
    ld c, #01
    ld b, #08
    ld a, #08
    out (c),a
;-----------------   
    ld b, 255
delay1c:    
    ld c, 255
delay2c:
    dec c
    jr nz, delay2c
    dec b
    jr nz, delay1c
;-----------------  
    jp next_4096
    defs 235+256+512+1024
;-----------------  


;    org  #1000
;-----------------
next_4096:
    ld c, #01
    ld b, #10
    ld a, #10
    out (c),a
;-----------------   
    ld b, 255
delay1d:    
    ld c, 255
delay2d:
    dec c
    jr nz, delay2d
    dec b
    jr nz, delay1d
;-----------------  
    jp next_8192
    defs 235+256+512+1024+2048
;-----------------



;    org  #2000
;-----------------
next_8192:
    ld c, #01
    ld b, #20
    ld a, #20
    out (c),a
;-----------------   
    ld b, 255
delay1e:    
    ld c, 255
delay2e:
    dec c
    jr nz, delay2e
    dec b
    jr nz, delay1e
;-----------------  
    jp next_16384
    defs 235+256+512+1024+2048+4096
;-----------------


;    org  #4000
;-----------------
next_16384:
    ld c, #01
    ld b, #40
    ld a, #40
    out (c),a
;-----------------   
    ld b, 255
delay1f:    
    ld c, 255
delay2f:
    dec c
    jr nz, delay2f
    dec b
    jr nz, delay1f
;-----------------  
    jp next_32768
    defs 235+256+512+1024+2048+4096+8192
;-----------------


;    org  #8000
;-----------------
next_32768:
    ld c, #01
    ld b, #80
    ld a, #80
    out (c),a
;-----------------   
    ld b, 255
delay1f1:    
    ld c, 255
delay2f1:
    dec c
    jr nz, delay2f1
    dec b
    jr nz, delay1f1
;-----------------  
    jp start
