CPU-Z80-Disassembler

 view release on metacpan or  search on metacpan

t/data/zx48.asm  view on Meta::CPAN

                                ; gap between 2 edges.
        RET     NC              ; return with time-out.

        LD      A,$CB           ; the comparison byte.
        CP      B               ; compare to incremented value of B.
                                ; if B is higher then bit on tape was set.
                                ; if <= then bit on tape is reset. 

        RL      L               ; rotate the carry bit into L.

        LD      B,$B0           ; reset the B timer byte.
        JP      NC,L05CA        ; JUMP back to LD-8-BITS

;   when carry set then marker bit has been passed out and byte is complete.

        LD      A,H             ; fetch the running parity byte.
        XOR     L               ; include the new byte.
        LD      H,A             ; and store back in parity register.

        LD      A,D             ; check length of
        OR      E               ; expected bytes.

t/data/zx48_base.asm  view on Meta::CPAN

                                ; gap between 2 edges.
        ret nc                  ; return with time-out.

        ld a,0xCB               ; the comparison byte.
        cp b                    ; compare to incremented value of B.
                                ; if B is higher then bit on tape was set.
                                ; if <= then bit on tape is reset.

        rl l                    ; rotate the carry bit into L.

        ld b,0xB0               ; reset the B timer byte.
        jp nc,LD_8_BITS         ; JUMP back to LD-8-BITS

;   when carry set then marker bit has been passed out and byte is complete.

        ld a,h                  ; fetch the running parity byte.
        xor l                   ; include the new byte.
        ld h,a                  ; and store back in parity register.

        ld a,d                  ; check length of
        or e                    ; expected bytes.

t/data/zx48_benchmark.asm  view on Meta::CPAN

                                ; gap between 2 edges.
        ret nc                  ; return with time-out.

        ld a, $CB               ; the comparison byte.
        cp b                    ; compare to incremented value of B.
                                ; if B is higher then bit on tape was set.
                                ; if <= then bit on tape is reset.

        rl l                    ; rotate the carry bit into L.

        ld b, $B0               ; reset the B timer byte.
        jp nc, LD_8_BITS        ; JUMP back to LD-8-BITS

;   when carry set then marker bit has been passed out and byte is complete.

        ld a, h                 ; fetch the running parity byte.
        xor l                   ; include the new byte.
        ld h, a                 ; and store back in parity register.

        ld a, d                 ; check length of
        or e                    ; expected bytes.

t/data/zx81.asm  view on Meta::CPAN

;; EACH-BIT

EACH_BIT:
        rl e                    ; C < 76543210 < C
        ret z                   ; return when the marker bit has passed
                                ; right through.                        >>
                                ; 
        sbc a, a                ; $FF if set bit or $00 with no carry.
        and $05                 ; $05               $00
        add a, $04              ; $09               $04
        ld c, a                 ; transfer timer to C. a set bit has a longer
                                ; pulse than a reset bit.
                                ; 
;; PULSES

PULSES:
        out ($FF), a            ; pulse to cassette.
        ld b, $23               ; set timing constant
                                ; 
;; DELAY-2

t/data/zx81.asm  view on Meta::CPAN

        ld e, $94               ; timing value.
                                ; 
;; TRAILER

TRAILER:
        ld b, $1A               ; counter to twenty six.
                                ; 
;; COUNTER

COUNTER:
        dec e                   ; decrement the measuring timer.
        in a, ($FE)             ; read the
        rla                     ; 
        bit 7, e                ; 
        ld a, e                 ; 
        jr c, TRAILER           ; loop back with carry to TRAILER
                                ; 
        djnz COUNTER            ; to COUNTER
                                ; 
        pop de                  ; 
        jr nz, BIT_DONE         ; to BIT-DONE

t/data/zx81.ctl  view on Meta::CPAN

0324:C
0324 E605       and $05	:C
	:; $05               $00

0326:C
0326 C604       add a, $04	:C
	:; $09               $04

0328:C
0328 4F         ld c, a	:C
	:; transfer timer to C. a set bit has a longer
	:; pulse than a reset bit.
	:;

0329:C
	:#;; PULSES
0329 D3FF       out ($FF), a	:C PULSES
	:; pulse to cassette.

032B:C
032B 0623       ld b, $23	:C

t/data/zx81.ctl  view on Meta::CPAN


0388:C
	:#;; TRAILER
0388 061A       ld b, $1A	:C TRAILER
	:; counter to twenty six.
	:;

038A:C
	:#;; COUNTER
038A 1D         dec e	:C COUNTER
	:; decrement the measuring timer.

038B:C
038B DBFE       in a, ($FE)	:C
	:; read the

038D:C
038D 17         rla	:C
	:;

038E:C

t/data/zx81_version_2_rom_source.asm  view on Meta::CPAN

        SCF                     ; set carry flag - as a marker.

;; EACH-BIT
L0320:  RL      E               ;  C < 76543210 < C
        RET     Z               ; return when the marker bit has passed 
                                ; right through.                        >>

        SBC     A,A             ; $FF if set bit or $00 with no carry.
        AND     $05             ; $05               $00
        ADD     A,$04           ; $09               $04
        LD      C,A             ; transfer timer to C. a set bit has a longer
                                ; pulse than a reset bit.

;; PULSES
L0329:  OUT     ($FF),A         ; pulse to cassette.
        LD      B,$23           ; set timing constant

;; DELAY-2
L032D:  DJNZ    L032D           ; self-loop to DELAY-2

        CALL    L0F46           ; routine BREAK-1 test for BREAK key.

t/data/zx81_version_2_rom_source.asm  view on Meta::CPAN

; from the IN-BYTE subroutine.

;; GET-BIT
L0385:  PUSH    DE              ; save the 
        LD      E,$94           ; timing value.

;; TRAILER
L0388:  LD      B,$1A           ; counter to twenty six.

;; COUNTER
L038A:  DEC     E               ; decrement the measuring timer.
        IN      A,($FE)         ; read the
        RLA                     ;
        BIT     7,E             ;
        LD      A,E             ;
        JR      C,L0388         ; loop back with carry to TRAILER

        DJNZ    L038A           ; to COUNTER

        POP     DE              ;
        JR      NZ,L039C        ; to BIT-DONE



( run in 1.402 second using v1.01-cache-2.11-cpan-49f99fa48dc )