Commit Graph

387 Commits

Author SHA1 Message Date
Bobbi Webber-Manners
d5358955f2 Fixed bug in smtp65 which was breaking long messages. CR->CRLF conversion. 2020-07-26 23:26:00 -04:00
Bobbi Webber-Manners
bf2b75e861 Bug fixes for base64 encoding, scrollback. WIP code for adding attachments. 2020-07-26 19:06:21 -04:00
Bobbi Webber-Manners
98cb6c4077 Added OA-I "Insert file" command 2020-07-24 21:30:16 -04:00
Bobbi Webber-Manners
fc7f6ae684 EDIT now looks for EMAIL.SYSTEM in current dir (not /IP65) 2020-07-24 01:19:52 -04:00
Bobbi Webber-Manners
567e1a55d9 Fixed bug in edit.c - incorrect screen update if EOL is first insertation 2020-07-23 22:32:37 -04:00
Bobbi Webber-Manners
5aeb10cf0b Fixed email_pager() so it shows correct # of lines in all cases 2020-07-21 23:01:02 -04:00
Bobbi Webber-Manners
8a4b99441f Refactored some of email_pager() in preparation for bug fix 2020-07-21 22:54:56 -04:00
Bobbi Webber-Manners
927944ce4c Added Base64 encoder for attachments. 2020-07-21 22:26:32 -04:00
Bobbi Webber-Manners
359a7c1018 Can now decode MIME messages which are not multi-part 2020-07-21 21:16:39 -04:00
Bobbi Webber-Manners
4e8ea63c4e The MIME line wrapping code is now used for plain text (7bit) too 2020-07-21 11:30:45 -04:00
Bobbi Webber-Manners
c02182e3a3 Bumped up version to 0.85 2020-07-20 23:06:10 -04:00
Bobbi Webber-Manners
c21e07fac3 Finished up loose ends. Quoted-printable word wraps properly now. 2020-07-20 23:00:55 -04:00
Bobbi Webber-Manners
a8dc30962a Reworking of email_pager() / word_wrap_line_mime() is working now. 2020-07-20 22:41:30 -04:00
Bobbi Webber-Manners
4231d627b9 Updates to email_pager() / wrap_line_mime() are *mostly* working now 2020-07-20 22:20:40 -04:00
Bobbi Webber-Manners
c4c80165c2 Reworked word_wrap_line() to handle MIME properly. Can't enable it yet. 2020-07-20 18:16:53 -04:00
Bobbi Webber-Manners
34c097b962 More refactoring of email_pager(). 2020-07-20 18:07:12 -04:00
Bobbi Webber-Manners
9dd6b2bd3c Refactoring of email_pager() (work-in-progress) 2020-07-20 17:53:22 -04:00
Bobbi Webber-Manners
c4d062ae48 Added explicit param to decode_...() functions to specify buffer. 2020-07-20 17:30:30 -04:00
Bobbi Webber-Manners
e203ea3e0c Added explicit param to get_line() to specify write buffer 2020-07-20 17:20:44 -04:00
Bobbi Webber-Manners
20b5bc527a Added screenshot of EDIT's help page, in lieu of proper docs 2020-07-19 22:00:23 -04:00
Bobbi Webber-Manners
9376dce5dd Change return type of main() to void, to avoid warning. 2020-07-19 20:25:49 -04:00
Bobbi Webber-Manners
a04819d630 Updated EMAIL.SYSTEM Ctrl-keys to use Open Apple instead. 2020-07-19 18:03:01 -04:00
Bobbi Webber-Manners
4a920c5bbc Fixed some screen corruption bugs. Addressed some other irritations. 2020-07-19 17:53:49 -04:00
Bobbi Webber-Manners
b2b1a03dec Refinements to OA-L "Load" command. 2020-07-19 12:25:55 -04:00
Bobbi Webber-Manners
d3f80e9205 Allow ESC to abort when entering names. Minor UI cleanup. 2020-07-19 11:15:57 -04:00
Bobbi Webber-Manners
eb660103a9 Improved OA-R "Replace" function. 2020-07-19 01:25:29 -04:00
Bobbi Webber-Manners
f7b574a044 Fixed bug with OA-M Move command 2020-07-19 01:03:27 -04:00
Bobbi Webber-Manners
0c53299815 Moved some more code to LC. Allows bigger edit buffer. 2020-07-19 00:21:03 -04:00
Bobbi Webber-Manners
8539821d71 Implemented OA-N "Name file" command. Made saving more paranoid. 2020-07-19 00:01:59 -04:00
Bobbi Webber-Manners
315fd8d2ac OA-R Replace command is now implemented. More or less feature complete. 2020-07-18 02:09:14 -04:00
Bobbi Webber-Manners
bc58e3689f Added modified flag and chance to save unsaved changes on exit 2020-07-18 01:45:36 -04:00
Bobbi Webber-Manners
0e3e7ee449 Park selection at the end, when not being used 2020-07-18 01:27:23 -04:00
Bobbi Webber-Manners
1561c6d8d4 Convenient repeat search 2020-07-18 01:22:33 -04:00
Bobbi Webber-Manners
0eccbbf85a OA-F 'Find' command implemented 2020-07-18 00:59:35 -04:00
Bobbi Webber-Manners
860ee06a42 Added help screen 2020-07-18 00:03:27 -04:00
Bobbi Webber-Manners
8a5905908e Block copy and move working. Other Appleworks keystrokes implemented. 2020-07-17 22:33:25 -04:00
Bobbi Webber-Manners
65e7ec6d8d Selection delete is working now 2020-07-17 20:08:26 -04:00
Bobbi Webber-Manners
289b54b96e Bug fix to update_after_delete*() routines. Start of support for selection. 2020-07-17 17:30:16 -04:00
Bobbi Webber-Manners
5120c43ddd Fixed some cursor movement bugs. More fixes to screen refresh. 2020-07-16 21:10:27 -04:00
Bobbi Webber-Manners
6b9a0cf1f2 Fixed some screen refresh bugs in EDIT. Seems okay now. 2020-07-16 19:16:59 -04:00
Bobbi Webber-Manners
f0441f5668 Editor improvements. Load/Save/New file. Prompting. Error messages. 2020-07-16 17:38:37 -04:00
Bobbi Webber-Manners
90f20a31d7 Added new 'E' command to open message in editor 2020-07-16 17:36:01 -04:00
Bobbi Webber-Manners
dedb05e6fa Got rid of '!' command (debug) 2020-07-16 16:27:15 -04:00
Bobbi Webber-Manners
3a17401b76 Fixed some crashing bugs. Screen refresh is still bug-o-rama. 2020-07-16 00:33:48 -04:00
Bobbi Webber-Manners
7c64f5baf2 Minor improvements to editor. Changed keymap. 2020-07-16 00:00:34 -04:00
Bobbi Webber-Manners
0b6be8bba3 Added save command finally!! 2020-07-15 20:46:43 -04:00
Bobbi Webber-Manners
c055609f2c Time for a version bump. 0.7. 2020-07-15 20:21:03 -04:00
Bobbi Webber-Manners
2ad28c454c EMAIL can now pass filename to be edited to EDIT. 2020-07-15 20:15:57 -04:00
Bobbi Webber-Manners
c02af8d466 EMAIL can now invoke POP65 and SMTP65, and they will invoke it in return 2020-07-15 19:45:25 -04:00
Bobbi Webber-Manners
1a1b499e43 EMAIL can now load EDIT, and vice versa. 2020-07-15 18:51:46 -04:00
Bobbi Webber-Manners
532c0cd4a3 Added code to load_file() to convert tabs to spaces 2020-07-15 17:56:40 -04:00
Bobbi Webber-Manners
9827442408 Added test file for editor. 2020-07-15 17:24:02 -04:00
Bobbi Webber-Manners
c30952d246 Updated README-emailler.md to reflect change to config filename 2020-07-15 17:21:59 -04:00
Bobbi Webber-Manners
caf217a29b Renamed config file to EMAIL.CFG. Added blank 800K ProDOS image. 2020-07-15 17:20:13 -04:00
Bobbi Webber-Manners
1f338e98ca Fixed crashing with cursor down at end of file. Belt and braces. 2020-07-13 00:05:15 -04:00
Bobbi Webber-Manners
2c0c746b9f Fixed bug whereby you could scroll off top (can still scroll off bottom) 2020-07-12 23:12:01 -04:00
Bobbi Webber-Manners
fd4a85b767 Convert tab to spaces for keyboard input 2020-07-12 19:05:25 -04:00
Bobbi Webber-Manners
419bcf4e5c Fixes to scrolling, cursor positioning. 2020-07-12 18:19:06 -04:00
Bobbi Webber-Manners
adabb7c0f3 Fixed bug where screen did not get properly updated after deletion 2020-07-12 18:03:05 -04:00
Bobbi Webber-Manners
1943dc2558 First sort-of-working version of edit.c. Work-in-progress. 2020-07-12 17:34:11 -04:00
Bobbi Webber-Manners
7175a78ec8 Bump version to v0.6 2020-07-08 19:20:08 -04:00
Bobbi Webber-Manners
49ecd167ff Fixed get_line.c in pop65.c and smtp65.c. Fixed smtp65 error handling. 2020-07-08 18:28:33 -04:00
Bobbi Webber-Manners
56874574f3 get_line() fixes for rebuild.c 2020-07-08 17:11:53 -04:00
Bobbi Webber-Manners
9c85bf5d78 Fixed get_line() bugs in email.c 2020-07-08 17:05:20 -04:00
Bobbi Webber-Manners
27a0a05ae2 Improvements to rebuild.c so messages processed in numerical order 2020-07-08 14:46:49 -04:00
Bobbi Webber-Manners
62c68cb1ff Updated screenshots and README-emailler.md 2020-07-08 02:12:34 -04:00
Bobbi Webber-Manners
5493171d14 Fixed bug with aborting F)wd 2020-07-08 00:50:20 -04:00
Bobbi Webber-Manners
3b2b7088af Finally, some documentation updates. 2020-07-08 00:00:43 -04:00
Bobbi Webber-Manners
009c70fcc0 Fixed bugs when there are no messages in mbox (no selection!) 2020-07-07 23:09:47 -04:00
Bobbi Webber-Manners
3c88170354 Bail out gracefully if not able to seek empty mbox in reverse view 2020-07-07 22:52:36 -04:00
Bobbi Webber-Manners
c2617a21e4 Made my ASCII art fancier. 2020-07-07 22:12:28 -04:00
Bobbi Webber-Manners
b50cf66eb4 Do not include cc if blank. Added ASCII art image for empty mailbox. 2020-07-07 22:04:56 -04:00
Bobbi Webber-Manners
7feef999b0 Fixed bug in get_db_index() when reverse == 1 2020-07-07 21:33:56 -04:00
Bobbi Webber-Manners
dd2e545c4a rebuild.c marks messages as read when rebuilding EMAIL.DB 2020-07-07 20:09:15 -04:00
Bobbi Webber-Manners
9ba05ef98b Added utility for rebuilding EMAIL.DB. Other minor fixes. 2020-07-07 19:23:16 -04:00
Bobbi Webber-Manners
a8a81a4acf Fixed bug that was corrupting EMAIL.DB by using wrong idx when order reversed 2020-07-07 04:15:04 -04:00
Bobbi Webber-Manners
3aab6c2df5 Conditionally compile out reverse mode keys. Dangerous atm. 2020-07-07 03:52:36 -04:00
Bobbi Webber-Manners
6fa7af0931 Show spinner when downloading text file attachments 2020-07-07 03:12:15 -04:00
Bobbi Webber-Manners
f008dfc529 Added function to reverse order of mailbox summary using '<'/'>' keys 2020-07-07 02:23:07 -04:00
Bobbi Webber-Manners
0d0d562320 Fixed memory leak when read_email_db() is called with initialize==1 2020-07-07 01:36:49 -04:00
Bobbi Webber-Manners
f806be152b Scrolling preserves the screen holes now. 2020-07-06 12:10:47 -04:00
Bobbi Webber-Manners
369b6b4799 Fixed bug - readp uninitialized in email_pager() 2020-07-05 23:52:35 -04:00
Bobbi Webber-Manners
22b032a003 Bumped up version to v0.5 for the hell of it 2020-07-05 23:34:43 -04:00
Bobbi Webber-Manners
5fe4fb7148 Implemented scrollback dumping/restoring screen memory from disk file 2020-07-05 23:31:38 -04:00
Bobbi Webber-Manners
52a40d6bf4 Finished refactoring of MIME decoding, display & save to file 2020-07-05 19:01:31 -04:00
Bobbi Webber-Manners
b0b92c555d Truncate strings without spaces to 80 chars 2020-07-05 18:09:48 -04:00
Bobbi Webber-Manners
5feea91a24 More minor fixup to email_pager() 2020-07-05 17:32:54 -04:00
Bobbi Webber-Manners
2e478b0da3 Code cleanup. Show spinner when skipping attachment. 2020-07-05 17:29:36 -04:00
Bobbi Webber-Manners
856067e9ce Implemented line wrapping for plain text and MIME quoted-printable 2020-07-05 16:33:16 -04:00
Bobbi Webber-Manners
d8f446a41c First part of refactoring of email_pager() function. More to come. 2020-07-04 23:22:23 -04:00
Bobbi Webber-Manners
76217e68bf Renamed label 2020-07-04 19:51:33 -04:00
Bobbi Webber-Manners
db376e06e0 Code cleanup in email_pager() 2020-07-04 19:48:59 -04:00
Bobbi Webber-Manners
71cc1073e9 Reset get_line() buffer when seeking 2020-07-04 19:38:01 -04:00
Bobbi Webber-Manners
8bf4b0e50a Sanitize MIME filenames for ProDOS 2020-07-03 04:12:12 -04:00
Bobbi Webber-Manners
e18aa8680d Fixed type of base64 decode table. Should be int8_t[] 2020-07-02 23:28:16 -04:00
Bobbi Webber-Manners
b96a26ddc9 Minor efficiency improvements in email_pager() loop. 2020-07-02 19:30:38 -04:00
Bobbi Webber-Manners
6d09addf98 Improved the efficiency of Base64 decoding a bit 2020-07-02 19:02:24 -04:00
Bobbi Webber-Manners
9e97d399ac Improved base64 decoder performance a little (using table) 2020-07-02 00:19:16 -04:00
Bobbi Webber-Manners
5b520be724 Added y/n prompt to download attachment. 2020-07-01 23:26:39 -04:00
Bobbi Webber-Manners
9bdb194695 Clean up spinner after downloading attachment 2020-07-01 23:14:28 -04:00
Bobbi Webber-Manners
0de9fc34a0 Some MIME bugfixes (closing files etc.) Added spinner for saving attachment. 2020-07-01 23:07:02 -04:00
Bobbi Webber-Manners
6a4889bf63 Initial support for saving attachments to file 2020-07-01 19:48:22 -04:00
Bobbi Webber-Manners
d2da9ddaec Initial support for MIME decoding of quoted-printable 2020-07-01 17:01:54 -04:00
Bobbi Webber-Manners
0931186084 Don't create EMAIL.DB in OUTBOX. Prompt for email addr when forwarding. 2020-07-01 00:10:27 -04:00
Bobbi Webber-Manners
e564110348 pop65.c: Fixed bug where CRLF.CRLF would not be detected on packet boundary 2020-06-30 22:53:23 -04:00
Bobbi Webber-Manners
ec3e4d8e8a Added screenshots of POP65 and SMTP64 2020-06-30 20:58:50 -04:00
Bobbi Webber-Manners
1d249d1bc5 Added screenshots to README-emailler.md 2020-06-30 15:51:43 -04:00
Bobbi Webber-Manners
71ef8c6f76 Checked in screenshots 2020-06-30 15:49:46 -04:00
Bobbi Webber-Manners
552ff8600b Removed extraneous linebreak in email headers 2020-06-30 13:33:25 -04:00
Bobbi Webber-Manners
11901d908e Fixed line-endings in blank new email 2020-06-30 13:28:00 -04:00
Bobbi Webber-Manners
34d334cadb smtp.c: Fixed typo in comment 2020-06-30 10:57:34 -04:00
Bobbi Webber-Manners
2111259899 pop65.c: Fixed bug where spinner text was corrupted by DELE command 2020-06-30 10:57:03 -04:00
Bobbi Webber-Manners
b586c108fe email.c: Reload mailbox after P)urge command 2020-06-30 10:56:38 -04:00
Bobbi Webber-Manners
87d4b8e94f Fixed bug - X-Mailer: header missing when creating blank email 2020-06-30 02:33:06 -04:00
Bobbi Webber-Manners
8d7ece7173 Fixed bug - 19 messages total, 18 per page, can't advance to page 2. 2020-06-30 00:43:54 -04:00
Bobbi Webber-Manners
017f9abd87 Fixed a bug copying message to the SENT mailbox 2020-06-30 00:20:03 -04:00
Bobbi Webber-Manners
359eb7b3f0 More README-emailler.md 2020-06-29 23:07:50 -04:00
Bobbi Webber-Manners
2339275bb4 Minor code cleanup 2020-06-29 19:54:57 -04:00
Bobbi Webber-Manners
6d9fcc5dbe email.c: Automatically put date/time string in outgoing emails 2020-06-29 19:51:34 -04:00
Bobbi Webber-Manners
9c19434397 Show system date in status bar. Code cleanup. 2020-06-29 19:23:53 -04:00
Bobbi Webber-Manners
aecf9496ec Prompt for Subject, To, Cc when composing a new message 2020-06-29 18:29:05 -04:00
Bobbi Webber-Manners
7198868fb2 POP65: Added option to delete messages from POP3 server 2020-06-29 17:51:12 -04:00
Bobbi Webber-Manners
1b75b8f708 Finished SMTP65 - copy msg to SENT, clean up OUTBOX. Multiple recipients. 2020-06-29 16:59:46 -04:00
Bobbi Webber-Manners
eebbf62cac email.c: Removed debug printout accidentally checked in 2020-06-29 16:00:51 -04:00
Bobbi Webber-Manners
1c274a02a8 email.c: Create files with correct file type. Handle <> in From field. 2020-06-29 15:58:16 -04:00
Bobbi Webber-Manners
a83df5ad8b POP65 - create files with correct type. Clean up spool dir. 2020-06-29 15:57:29 -04:00
Bobbi Webber-Manners
efb66656e6 Fixed X-Mailer header. 2020-06-29 00:22:52 -04:00
Bobbi Webber-Manners
effe9ee473 Sender and recipient were back to front in SMTP65! 2020-06-28 23:42:38 -04:00
Bobbi Webber-Manners
219c435a49 SMTP65 can send messages now - still not complete though! 2020-06-28 23:15:09 -04:00
Bobbi Webber-Manners
b616df27f7 In progress checkin of SMTP65. Not working yet. 2020-06-28 13:14:29 -04:00
Bobbi Webber-Manners
260e9dde20 Added write, reply & forward functions. No editor yet. 2020-06-28 00:25:49 -04:00
Bobbi Webber-Manners
530efc85f1 Beginnings of support for sending messages 2020-06-27 21:00:50 -04:00
Bobbi Webber-Manners
b621b4eb64 Removed dead code 2020-06-27 20:38:08 -04:00
Bobbi Webber-Manners
40738651d0 Stop showing message numbers in the UI. It is debug really. 2020-06-27 20:02:09 -04:00
Bobbi Webber-Manners
901b67396e Use cursor row location (0x25) in the pager; robust to long lines! 2020-06-27 19:54:40 -04:00
Bobbi Webber-Manners
fb7647357e Added logo graphic for Emai//er. 2020-06-27 19:15:39 -04:00
Bobbi Webber-Manners
7a1b29128b Implemented purge feature to permanently delete emails 2020-06-27 02:53:46 -04:00
Bobbi Webber-Manners
c2ab1ceb17 Forgot to update TODO comment 2020-06-26 23:50:21 -04:00
Bobbi Webber-Manners
2e19576cad Move to next email automatically when tagging, to allow rapid tagging 2020-06-26 23:47:05 -04:00
Bobbi Webber-Manners
ac968c032f Show count when copying tagged group of messages 2020-06-26 23:42:03 -04:00
Bobbi Webber-Manners
42cd7b65c1 Copy and move of a group of tagged emails to another mbox is implemented 2020-06-26 23:27:59 -04:00
Bobbi Webber-Manners
24041072bb Added support for tagging messages (nothing uses it yet) 2020-06-26 20:28:41 -04:00
Bobbi Webber-Manners
d263f86941 More refinements to the error handling 2020-06-26 19:30:06 -04:00
Bobbi Webber-Manners
60d910aacb Improved error handling 2020-06-26 19:17:05 -04:00
Bobbi Webber-Manners
1628f98009 Improved UI prompts and validation 2020-06-26 17:57:38 -04:00
Bobbi Webber-Manners
455ffbdab8 Sped up email copies between mboxes 2020-06-26 14:12:58 -04:00
Bobbi Webber-Manners
0feb779b55 First implementation of code to copy messages to another mbox 2020-06-26 13:44:21 -04:00
Bobbi Webber-Manners
a14a347f31 'New mailbox' and 'Change mailbox' implemented 2020-06-26 12:09:20 -04:00
Bobbi Webber-Manners
64cf1e7e58 Added missing break 2020-06-26 11:30:30 -04:00
Bobbi Webber-Manners
fa59ce9a2e Added function to create new mailbox 2020-06-26 11:29:45 -04:00
Bobbi Webber-Manners
84cac8efd4 Initial support for reading multiple mboxes 2020-06-26 11:00:11 -04:00
Bobbi Webber-Manners
4a2a942365 Added code for persisting email read/deleted status in EMAIL.DB 2020-06-25 23:18:23 -04:00
Bobbi Webber-Manners
872c5c3339 Show count of new message. Bug fix for multi-page summary. 2020-06-25 22:35:14 -04:00
Bobbi Webber-Manners
68069a2ac8 Added email status byte (del, read etc.) Support for multiple summary pages. 2020-06-25 21:47:03 -04:00
Bobbi Webber-Manners
03047d9fce Bugfix to EMAIL.SYSTEM 'B' (page up) command 2020-06-25 14:30:10 -04:00
Bobbi Webber-Manners
b3b556b440 Improvements to EMAIL.DB format. Don't delete headers, just hide them. 2020-06-25 14:23:38 -04:00
Bobbi Webber-Manners
71cfe5f60b POP65 can now append messages to the INBOX 2020-06-24 23:57:32 -04:00
Bobbi Webber-Manners
48912b1389 Improvements to email pager (almost usable now!) 2020-06-24 23:08:40 -04:00
Bobbi Webber-Manners
4f35b52c2b Further improvements to email reader 2020-06-24 22:05:55 -04:00
Bobbi Webber-Manners
2d01f84982 First hack at email summary UI with highlight bar 2020-06-24 20:25:31 -04:00
Bobbi Webber-Manners
9cee699f99 Further improvements to pop65.c and email.c user interface 2020-06-24 17:50:19 -04:00
Bobbi Webber-Manners
3183a67ce1 Initial work on EMAIL.SYSTEM, the user agent 2020-06-24 17:22:35 -04:00
Bobbi Webber-Manners
5a6d968c9d Creates a summary database so the UI can access headers quickly 2020-06-24 16:16:23 -04:00
Bobbi Webber-Manners
9abeb415dc Copy messages to INBOX, CRLF->CR line endings, find headers 2020-06-24 14:05:38 -04:00
Bobbi Webber-Manners
e52d5146f5 Slightly improved header parsing 2020-06-24 01:12:02 -04:00
Bobbi Webber-Manners
8ae1b5a05e First pass at parsing email headers, populating INBOX. 2020-06-24 00:58:39 -04:00
Bobbi Webber-Manners
294f77c4e8 Improved status display 2020-06-23 22:50:52 -04:00
Bobbi Webber-Manners
e0c33191c5 POP65 downloads to files now, and has a nice progress spinner 2020-06-23 19:05:44 -04:00
Bobbi Webber-Manners
d72fefa0f4 New version of POP65.c (work-in-progress). Uses Uthernet-II TCP. 2020-06-22 22:40:32 -04:00
Bobbi Webber-Manners
14ccbd1a1d Maybe slightly less slow?? 2020-06-21 23:01:22 -04:00
Bobbi Webber-Manners
1b1e391e32 Started work on POP3 client for ProDOS 2020-06-21 22:21:26 -04:00
Bobbi Webber-Manners
9c5bc1a270 Fixed a file-reading bug 2020-06-21 02:54:41 -04:00
Bobbi Webber-Manners
6858da9747 Print actual timezone in effect after the date/time 2020-06-21 02:31:08 -04:00
Bobbi Webber-Manners
f12af42b16 Automatically determine if ProDOS 2.5 2020-06-21 02:27:11 -04:00
Bobbi Webber-Manners
4fbe994a90 Timezone configuration file TZONE.TXT 2020-06-21 02:19:55 -04:00
Bobbi Webber-Manners
da16e97d00 Improvements to date65: auto-DST support, timezones from file 2020-06-21 02:19:12 -04:00
Oliver Schmidt
e83fe9a9fe Added support using the W5100 with a single socket.
The W5100 has the undocumented feature to wrap around the Address Register on an Auto-Increment at the end of physical address space to its beginning.

However, the only way to make use of that feature is to have only a single socket that uses all of the W5100 physical address space. But having only a single socket by defining SINGLE_SOCKET comes with downsides too:

One mustn't call into IP65 network functions anymore after w5100_config(). Additionally the program doesn't support 'W5100 Shared Access' anymore (https://github.com/a2retrosystems/uthernet2/wiki/W5100-Shared-Access).
2020-05-06 22:37:45 +02:00
Oliver Schmidt
edccf1d1dc Fixed physical address calculation.
The address mask to use is of course dependent on the actual socket memory size.
2020-04-25 23:19:50 +02:00
Oliver Schmidt
f9e28e79b9 Factored out W5100 HTTP client handling.
In order to reduce code duplication for a planned W5100 HTTP client program beside wget65 the W5100 HTTP client code is now available for reuse.
2020-04-20 20:40:28 +02:00
Oliver Schmidt
bbd2906f6f Always return a consistent value. 2020-04-15 21:54:44 +02:00
Oliver Schmidt
6971e9216f Added central error strings. 2020-04-15 14:52:59 +02:00
Oliver Schmidt
a25ed5051f Set disk tool variables to defaults.
If the user fails to set the disk tool variable(s) he now doesn't get syntactically wrong commands but rather file-not-founds. Maybe he even chooses to drop tool(s) into the current directory or add the disk tool path(s) to the PATH variable...
2019-07-15 12:28:27 +02:00
Oliver Schmidt
bcff253678 Bump user visible versions. 2019-05-10 17:47:06 +02:00
Oliver Schmidt
0fb3869716 Added support for the upcoming 'Dracarys' ATARI PBI device.
See https://atariage.com/forums/topic/287376-preannouncement-dragon-cart-ii/
2019-05-08 17:23:00 +02:00
Oliver Schmidt
757d360925 Don't increment string position if nothing was written to the string. 2019-05-07 18:32:46 +02:00
Oliver Schmidt
fe1ea2358d Minor optimization. 2019-05-05 11:37:20 +02:00
Oliver Schmidt
4577c2ab19 Removed Ethernet driver I/O base.
So far the base address of the Ethernet chip was a general property of all Ethernet drivers. It served two purposes:
1. Allowing to use a single Ethernet driver for a certain Ethernet chip, no matter what machine was connected to the chip.
2. Allowing use an Ethernet card in all Apple II slots.

However, we now use customized Ethernet drivers for the individual machines so 1.) isn't relevant anymore. In fact one wants to omit the overhead of a runtime-adjustable base address where it isn't needed.

