IO expander programs
parent
da2da87ea3
commit
6e06a2489c
@ -0,0 +1,35 @@
|
||||
LD = ../bin/ld65
|
||||
AS = ../bin/ca65
|
||||
CC = ../bin/cc65
|
||||
AL = ../bin/align
|
||||
|
||||
CINCLUDE = -I../include
|
||||
CFLAGS = -t none --cpu $(CPU)
|
||||
LFLAGS = -C ../lib/rpc8e.cfg
|
||||
LLIBS = ../lib/rpc8e.lib
|
||||
|
||||
#gonna leave this here for now
|
||||
CPU = 65c02
|
||||
|
||||
|
||||
IMAGES = test_iox.img
|
||||
|
||||
.PHONY: all
|
||||
|
||||
all: $(IMAGES)
|
||||
|
||||
%.s: %.c
|
||||
$(CC) $(CFLAGS) $(CINCLUDE) $<
|
||||
|
||||
%.o: %.s
|
||||
$(AS) $(CFLAGS) $<
|
||||
|
||||
%.img: %.o
|
||||
$(LD) $(LFLAGS) $< $(LLIBS) -o $@
|
||||
$(AL) $@
|
||||
|
||||
|
||||
clean:
|
||||
rm *.o *.s
|
||||
|
||||
.SUFFIXES:
|
@ -0,0 +1,30 @@
|
||||
#include "conio.h"
|
||||
#include <string.h>
|
||||
|
||||
#define redbus 0x0300
|
||||
|
||||
int conid = 0x01;
|
||||
|
||||
void conprint(char str[], int x, int y, int mode){
|
||||
con = (Console*)redbus;
|
||||
rb_map_device(conid);
|
||||
str_size = strlen(str);
|
||||
con->cursor_mode = mode;
|
||||
line = y;
|
||||
con->line = line;
|
||||
for (i = 0; i < str_size; i++){
|
||||
if (((y % 50) + (x + i) / 80) != line) {
|
||||
line = (y % 50) + (x + i) / 80;
|
||||
con->line = line;
|
||||
}
|
||||
con->display[(int)(x + i) % 80] = str[i];
|
||||
}
|
||||
}
|
||||
|
||||
void set_conid(int id){
|
||||
conid = id;
|
||||
}
|
||||
|
||||
int get_conid(){
|
||||
return conid;
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
int i;
|
||||
int line;
|
||||
int str_size;
|
||||
Console* con;
|
||||
void conprint(char str[], int x, int y, int mode);
|
@ -0,0 +1,24 @@
|
||||
//test_iox.c
|
||||
|
||||
#include <redbus.h>
|
||||
#include <console.h>
|
||||
#include <iox.h>
|
||||
#include "test_iox.h"
|
||||
#include <string.h>
|
||||
#include "conio.c"
|
||||
|
||||
#define redbus 0x0300
|
||||
#define IOXID 0x03
|
||||
|
||||
Iox* expand;
|
||||
int* output;
|
||||
|
||||
void main() {
|
||||
rb_set_window((void*)redbus);
|
||||
rb_enable();
|
||||
expand = (Iox*)redbus;
|
||||
rb_map_device(IOXID);
|
||||
expand->out = 0;
|
||||
output = (int*)expand->in;
|
||||
conprint("very Nice", 40, 25, 3);
|
||||
}
|
Loading…
Reference in New Issue