mirror of
https://github.com/nippur72/apple1-videocard-lib.git
synced 2024-10-31 16:04:57 +00:00
add wait_end_of_frame and its demo
This commit is contained in:
parent
0d5a9d6ecd
commit
478cb1ecff
@ -6,6 +6,7 @@
|
||||
#include "demo_interrupt.h"
|
||||
#include "demo_extvid.h"
|
||||
#include "demo_blank.h"
|
||||
#include "demo_end_of_frame.h"
|
||||
|
||||
void help() {
|
||||
woz_puts(
|
||||
@ -16,6 +17,7 @@ void help() {
|
||||
"A AMIGA HAND\r"
|
||||
"I INTERRUPT\r"
|
||||
"E FLIP EXT VIDEO\r"
|
||||
"F TEST END-OF-FRAME\r"
|
||||
"B BLANK ON/OFF\r"
|
||||
"H HELP\r"
|
||||
"0 EXITS\r\r"
|
||||
@ -35,6 +37,7 @@ void main() {
|
||||
else if(key == 'A') demo_amiga_hand();
|
||||
else if(key == 'I') demo_interrupt();
|
||||
else if(key == 'E') flip_external_input();
|
||||
else if(key == 'F') demo_end_of_frame();
|
||||
else if(key == 'B') flip_blank();
|
||||
else if(key == 'H') help();
|
||||
else if(key == '0') break;
|
||||
|
26
demo/demo_end_of_frame.h
Normal file
26
demo/demo_end_of_frame.h
Normal file
@ -0,0 +1,26 @@
|
||||
void demo_end_of_frame() {
|
||||
tms_init_regs(SCREEN1_TABLE);
|
||||
screen1_prepare();
|
||||
screen1_load_font();
|
||||
|
||||
screen1_puts(
|
||||
CLS "\n"
|
||||
"Waitining for 600 ticks by\n"
|
||||
"counting the " REVERSE_ON "END-OF-FRAME" REVERSE_OFF " bit.\n\n"
|
||||
"It will take about 10 seconds.\n\n"
|
||||
);
|
||||
|
||||
word secs = 0;
|
||||
word ticks = 0;
|
||||
while(secs<10) {
|
||||
tms_wait_end_of_frame();
|
||||
ticks++;
|
||||
if(ticks==60) {
|
||||
secs++;
|
||||
ticks = 0;
|
||||
screen1_puts("60 ticks!\n");
|
||||
}
|
||||
}
|
||||
screen1_puts("\n\nDONE!");
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
// TODO finalize hexdump.js and update README.md
|
||||
// TODO allow redefinition of I/O ports
|
||||
// TODO wait_end_of_frame()
|
||||
// TODO screen1() and screen2() helpers
|
||||
|
||||
#pragma encoding(ascii) // encode strings in plain ascii
|
||||
|
||||
@ -157,7 +158,7 @@ void tms_set_external_video(byte val) {
|
||||
tms_write_reg(0, regvalue);
|
||||
}
|
||||
|
||||
void tms_wait_end_of_frame() {
|
||||
inline void tms_wait_end_of_frame() {
|
||||
while(!FRAME_BIT(TMS_READ_CTRL_PORT));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user