.import popa, _gotoxy, cputdirect, setcursor
.importzp tmp1
+.ifndef __ATARI5200__
+CHRCODE = $12+64
+.else
+CHRCODE = 14
+.endif
+
_chlinexy:
pha ; Save the length
jsr popa ; Get y
cmp #0 ; Is the length zero?
beq L9 ; Jump if done
sta tmp1
-L1: lda #$12+64 ; Horizontal line, screen code
+L1: lda #CHRCODE ; Horizontal line, screen code
jsr cputdirect ; Direct output
dec tmp1
bne L1
L9: jmp setcursor
-
-
-
-
.import popa, _gotoxy, putchar, setcursor
.importzp tmp1
+.ifndef __ATARI5200__
+CHRCODE = $7C ; Vertical bar
+.else
+CHRCODE = 1 ; exclamation mark
+.endif
+
_cvlinexy:
pha ; Save the length
jsr popa ; Get y
sta tmp1
L1: lda COLCRS
pha
- lda #$7C ; Vertical bar
+ lda #CHRCODE ; Vertical bar
jsr putchar ; Write, no cursor advance
pla
sta COLCRS
dec tmp1
bne L1
L9: jmp setcursor
-
-
-
--- /dev/null
+.include "../atari/cclear.s"
--- /dev/null
+.include "../atari/chline.s"
--- /dev/null
+;
+; from Atari computer version by Christian Groessler, 2014
+;
+; clock_t clock (void);
+; unsigned _clocks_per_sec (void);
+;
+
+ .export _clock, __clocks_per_sec
+ .importzp sreg
+
+ .include "atari5200.inc"
+
+
+.proc _clock
+
+ ldx #5 ; Synchronize with Antic, so the interrupt won't change RTCLOK
+ stx WSYNC ; while we're reading it. The synchronization is done same as
+@L1: dex ; in SETVBLV function in Atari OS.
+ bne @L1
+ stx sreg+1 ; Byte 3 is always zero
+ stx sreg ; Byte 2 is always zero, too
+ lda RTCLOK+1
+ ldx RTCLOK
+ rts
+
+.endproc
+
+
+.proc __clocks_per_sec
+
+ ldx #$00 ; Clear high byte of return value
+ lda #60
+ rts
+
+.endproc
--- /dev/null
+.include "../atari/cvline.s"
--- /dev/null
+;
+; Ullrich von Bassewitz, 2003-08-12
+;
+; unsigned char __fastcall__ _sysuname (struct utsname* buf);
+;
+
+ .export __sysuname, utsdata
+
+ .import utscopy
+
+ __sysuname = utscopy
+
+;--------------------------------------------------------------------------
+; Data. We define a fixed utsname struct here and just copy it.
+
+.rodata
+
+utsdata:
+ ; sysname
+ .asciiz "cc65"
+
+ ; nodename
+ .asciiz ""
+
+ ; release
+ .byte ((.VERSION >> 8) & $0F) + '0'
+ .byte '.'
+ .byte ((.VERSION >> 4) & $0F) + '0'
+ .byte $00
+
+ ; version
+ .byte (.VERSION & $0F) + '0'
+ .byte $00
+
+ ; machine
+ .asciiz "Atari5200"
+
+
+