So only the Apple II slots are left. But this should rather be a driver-internal approach then. We should just hand the driver the slot number the user wants to use and have the driver do its thing.

Independently from the aspect if the driver parameter is a base address or a slot number the parameter handling was changed too. For asm programs there was so far a specific init function to be called prior to the main init function if it was desired to chnage the parameter default. This was done to keep the main init function backward compatible. But now that the parameter (now the slot number) is only used on the Apple II anyhow it seems reasonable to drop the specific init function again and just provide the parameter to the main init function. All C64-only user code can stay as-is. Only Apple II user code needs to by adjusted. Please note that this change only affects asm programs, C programs always used a single init function with the Apple II slot number as parameter.
2019-05-02 14:44:24 +02:00
Oliver Schmidt
43d7d33c31 Removed support for W5100 on the C64.
Now that we have per-target combo driver wrappers we can remove the W5100 support from the C64. There isn't any actual (known) W5100-based solution for the C64.
2019-04-29 16:41:27 +02:00
Oliver Schmidt
6a296b2058 Improved URL selector handling.
parse_url stores the URL selector in the output_buffer - which is currently 520 bytes. A new entry point called parse_url_buffer was added which instead stores the URL selector in a buffer provided by the user.

url_download now calls the new parse_url_buffer instead of parse_url. The buffer for the URL selector is simply the download_buffer. So the download_buffer is used twice: First to hold the URL selector to be sent as request to the server and then to hold the response received from the server.

