add conio.h
This commit is contained in:
parent
913f0d4190
commit
9f8362255f
|
@ -0,0 +1,108 @@
|
||||||
|
#include "conio.h"
|
||||||
|
|
||||||
|
int kbhit(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
lda $c6
|
||||||
|
sta 0x1b
|
||||||
|
lda #0
|
||||||
|
sta 0x1c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int getche(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
L1:
|
||||||
|
jsr $ffe4
|
||||||
|
cmp #0
|
||||||
|
beq L1
|
||||||
|
|
||||||
|
sta 0x1b
|
||||||
|
jsr $ffd2
|
||||||
|
lda #0
|
||||||
|
sta 0x1c
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int getch(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
L1:
|
||||||
|
jsr $ffe4
|
||||||
|
cmp #0
|
||||||
|
beq L1
|
||||||
|
|
||||||
|
sta 0x1b
|
||||||
|
lda #0
|
||||||
|
sta 0x1c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void putch(int c)
|
||||||
|
{
|
||||||
|
__asm {
|
||||||
|
ldy #c
|
||||||
|
lda (fp), y
|
||||||
|
jsr 0xffd2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void clrscr(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
jsr $ff5b
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void gotoxy(int x, int y)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
ldy #y
|
||||||
|
lda (fp), y
|
||||||
|
tax
|
||||||
|
ldy #x
|
||||||
|
lda (fp), y
|
||||||
|
tay
|
||||||
|
clc
|
||||||
|
jsr $fff0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void textcolor(int c)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
ldy #c
|
||||||
|
lda (fp), y
|
||||||
|
sta $0286
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int wherex(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
lda $d3
|
||||||
|
sta 0x1b
|
||||||
|
lda #0
|
||||||
|
sta 0x1c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int wherey(void)
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
lda $d6
|
||||||
|
sta 0x1b
|
||||||
|
lda #0
|
||||||
|
sta 0x1c
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef CONIO_H
|
||||||
|
#define CONIO_H
|
||||||
|
|
||||||
|
int kbhit(void);
|
||||||
|
|
||||||
|
int getche(void);
|
||||||
|
|
||||||
|
int getch(void);
|
||||||
|
|
||||||
|
void putch(int c);
|
||||||
|
|
||||||
|
void clrscr(void);
|
||||||
|
|
||||||
|
void gotoxy(int x, int y);
|
||||||
|
|
||||||
|
void textcolor(int c);
|
||||||
|
|
||||||
|
int wherex(void);
|
||||||
|
|
||||||
|
int wherey(void);
|
||||||
|
|
||||||
|
#pragma compile("conio.c")
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -2162,9 +2162,16 @@ W2:
|
||||||
|
|
||||||
ldy accu
|
ldy accu
|
||||||
lda tmp
|
lda tmp
|
||||||
|
bne W4
|
||||||
|
lda tmp + 1
|
||||||
|
beq W5
|
||||||
|
bne W6
|
||||||
|
W4:
|
||||||
jsr fmul8
|
jsr fmul8
|
||||||
lda tmp + 1
|
lda tmp + 1
|
||||||
|
W6:
|
||||||
jsr fmul8
|
jsr fmul8
|
||||||
|
W5:
|
||||||
lda tmp + 2
|
lda tmp + 2
|
||||||
jsr fmul8
|
jsr fmul8
|
||||||
|
|
||||||
|
@ -2615,19 +2622,6 @@ W2:
|
||||||
rts
|
rts
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma runtime(fsplita, freg.split_aexp)
|
|
||||||
#pragma runtime(fsplitt, freg.split_texp)
|
|
||||||
#pragma runtime(fmergea, freg.merge_aexp)
|
|
||||||
#pragma runtime(faddsub, faddsub)
|
|
||||||
#pragma runtime(fmul, fmul)
|
|
||||||
#pragma runtime(fdiv, fdiv)
|
|
||||||
#pragma runtime(fcmp, fcmp)
|
|
||||||
#pragma runtime(ffromi, sint16_to_float)
|
|
||||||
#pragma runtime(ffromu, uint16_to_float)
|
|
||||||
#pragma runtime(ftoi, f32_to_i16)
|
|
||||||
#pragma runtime(ftou, f32_to_u16)
|
|
||||||
|
|
||||||
|
|
||||||
__asm inp_conv_f32_u16
|
__asm inp_conv_f32_u16
|
||||||
{
|
{
|
||||||
jsr f32_to_u16
|
jsr f32_to_u16
|
||||||
|
|
|
@ -65,7 +65,7 @@ void Emulator::DumpCycles(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Total Cycles %d\n", totalCycles);
|
printf("Total Cycles %d\n", totalCycles);
|
||||||
return;
|
// return;
|
||||||
|
|
||||||
for (int i = 0; i < numTops; i++)
|
for (int i = 0; i < numTops; i++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue