From dc8812a86248616b2902f40584dda98b18c78334 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 16 Dec 2018 21:55:35 -0500 Subject: [PATCH] gr-sim: add hgr scroll demo --- gr-sim/hgr/BALLC.BIN | Bin 0 -> 8192 bytes gr-sim/hgr/MERRY.BIN | Bin 0 -> 8192 bytes gr-sim/hgr/Makefile | 12 ++++++++-- gr-sim/hgr/scroll.c | 55 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 gr-sim/hgr/BALLC.BIN create mode 100644 gr-sim/hgr/MERRY.BIN create mode 100644 gr-sim/hgr/scroll.c diff --git a/gr-sim/hgr/BALLC.BIN b/gr-sim/hgr/BALLC.BIN new file mode 100644 index 0000000000000000000000000000000000000000..f1def064b234b6dafaa07acb1a52305064e118d3 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/gr-sim/hgr/MERRY.BIN b/gr-sim/hgr/MERRY.BIN new file mode 100644 index 0000000000000000000000000000000000000000..52b04231cadcad20a67fcff116d817b9d393f6df GIT binary patch literal 8192 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 S&=>p*&f2;s8*%tH{{I8f-?t_J literal 0 HcmV?d00001 diff --git a/gr-sim/hgr/Makefile b/gr-sim/hgr/Makefile index 69525f61..0f4d8757 100644 --- a/gr-sim/hgr/Makefile +++ b/gr-sim/hgr/Makefile @@ -6,7 +6,7 @@ SDL_LIBS= `sdl-config --libs` SDL_INCLUDE= `sdl-config --cflags` GR_SIM = ../gr-sim.a -all: fireworks fw_purple lines image_load hgr_view seven random16 +all: fireworks fw_purple lines image_load hgr_view seven random16 scroll ### @@ -65,6 +65,14 @@ random16.o: random16.c #### +scroll: scroll.o $(GR_SIM) + $(CC) $(LFLAGS) $(SDL_LIBS) -o scroll scroll.o $(GR_SIM) + +scroll.o: scroll.c + $(CC) $(CFLAGS) -c scroll.c + +#### + clean: - rm -f *~ *.o fireworks lines image_load hgr_view fw_purple seven random16 + rm -f *~ *.o fireworks lines image_load hgr_view fw_purple seven random16 scroll diff --git a/gr-sim/hgr/scroll.c b/gr-sim/hgr/scroll.c new file mode 100644 index 00000000..136f439a --- /dev/null +++ b/gr-sim/hgr/scroll.c @@ -0,0 +1,55 @@ +#include +#include +#include + +#include + +#include "gr-sim.h" + +int main(int argc, char **argv) { + + int ch,fd; + + grsim_init(); + + home(); + + hgr(); + /* Show all 280x192, no bottom text */ + soft_switch(MIXCLR); + + fd=open("MERRY.BIN",O_RDONLY); + if (fd<0) { + printf("Error opening!\n"); + return -1; + } + read(fd,&ram[0x2000],8192); + close(fd); + + grsim_update(); + + while(1) { + ch=grsim_input(); + if (ch) break; + usleep(100000); + } + + fd=open("BALLC.BIN",O_RDONLY); + if (fd<0) { + printf("Error opening!\n"); + return -1; + } + read(fd,&ram[0x2000],8192); + close(fd); + + grsim_update(); + + while(1) { + ch=grsim_input(); + if (ch) break; + usleep(100000); + } + + + return 0; +}