However, the URL selector still can't exceed the MSS (aka 1460 bytes).

Note: The User-Agent string was shortened by two bytes as that allows a "default" URL (incl. 'http://' but without port number) of exactly 1400 bytes to end up as 1460 bytes URL selector.
2018-11-13 13:19:47 +01:00
Oliver Schmidt
f349ac6bd3 Increased IFTTT webhook key length. 2018-11-07 20:43:20 +01:00
Oliver Schmidt
334bdb88a0 Added Tweet65.
Tweet65 is sample application for triggering an IFTTT maker webhook. If ~450 chars are not enough for the URL then either the IP65 output_buffer needs to be increased or url_parse needs to be modified to use a different buffer. E.g. when called from url_download then the url_download_buffer could be temporarily used to hold the selector.
2018-11-01 14:21:20 +01:00
Oliver Schmidt
5fcfb2beeb Include Apple II specific header only for Apple II. 2018-10-30 20:00:17 +01:00
Oliver Schmidt
63df5ac99e Adjusted line editor to recent change in cc65 CONIO. 2018-09-08 19:38:14 +02:00
Oliver Schmidt
300ca8626a Make use of clock_settime().
clock_gettime(), clock_settime() and clock_getres() were added to the cc65 C libaries the other day.
2018-08-18 23:28:59 +02:00
Oliver Schmidt
56c28694ca Fixed access to argv. 2018-08-06 23:13:22 +02:00
Oliver Schmidt
e7f0b6759b Added download to disk feature.
Beside the code for the actual feature this change introduces analysis of the URL to extract a potential filename to be used for saving. Doing so was a prerequisite for disk download because the filename extension in the URL is the only hint for distinguishing ProDOS sector order disk images from DOS 3.3 sector order images.

