diff --git a/sw/main.c b/sw/main.c index d20d3e0..c7a5217 100644 --- a/sw/main.c +++ b/sw/main.c @@ -3,10 +3,8 @@ #include "sevenseg.h" int main() { - //hex_enable(0xff); - hex_set_8(0xb5, 0); - hex_set_8(0x00, 1); - hex_set_8(0xb0, 2); + hex_enable(0x3f); + hex_set_24(0xabcdef); while(1); return 0; } diff --git a/sw/sevenseg.s b/sw/sevenseg.s index 3305c2e..e915d59 100644 --- a/sw/sevenseg.s +++ b/sw/sevenseg.s @@ -1,5 +1,7 @@ .include "io.inc65" +.importzp sp, sreg + .export _hex_set_8 .export _hex_set_16 .export _hex_set_24 @@ -34,8 +36,14 @@ _hex_set_16: lda #$0 rts +; @in A/X/sreg: val +; @out A: 0 for success, 1 for failure +; Sets the 3 pairs of hex digits for a 24 bit value _hex_set_24: - lda #$1 + sta SEVEN_SEG + stx SEVEN_SEG+1 + lda sreg + sta SEVEN_SEG+2 rts ; @in A: mask