Commit Graph

552 Commits

Author SHA1 Message Date
Oliver Schmidt
5a1c3fda7e Added timer test to Makefile. 2018-02-06 13:06:05 +01:00
Oliver Schmidt
b81b3538bb Renamed clk_timer*.* to timer*.*
The test uses whatever timer implementation is present in the IP65 library.
2018-02-06 12:53:27 +01:00
Oliver Schmidt
edbe1edcaf Removed superfluous directive. 2018-02-06 12:50:44 +01:00
Oliver Schmidt
dfc8e167be Merge pull request #7 from groessler/something_to_pull
test program for C implementation of timer_seconds
2018-02-05 21:24:28 +00:00
Christian Groessler
1b19f15b6a test program for C implementation of timer_seconds
Makefile changes are missing.
2018-02-05 18:10:07 +01:00
Oliver Schmidt
58d3721058 Merge pull request #6 from groessler/something_to_pull
Use CC65 runtime for Atari and C64 timer functions
2018-02-04 14:34:41 +00:00
Christian Groessler
afada39f9a Use CC65 runtime for Atari and C64 timer functions
This is just for the "C" interface of IP65. clk_timer.s replaces
atr_timer.s (on Atari) and is new for the C64 (there wasn't an
implementation for the "C" interface before).
2018-02-02 20:34:59 +01:00
Oliver Schmidt
673e2da011 Added C interface to HTTPD functions. 2017-12-07 23:03:04 +01:00
Oliver Schmidt
b973526d7e Replaced HTTP response zero-termination with explicit length.
If we want to be able to send application/octet-stream we can't rely on the HTTP response to not contain a zero byte.
2017-12-07 22:57:40 +01:00
Oliver Schmidt
d282290cf0 Removed HTTP output post processing completely.
I don't see the use case for inserting HTTP variables as-is into the HTTP output.
2017-12-07 21:39:25 +01:00
Oliver Schmidt
7ef7414fef Don't rely on dir2atr to fix ATARI DOS filenames. 2017-11-28 10:04:05 +01:00
Oliver Schmidt
cbb93d96fa Add a C interface for atarixl target.
Just some Makefile tweaks were needed...
2017-11-27 23:22:47 +01:00
Oliver Schmidt
85b311ab27 Introduced atr_timer.s
The C library allows us manage de-initializations via atext() so we can avoid the explict timer_exit call necessary in atrtimer.s (used for assembler programs).
2017-11-15 20:13:52 +01:00
Oliver Schmidt
d21fc5bf40 Fixed code style. 2017-11-15 19:45:08 +01:00
Oliver Schmidt
9f652e7c21 Changed HTTP response Server field to something more generic. 2017-11-15 19:24:50 +01:00
Oliver Schmidt
d2d5edca44 Export httpd_send_response.
The HTTP callback is explicitly allowed to send the HTTP response on its own and set the carry to signal that. Therefore it seems reasonable to export httpd_send_response to allow the HTTP callback to make use of the given infrastructure to send the HTTP response.
2017-11-15 19:24:50 +01:00
Oliver Schmidt
4faf0cbeae Minor style adjustment. 2017-11-15 19:24:49 +01:00
Christian Groessler
4103a54c38 adapt peer.c to Unix 2017-11-15 16:08:24 +01:00
Oliver Schmidt
a64e08786c Enable lowercase display on the Apple II.
Given that Telnet65's 80 column display requires an enhanced Apple //e anyway it seems reasonable to have the C applications benefit from building for that target too.
2017-11-10 12:01:30 +01:00
Oliver Schmidt
3034150a6e Minor output beautification. 2017-11-10 11:53:27 +01:00
Oliver Schmidt
393e27922b Added first C application :-)
The date application isn't of much actual use. But it shows
- how easy to use the IP65 C API is
- the power of combining IP65 with the C library
  (going from SNTP time format to a date string in two lines of code)