So far only the URL input was potentially repeated. Now the file input is potentially repeated as well. For normal file paths there's deliberately still no check. But when entering a drive specifier ("!Sx,Dx") then it is checked for plausibility - and there's an additional confirmation question to keep the user from overwriting the "wrong" disk.

With now having both the URL and file input potentially repeated it became clear that loading and saving the input history shouldn't be repeated - and if the user quits without having entered a valid input the history deliberately isn't saved at all.
2018-08-06 20:33:32 +02:00
Oliver Schmidt
7ac8c55603 First step towards download to disk.
So far we were reading (much) more bytes from the W5100 than necessary when processing the HTTP header. The byte were memmove'd to the beginning of the buffer.

However, when downloading a DOS 3.3 sector order disk image (*.dsk / *.do) then we need to place every DOS 3.3 sector at a certain point in the buffer to avoid additional memcpy's later. Therefore the HTTP header processing mustn't read (or rather commit) any body bytes from the W5100. So we now just check for the "\r\n\r\n" after each and every byte. This is of course less than optimal but small/simple - and the header isn't supposed to be that large anyway.
2018-08-04 13:10:13 +02:00
Oliver Schmidt
66ac29285b Interpret empty input as intend to exit. 2018-08-03 13:58:46 +02:00
Oliver Schmidt
fe215b4eda Added timezone support.
After quite some thoughts it was considered best to simply have the timezone configured in the source code and rebuild if a change is desired/necessary.
2018-08-02 17:37:54 +02:00
Oliver Schmidt
29793d4814 Added (Apple II specific) wget65 program.
IP65 doesn't support TCP flow control. Therefore it doesn't make sense to write a program receiving a significant amount of data via TCP using IP65. From that perspective it makes sense that IP65's HTTP client doesn't allow to handle incoming data with a callback but requires a buffer being able to hold the whole HTTP body.

However, on the Apple II there's the Uthernet II card with its W5100 Ethernet controller chip. That chip has it's own TCP implementation supporting TCP flow control. Therefore the wget65 program uses the W5100 TCP capabilities for the HTTP client.

But even with the W5100 TCP implementation in place IP65 still plays a role for the wget65 program as it desires DHCP and requires (usually) DNS. Both are not supported by the W5100 capabilities.
2018-08-01 19:39:06 +02:00