Added 80 column IRC client / web browser for the C64.

Recently support for 80 column CONIO based on 320x200 graphics was added to the cc65 C library for the C64. This change leverages this for the IRC client and the web browser. Because not everybody prefers this 'soft80' display with its small 4x8 charbox the 40 column programs are still available as before (with the new programs called 'irc80' and 'webbrowser80').
This commit is contained in:
Oliver Schmidt 2015-10-30 16:48:00 +01:00
parent fb5d0b7ef0
commit 5443c740e9
5 changed files with 52 additions and 16 deletions

View file

@ -32,8 +32,6 @@
* *
*/ */
#include <string.h>
#include "contiki-net.h" #include "contiki-net.h"
#include "ctk/ctk.h" #include "ctk/ctk.h"
#include "sys/log.h" #include "sys/log.h"

View file

@ -38,6 +38,10 @@ include $(CONTIKI_CPU)/Makefile.6502
CFLAGS += -DWITH_PETSCII CFLAGS += -DWITH_PETSCII
ifeq ($(findstring WITH_80COL,$(DEFINES)),WITH_80COL)
LDFLAGS += c64-soft80.o
endif
ifeq ($(MAKECMDGOALS),disk) ifeq ($(MAKECMDGOALS),disk)
ifndef C1541 ifndef C1541
${error C1541 not defined! You must specify where VICE c1541 resides} ${error C1541 not defined! You must specify where VICE c1541 resides}

View file

@ -42,7 +42,11 @@
#define CTK_CONF_WIDGETUP_KEY CH_F5 #define CTK_CONF_WIDGETUP_KEY CH_F5
#define CTK_CONF_WIDGETDOWN_KEY CH_F7 #define CTK_CONF_WIDGETDOWN_KEY CH_F7
#if WITH_80COL
#define MOUSE_CONF_XTOC(x) ((x) / 4)
#else
#define MOUSE_CONF_XTOC(x) ((x) / 8) #define MOUSE_CONF_XTOC(x) ((x) / 8)
#endif
#define MOUSE_CONF_YTOC(y) ((y) / 8) #define MOUSE_CONF_YTOC(y) ((y) / 8)
#define BORDERCOLOR COLOR_BLACK #define BORDERCOLOR COLOR_BLACK
@ -55,14 +59,22 @@
#define WIDGETCOLOR_FWIN COLOR_GRAY3 #define WIDGETCOLOR_FWIN COLOR_GRAY3
#define WIDGETCOLOR_HLINK COLOR_CYAN #define WIDGETCOLOR_HLINK COLOR_CYAN
#if WITH_80COL
#define IRC_CONF_WIDTH 80
#else
#define IRC_CONF_WIDTH 40 #define IRC_CONF_WIDTH 40
#endif
#define IRC_CONF_HEIGHT 24 #define IRC_CONF_HEIGHT 24
#ifndef TELNETD_CONF_MAX_IDLE_TIME #ifndef TELNETD_CONF_MAX_IDLE_TIME
#define TELNETD_CONF_MAX_IDLE_TIME 300 #define TELNETD_CONF_MAX_IDLE_TIME 300
#endif #endif
#if WITH_80COL
#define WWW_CONF_WEBPAGE_WIDTH 80
#else
#define WWW_CONF_WEBPAGE_WIDTH 40 #define WWW_CONF_WEBPAGE_WIDTH 40
#endif
#define WWW_CONF_WEBPAGE_HEIGHT 20 #define WWW_CONF_WEBPAGE_HEIGHT 20
#define WWW_CONF_HISTORY_SIZE 4 #define WWW_CONF_HISTORY_SIZE 4
#define WWW_CONF_WGET_EXEC(url) exec("wget", url) #define WWW_CONF_WGET_EXEC(url) exec("wget", url)

View file

@ -32,7 +32,7 @@
* *
*/ */
#include <string.h> #include <stdlib.h>
#include "contiki-net.h" #include "contiki-net.h"
#include "ctk/ctk.h" #include "ctk/ctk.h"
@ -79,6 +79,10 @@ main(void)
#endif /* WITH_ARGS */ #endif /* WITH_ARGS */
#if WITH_80COL
_heapadd((void *)0x0400, 0x0400);
#endif /* WITH_80COL */
process_init(); process_init();
#if 1 #if 1

View file

@ -257,24 +257,38 @@ $(eval $(call makes,c64))
c64: contiki-c64.zip c64: contiki-c64.zip
contiki-c64.zip: contiki-c64-1.d64 contiki-c64-2.d64 contiki-c64.d71 contiki-c64.d81 contiki-c64.zip: contiki-c64-1.d64 contiki-c64-2.d64 contiki-c64-3.d64 contiki-c64.d71 contiki-c64.d81
contiki-c64-1.d64: c64-makes contiki-c64-1.d64: c64-makes
$(C1541) -format contiki-1,00 d64 $@ $(C1541) -format contiki-1,00 d64 $@
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p $(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p
$(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p $(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p
$(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p $(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-1351.mou contiki.mou,s $(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-1351.mou contiki.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-inkwell.mou inkwell.mou,s $(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-inkwell.mou inkwell.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-joy.mou joy.mou,s $(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-joy.mou joy.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-pot.mou pot.mou,s $(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-pot.mou pot.mou,s
contiki-c64-2.d64: c64-makes contiki-c64-2.d64: c64-makes
$(C1541) -format contiki-2,00 d64 $@
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p
$(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-1351.mou contiki.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-inkwell.mou inkwell.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-joy.mou joy.mou,s
$(C1541) -attach $@ -write $(CC65_HOME)/mou/c64-pot.mou pot.mou,s
contiki-c64-3.d64: c64-makes
$(C1541) -format contiki-3,00 d64 $@ $(C1541) -format contiki-3,00 d64 $@
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p
@ -297,8 +311,10 @@ contiki-c64.d71: c64-makes
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p $(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p
$(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p $(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p
$(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p $(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p $(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p $(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s
@ -318,8 +334,10 @@ contiki-c64.d81: c64-makes
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p $(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p
$(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p $(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p
$(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p $(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p $(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p $(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s