2017-11-09 22:13:42 +01:00
Oliver Schmidt
a40942075d Removed VIC20 application build.
I don't have plans to support VIC20 applications.
2017-11-09 22:10:11 +01:00
Oliver Schmidt
a75082ca88 Removed VIC20 programs from default recipe.
I don't have plans to support C programs on the VIC20. So now that there are C test programs the simplest solution is to not (try to) build VIC20 test programs as part of the default recipe.
2017-11-09 22:08:57 +01:00
Oliver Schmidt
5427dee30d Added C interface to SNTP function. 2017-11-09 21:48:08 +01:00
Oliver Schmidt
2045754236 Made error constants actually usable from C code. 2017-11-09 21:46:40 +01:00
Oliver Schmidt
2119b2c267 Have Git ignore the Windows peer program artifacts. 2017-11-08 21:01:24 +01:00
Oliver Schmidt
e6684904cf Made tcp_listen return the client IP address.
Together with the recent change to provide the inbound data buffer address and length to the TCP callback function as C parameters this change allows the TCP API to get along without any global variable :-)
2017-11-08 20:59:06 +01:00
Oliver Schmidt
e1bf89d1a8 Use parameters for TCP C callback.
In contrast to the multiple UDP callbacks there's only one TCP callback so it easy to provide a wrapper for the C callback that pushes C parameters on the stack.
2017-11-07 23:05:05 +01:00
Oliver Schmidt
7af0dcd1fa Moved ip65_process directly to data processing.
Now that we process incoming data from the main loop - and use 'buf' both for incoming and outgoing data we should of course make sure that we never trash the incoming data with outgoing data.
2017-11-07 22:57:15 +01:00
Oliver Schmidt
d059cf858a Don't try to get new data while still processing previous data. 2017-11-06 23:40:05 +01:00
Oliver Schmidt
9a8ba804bc Added C interface to TCP functions. 2017-11-06 23:36:44 +01:00
Oliver Schmidt
c4f5c7dbfc Made C program more robust.
The C test program may serve as copy & paste templates so it should make clear that ip65_process() is supposed to be called pretty regularly. Additionally it isn't supposed to be called recursively meaning that recv callbacks need to return quickly and defer longer processing.
2017-11-06 23:23:00 +01:00
Oliver Schmidt
c6efcebf97 Added C interface to timer handling. 2017-11-05 23:16:34 +01:00
Oliver Schmidt
3c9ab2eb5f Added C interface to abort key control. 2017-11-05 22:55:55 +01:00
Oliver Schmidt
6680772b04 Introduced C interface to IP65.
The IP5 usage of ld65 segments and zeropage variables was made compatible with cc65 C programs already a while ago. This commit is the next logical step which is to introduce the actual C interface to IP65.

IP65 for C programs shares the the ip65.lib / ip65_tcp.lib with IP65 for assembler programs. However the various libraries from the 'drivers' are not reused. Instead there's exactly one library for every target named ip65_<target>.lib. Those libraries contain only functions used by ip65.lib / ip65_tcp.lib.

TODOs:

- Introduce c64_timer.s and atr_timer.s.
- Add a C interface to the rest of the IP65 functionality (especially TCP).
2017-11-05 14:28:49 +01:00
Oliver Schmidt
32a66c5d7c Moved httpd.slotscan to ip65test.dsk and dropped ip65demo.dsk.
Now that with Telnet65 there is a "real" application there's no point anymore in the
ip65demo.dsk. Therefore httpd.slotscan is now part of the ordinary ip65test.dsk.
2017-11-04 00:40:35 +01:00
Oliver Schmidt
b6a6a2f66f Renamed 'tcp' to 'math' as the name 'tcp' will be needed soon. 2017-11-04 00:25:09 +01:00
Oliver Schmidt
23ae6c155b Adjusted comment to (surprising) reality. 2017-10-29 00:08:33 +02:00
Oliver Schmidt
ce98f5d738 Removed obsolete test. 2017-10-28 23:01:28 +02:00
Oliver Schmidt
90c83387f2 Removed unused stuff. 2017-10-27 22:56:04 +02:00
Christian Groessler
244df7212e test/vt100.s: add comments and a line with "line drawing" characters 2017-10-11 23:41:16 +02:00
Christian Groessler
411b945972 Fix Atari linker config file in "apps" and "test" directories. 2017-10-02 08:05:39 +02:00
Oliver Schmidt
6ae6037549 Merge pull request #4 from groessler/something_to_pull
c64: fix latency
2017-10-01 20:12:52 +02:00
Christian Groessler
fc4a2aab96 c64input.s: fix latency when typing 2017-09-30 16:17:07 +02:00
Christian Groessler
6e82e722ad Revert "c64input.s: fix stray cursor image in host and port entry"
This reverts commit 03b2579e33.
2017-09-30 15:57:30 +02:00
Oliver Schmidt
8b3c53ee67 c64input.s: fix stray cursor image in host and port entry
This introduces some latency when typing in host name and port. But
I think that's acceptable. (reverted from commit 36369fb714)
2017-09-30 14:57:18 +02:00
Christian Groessler
7145c4e8a0 c64input.s: fix stray cursor image in host and port entry
This introduces some latency when typing in host name and port. But
I think that's acceptable.
2017-09-29 15:47:44 +02:00
Christian Groessler
78864d2c56 atrvt100.s: use ADRESS instead of xVector variable
This was probably an artifact from early stages of porting to the
Atari. Problem manifested itself e.g. when hitting DEL in the middle
of a 'bash' input line.
The change also includes some cleanups as suggested by Oliver.
2017-09-25 23:40:55 +02:00
Christian Groessler
0c0fd3f397 atrtimer.s: initialize the interrupt variables before enabling the interrupt 2017-09-25 17:07:25 +02:00
Christian Groessler
7652194703 atrtimer.s, vic20timer.s: use decimal mode in interrupt handler
Using decimal mode (SED/CLD) reduces the memory footprint and execution time
of the interrupt routine. Some comments were added or fixed, too.
2017-09-24 02:29:42 +02:00