125 lines
4.2 KiB
C
125 lines
4.2 KiB
C
/* protos.h V1.1.0
|
|
*
|
|
* Prototyper for funksjoner som kun skal brukes av den systemuavhengige koden.
|
|
* Resten av prototypene er i TIKI-100_emul.h
|
|
* Copyright (C) Asbjørn Djupdal 2000-2001
|
|
*/
|
|
|
|
#ifndef PROTOS_H
|
|
#define PROTOS_H
|
|
|
|
/*****************************************************************************/
|
|
/* ctc.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til ctc-kontrollregister */
|
|
void writeCtc0 (byte value);
|
|
void writeCtc1 (byte value);
|
|
void writeCtc2 (byte value);
|
|
void writeCtc3 (byte value);
|
|
/* les ctc-register */
|
|
byte readCtc0 (void);
|
|
byte readCtc1 (void);
|
|
byte readCtc2 (void);
|
|
byte readCtc3 (void);
|
|
/* må kalles regelmessig for å oppdatere tellere og sjekke om interrupt skal genereres */
|
|
void updateCTC (int cycles);
|
|
/* returnerer antall sykler mellom hver ut puls på gitt ctc-kanal */
|
|
int getCtc (int c);
|
|
|
|
/*****************************************************************************/
|
|
/* disk.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til disk-register */
|
|
void diskControl (byte value);
|
|
void newTrack (byte value);
|
|
void newSector (byte value);
|
|
void newDiskData (byte value);
|
|
/* les disk-register */
|
|
byte diskStatus (void);
|
|
byte getTrack (void);
|
|
byte getSector (void);
|
|
byte getDiskData (void);
|
|
/* sett stasjon aktiv / inaktiv */
|
|
void disk0 (boolean status);
|
|
void disk1 (boolean status);
|
|
/* skru motor på / av */
|
|
void diskMotor (boolean status);
|
|
|
|
/*****************************************************************************/
|
|
/* keyboard.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til tastatur-register */
|
|
void resetKeyboard (void);
|
|
/* les tastatur-register */
|
|
byte readKeyboard (void);
|
|
|
|
/*****************************************************************************/
|
|
/* mem.c */
|
|
/*****************************************************************************/
|
|
|
|
/* må kalles før emulering starter */
|
|
int initMem();
|
|
|
|
/*****************************************************************************/
|
|
/* sound.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til lyd-register */
|
|
void soundReg (byte value);
|
|
void soundData (byte value);
|
|
/* les lyd-register */
|
|
byte getSoundData (void);
|
|
|
|
/*****************************************************************************/
|
|
/* video.c */
|
|
/*****************************************************************************/
|
|
|
|
/* tegn gitt byte i grafikkminne til skjerm */
|
|
void drawByte (word addr);
|
|
/* skriv til grafikk-sregister */
|
|
void newMode (byte mode);
|
|
void newColor (byte color);
|
|
/* ny offset (dvs scroll) */
|
|
void newOffset (byte newOffset);
|
|
|
|
/*****************************************************************************/
|
|
/* serial.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til data-register */
|
|
void newSerAData (byte value);
|
|
void newSerBData (byte value);
|
|
/* skriv til kontroll-register */
|
|
void serAControl (byte value);
|
|
void serBControl (byte value);
|
|
/* les data-register */
|
|
byte serAData (void);
|
|
byte serBData (void);
|
|
/* les status-register */
|
|
byte serAStatus (void);
|
|
byte serBStatus (void);
|
|
/* rekalkuler buad-rate (nye ctc-verdier) */
|
|
void recalcBaud (void);
|
|
|
|
/*****************************************************************************/
|
|
/* parallel.c */
|
|
/*****************************************************************************/
|
|
|
|
/* skriv til data-register */
|
|
void newParAData (byte value);
|
|
void newParBData (byte value);
|
|
/* skriv til kontroll-register */
|
|
void parAControl (byte value);
|
|
void parBControl (byte value);
|
|
/* les data-register */
|
|
byte parAData (void);
|
|
byte parBData (void);
|
|
/* les status-register */
|
|
byte parAStatus (void);
|
|
byte parBStatus (void);
|
|
|
|
#endif
|