]> git.sur5r.net Git - cc65/commitdiff
Update from Oliver Schmidt: Includes gotox/gotoy which were missing before.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 1 Apr 2005 09:59:53 +0000 (09:59 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 1 Apr 2005 09:59:53 +0000 (09:59 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3447 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/apple2/Makefile
libsrc/apple2/cputc.s
libsrc/apple2/diosectcount.s
libsrc/apple2/diosectsize.s
libsrc/apple2/get_ostype.s
libsrc/apple2/gotoxy.s [new file with mode: 0644]
libsrc/apple2/gotoy.s [new file with mode: 0644]
libsrc/apple2enh/Makefile

index 697459bee8dc71a70fa33fe5f6fa842dba3d2735..82da35128d34bb4e035c1f9827703336912c9e35 100644 (file)
@@ -59,6 +59,8 @@ OBJS= _scrsize.o      \
        dosdetect.o     \
         get_ostype.o    \
         getenv.o        \
+       gotoxy.o        \
+       gotoy.o         \
         joy_stddrv.o    \
        kbhit.o         \
         mainargs.o      \
index 75cc99d9a325105eea811792aeab67cf2b157f9b..cbf875b19589feb08a4fb2971450d82b12c70a08 100644 (file)
@@ -5,22 +5,20 @@
 ; void __fastcall__ cputc (char c);
 ;
 
-        .ifdef __APPLE2ENH__
-        .constructor   initconio
+        .ifdef  __APPLE2ENH__
+        .constructor    initconio
         .endif
-        .export                _cputcxy, _cputc
-        .export                _gotoxy, cputdirect
-        .export                newline, putchar
+        .export         _cputcxy, _cputc
+        .export         cputdirect, newline, putchar
+        .import                popa, _gotoxy, VTABZ
 
-        .import                popa, VTABZ
+        .include        "apple2.inc"
 
-        .include       "apple2.inc"
+        .segment        "INIT"
 
-        .segment       "INIT"
-
-        .ifdef __APPLE2ENH__
+        .ifdef  __APPLE2ENH__
 initconio:
-        sta    SETALTCHAR      ; Switch in alternate charset
+        sta     SETALTCHAR     ; Switch in alternate charset
         rts
         .endif
 
@@ -29,76 +27,67 @@ initconio:
 ; Plot a character - also used as internal function
 
 _cputcxy:
-        pha                    ; Save C
-        jsr    popa            ; Get Y
-        jsr    _gotoxy
-        pla                    ; Restore C
+        pha                     ; Save C
+        jsr     popa           ; Get Y
+        jsr     _gotoxy
+        pla                     ; Restore C
 
 _cputc:
-        cmp    #$0D            ; Test for \r = carrage return
-        beq    left
-        cmp    #$0A            ; Test for \n = line feed
-        beq    newline
-        ora    #$80            ; Turn on high bit
-        .ifndef        __APPLE2ENH__
-        cmp    #$E0            ; Test for lowercase
-        bcc    cputdirect
-        and    #$DF            ; Convert to uppercase
+        cmp     #$0D           ; Test for \r = carrage return
+        beq     left
+        cmp     #$0A           ; Test for \n = line feed
+        beq     newline
+        ora     #$80           ; Turn on high bit
+        .ifndef __APPLE2ENH__
+        cmp     #$E0           ; Test for lowercase
+        bcc     cputdirect
+        and     #$DF           ; Convert to uppercase
         .endif
 
 cputdirect:
-        jsr    putchar
-        inc    CH              ; Bump to next column
-        lda    CH
-        cmp    WNDWDTH
-        bcc    :+
-left:   lda    #$00            ; Goto left edge of screen
-        sta    CH
+        jsr     putchar
+        inc     CH             ; Bump to next column
+        lda     CH
+        cmp     WNDWDTH
+        bcc     :+
+left:   lda     #$00           ; Goto left edge of screen
+        sta     CH
 :       rts
 
 newline:
-        inc    CV              ; Bump to next line
-        lda    CV
-        cmp    WNDBTM
-        bcc    :+
-        lda    WNDTOP          ; Goto top of screen
-        sta    CV
-:       jmp    VTABZ
+        inc     CV             ; Bump to next line
+        lda     CV
+        cmp     WNDBTM
+        bcc     :+
+        lda     WNDTOP         ; Goto top of screen
+        sta     CV
+:       jmp     VTABZ
                 
 putchar:
-        .ifdef __APPLE2ENH__
-        ldy    INVFLG
-        cpy    #$FF            ; Normal character display mode?
-        beq    put
-        cmp    #$E0            ; Lowercase?
-        bcc    mask
-        and    #$7F            ; Inverse lowercase
-        bra    put
+        .ifdef  __APPLE2ENH__
+        ldy     INVFLG
+        cpy     #$FF           ; Normal character display mode?
+        beq     put
+        cmp     #$E0           ; Lowercase?
+        bcc     mask
+        and     #$7F           ; Inverse lowercase
+        bra     put
         .endif
-mask:   and    INVFLG          ; Apply normal, inverse, flash
-put:    ldy    CH
-        .ifdef __APPLE2ENH__
-        bit    RD80VID         ; In 80 column mode?
-        bpl    col40           ; No, in 40 cols
+mask:   and     INVFLG         ; Apply normal, inverse, flash
+put:    ldy     CH
+        .ifdef  __APPLE2ENH__
+        bit     RD80VID        ; In 80 column mode?
+        bpl     col40          ; No, in 40 cols
         pha
         tya
-        lsr                    ; Div by 2
+        lsr                     ; Div by 2
         tay
         pla
-        bcs    col40           ; Odd cols go in 40 col memory
-        bit    HISCR
-        sta    (BASL),Y
-        bit    LOWSCR
+        bcs     col40          ; Odd cols go in 40 col memory
+        bit     HISCR
+        sta     (BASL),Y
+        bit     LOWSCR
         rts
         .endif
-col40:  sta    (BASL),Y
-        rts
-
-_gotoxy:
-        clc
-        adc    WNDTOP
-        sta    CV              ; Store Y
-        jsr    VTABZ
-        jsr    popa            ; Get X
-        sta    CH              ; Store X
+col40:  sta     (BASL),Y
         rts
index 29931427832500b407186feaf50230a6543894d4..7492482325f002d2d4a65bed99e02910b0a4b7e5 100644 (file)
@@ -1,7 +1,7 @@
 ;
 ; Oliver Schmidt, 31.03.2005
 ;
-; sectnum_t __fastcall__ dio_query_sectcount(dhandle_t handle);
+; sectnum_t __fastcall__ dio_query_sectcount (dhandle_t handle);
 ;
 
         .export        _dio_query_sectcount
index 16287a2ec00aa2b43de7b3de1939eefd8c1b0902..40b8113b447d0295666f5e93f1cec6172352b908 100644 (file)
@@ -1,7 +1,7 @@
 ;
 ; Oliver Schmidt, 31.03.2005
 ;
-; sectsize_t __fastcall__ dio_query_sectsize(dhandle_t handle);
+; sectsize_t __fastcall__ dio_query_sectsize (dhandle_t handle);
 ;
 
         .export        _dio_query_sectsize
index 98cd99fb8990611f32c8efb04bc1dc331f096d1d..77bf95f433094fbc2490e8cfcc8409b3e2c319fb 100644 (file)
@@ -1,70 +1,70 @@
 ;
 ; Oliver Schmidt, 04.01.2005
 ;
-; unsigned char get_ostype(void)
+; unsigned char get_ostype (void)
 ;
 
-        .constructor   initostype
-        .export                _get_ostype
+        .constructor    initostype
+        .export         _get_ostype
 
 ; Identify machine according to:
 ; "Apple II Miscellaneous TechNote #7: Apple II Family Identification"
 
-        .segment       "INIT"
+        .segment        "INIT"
 
 initostype:
         sec
-        jsr    $FE1F
-        bcs    nogs
+        jsr     $FE1F
+        bcs     nogs
         tya
-        ora    #$80
-done:   sta    ostype
+        ora     #$80
+done:   sta     ostype
         rts
-nogs:   ldx    #$FF
+nogs:   ldx     #$FF
 next:   inx
-        lda    value,x
-        ldy    index,x
-        beq    done            ; $00 is no valid index
-        cmp    $FB00,y
-        beq    next
+        lda     value,x
+        ldy     index,x
+        beq     done           ; $00 is no valid index
+        cmp     $FB00,y
+        beq     next
 :       inx
-        ldy    index,x
-        bne    :-
-        beq    next            ; Branch always
+        ldy     index,x
+        bne     :-
+        beq     next           ; Branch always
 
-index:  .byte  $B3, $00                ; Apple ][
-        .byte  $B3, $1E, $00           ; Apple ][+
-        .byte  $B3, $1E, $00           ; Apple /// (emulation)
-        .byte  $B3, $C0, $00           ; Apple //e
-        .byte  $B3, $C0, $DD, $BE, $00 ; Apple //e Option Card
-        .byte  $B3, $C0, $00           ; Apple //e (enhanced)
-        .byte  $B3, $C0, $BF, $00      ; Apple //c
-        .byte  $B3, $C0, $BF, $00      ; Apple //c (3.5 ROM)
-        .byte  $B3, $C0, $BF, $00      ; Apple //c (Mem. Exp.)
-        .byte  $B3, $C0, $BF, $00      ; Apple //c (Rev. Mem. Exp.)
-        .byte  $B3, $C0, $BF, $00      ; Apple //c Plus
-        .byte  $00
+index:  .byte   $B3, $00               ; Apple ][
+        .byte   $B3, $1E, $00          ; Apple ][+
+        .byte   $B3, $1E, $00          ; Apple /// (emulation)
+        .byte   $B3, $C0, $00          ; Apple //e
+        .byte   $B3, $C0, $DD, $BE, $00        ; Apple //e Option Card
+        .byte   $B3, $C0, $00          ; Apple //e (enhanced)
+        .byte   $B3, $C0, $BF, $00     ; Apple //c
+        .byte   $B3, $C0, $BF, $00     ; Apple //c (3.5 ROM)
+        .byte   $B3, $C0, $BF, $00     ; Apple //c (Mem. Exp.)
+        .byte   $B3, $C0, $BF, $00     ; Apple //c (Rev. Mem. Exp.)
+        .byte   $B3, $C0, $BF, $00     ; Apple //c Plus
+        .byte   $00
 
-value:  .byte  $38, $10                ; Apple ][
-        .byte  $EA, $AD, $11           ; Apple ][+
-        .byte  $EA, $8A, $20           ; Apple /// (emulation)
-        .byte  $06, $EA, $30           ; Apple //e
-        .byte  $06, $E0, $02, $00, $40 ; Apple //e Option Card
-        .byte  $06, $E0, $31           ; Apple //e (enhanced)
-        .byte  $06, $00, $FF, $50      ; Apple //c
-        .byte  $06, $00, $00, $51      ; Apple //c (3.5 ROM)
-        .byte  $06, $00, $03, $53      ; Apple //c (Mem. Exp.)
-        .byte  $06, $00, $04, $54      ; Apple //c (Rev. Mem. Exp.)
-        .byte  $06, $00, $05, $55      ; Apple //c Plus
-        .byte  $00
+value:  .byte   $38, $10               ; Apple ][
+        .byte   $EA, $AD, $11          ; Apple ][+
+        .byte   $EA, $8A, $20          ; Apple /// (emulation)
+        .byte   $06, $EA, $30          ; Apple //e
+        .byte   $06, $E0, $02, $00, $40        ; Apple //e Option Card
+        .byte   $06, $E0, $31          ; Apple //e (enhanced)
+        .byte   $06, $00, $FF, $50     ; Apple //c
+        .byte   $06, $00, $00, $51     ; Apple //c (3.5 ROM)
+        .byte   $06, $00, $03, $53     ; Apple //c (Mem. Exp.)
+        .byte   $06, $00, $04, $54     ; Apple //c (Rev. Mem. Exp.)
+        .byte   $06, $00, $05, $55     ; Apple //c Plus
+        .byte   $00
 
         .code
 
 _get_ostype:
-        lda    ostype
-        ldx    #$00
+        lda     ostype
+        ldx     #$00
         rts
 
         .bss
 
-ostype: .res   1
+ostype: .res    1
diff --git a/libsrc/apple2/gotoxy.s b/libsrc/apple2/gotoxy.s
new file mode 100644 (file)
index 0000000..9a2587f
--- /dev/null
@@ -0,0 +1,23 @@
+;
+; Ullrich von Bassewitz, 06.08.1998
+;
+; void __fastcall__ gotoxy (unsigned char x, unsigned char y);
+; void __fastcall__ gotox (unsigned char x);
+;
+
+        .export         _gotoxy, _gotox
+
+        .import         popa, VTABZ
+
+        .include        "apple2.inc"
+
+_gotoxy:
+        clc
+        adc     WNDTOP
+        sta     CV             ; Store Y
+        jsr     VTABZ
+        jsr     popa           ; Get X
+
+_gotox:
+        sta     CH             ; Store X
+        rts
diff --git a/libsrc/apple2/gotoy.s b/libsrc/apple2/gotoy.s
new file mode 100644 (file)
index 0000000..e59de2d
--- /dev/null
@@ -0,0 +1,19 @@
+;
+; Ullrich von Bassewitz, 06.08.1998
+;
+; void __fastcall__ gotoy (unsigned char y);
+;
+
+        .export         _gotoy
+
+        .import         VTABZ
+
+        .include        "apple2.inc"
+
+_gotoy:
+        clc
+        adc     WNDTOP
+        sta     CV             ; Store Y
+        jmp     VTABZ
+
+
index 7d91d049c7d0b4cd66b588ca5fc6cc1d584d5c34..dc809675b40e0f3c7fac5191a2c2fd8d7bc40642 100644 (file)
@@ -59,6 +59,8 @@ OBJS= _scrsize.o      \
        dosdetect.o     \
         get_ostype.o    \
         getenv.o        \
+       gotoxy.o        \
+       gotoy.o         \
         joy_stddrv.o    \
        kbhit.o         \
         mainargs.o      \