Commit Graph

43 Commits

Author SHA1 Message Date
Oliver Schmidt
c2e0b9a0e2 Removed 'Dracarys' support.
Given the popularity of FujiNet, there's no momentum anymore for a W5100 device on the ATARI.
2022-07-30 16:14:14 +02:00
Oliver Schmidt
c2a71ee62b Updated several aspects regarding Ethernet drivers.
I. Build Ethernet drivers individually for each target.

After all the Ethernet cards/carts are different enough to ask for customized drivers. Building the drivers individually opens the option to use .ifdef's to customize them.

II. 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.

III. With per-target Ethernet drivers we can have per-target MAC addresses.

IV. Added support for RR-Net MK3 unique MAC addresses.

The RR-Net MK3 can be operated in two modes:

- In cartrigde mode it has a startup-ROM that sets the CS8900A MAC address to the unique MAC address.
- In clockport mode the driver has to read the two lowest MAC address bytes from the EEPROM and combine them with 28:CD:4C:FF.

See http://wiki.icomp.de/wiki/RR-Net#Detecting_MK3 for details.

The driver first checks if the current CS8900A MAC address starts with 28:CD:4C:FF. If it does, it overwrites its built in default MAC address with the CS8900A MAC address.

If the CS8900A MAC address didn't start with 28:CD:4C:FF, it checks if there are two valid MAC address bytes in the EEPROM. If they are there, it overwrites its built in default MAC address with a combination of 28:CD:4C:FF and those two bytes.

V. Added support for the upcoming 'Dracarys' Ethernet PBI for the ATARI.

See http://atariage.com/forums/topic/287376-preannouncement-dragon-cart-ii/ for details on Dracarys.

So far there was only one Ethernet solution for the ATARI. Therefore the relevant driver was loaded statically. With now having two solutions we have to load the corresponding driver dynamically (like on the other machines). Fortunately this doesn't mean significant additional overhead as there are several mouse drivers for the ATARI asking for dynamic mouse driver loading. Therefore the dynamic driver loading infrastructure was linked already.

Another aspect of more than one Ethernet solution is that the Ethernet config program becomes necessary on the ATARI to select the correct driver. Although that program is pretty simple and therefore rather small it means that now only one "major" program fits on a 130kB disk. So we need now 5(!) 130kB disk images instead 3 so far.
2019-05-08 16:46:47 +02:00
Oliver Schmidt
726124965a
Removed Apple][ mouse driver file.
The Apple][ mouse driver file became obsolte with 91beb8670f.
2018-11-03 16:17:05 +01:00
Oliver Schmidt
aced9e2211 Adjusted to cc65 2.17 which generates AppleSingle files. 2018-03-08 17:23:43 +01:00
Oliver Schmidt
91beb8670f Added SLIP support to retro platforms.
The cc65 tool chain comes with V.24 drivers so it seems reasonable to use the existing Contiki SLIP driver to implement network access via SLIP as alternative to Ethernet.

Some notes:
- The Ethernet configuration was simplified in order to allow share it with SLIP.
- The Contiki SLIP driver presumes an interrupt driven serial receiver to write into the SLIP buffer. However the cc65 V.24 drivers aren't up to that. Therefore the main loops were extended to pull received data from the V.24 buffers and push it into the SLIP buffer.
- As far as I understand the serial sender is supposed to block until the data is sent. Therefore a loop calls the non-blocking V.24 driver until the data is sent.

On all platforms there's only one V.24 driver available. Therefore V.24 drivers are always loaded statically.

On the Apple][ the mouse driver is now loaded statically - independently from SLIP vs. Ethernet. After all there's only one mouse driver available. However there's a major benefit with SLIP: Here all drivers are loaded statically. Therefore the dynamic module loader isn't necessary at all. And without the loader the heap manager isn't necessary at all. This allows for a reduction in code size roughly compensating for the size of the SLIP buffer.
2017-02-15 23:43:28 +01:00
Oliver Schmidt
a6472c8dd9 Revert to static Ethernet driver for the ATARI.
After all there's no momentum for a W5100-based Ethernet solution on the ATARI. So I revert to static linkage of the CS8900A driver as this improves program load times.
2017-01-27 00:18:25 +01:00
Christian Groessler
4373aecec2 Tag non-file goals as ".PHONY" 2016-07-05 00:47:52 +02:00
Christian Groessler
c26085ec8c Some 6502 target changes
- platform/atarixl/Makefile.atarixl: put two more objects into high memory
- platform/atarixl/contiki-conf.h: define WWW_CONF_WGET_EXEC
- tools/6502/Makefile: add 'clean' target; remove unused CONTIKI define
2016-06-17 16:42:50 +02:00
Oliver Schmidt
ae0c5f0dd0 Make use of new cl65 option --print-target-path.
The new cl65 option --print-target-path allows to get rid of CC65_HOME altogether.
2016-06-03 13:30:25 +02:00
Oliver Schmidt
5443c740e9 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').
2015-10-30 16:48:00 +01:00
Oliver Schmidt
fb5d0b7ef0 Made 80 column display a cc65 application attribute.
So far 80 column display was an attribute of a cc65 platform. Now each cc65 application can ask for 80 column display by defining WITH_80COL. Of course this is ignored by platforms incapable of 80 column display.

I see three types of application:

* Applications not benefitting from 80 column at all and in fact looking better with 40 column display. These are now using 40 column display. Examples: ethconfig, ipconfig

* Applications taking advantage of 80 column display if it is available without drawbacks. These stay as they were. Examples: Telnet server, web server, wget

* Applications needing 80 column display so urgently that it is likely desirable even if the display becomes harder to read. These come now in both flavors allowing the user to choose. Examples: IRC, web browser

Note: This change doesn't actually introduce any 80 column display with drawbacks. This if left to a subsequent change.
2015-10-30 12:42:58 +01:00
Oliver Schmidt
4db4b7fcf2 Added ZIP file creation to retro distro Makefile.
The ZIP includes a comment containing the Git SHA of the code built.
2015-10-20 18:18:35 +02:00
Oliver Schmidt
a3dba2e25c Changed Apple II 800kB floppy image type.
The .2mg image format contains a header which is missing from our file. So our file is rather a .po image.

I opted to not add the .2mg header as it is only necessary if the metadata it contains differs from the values "guessed" when using the "naked" .po image format. On the other hand there are image file consumers not understanding the .2mg image format.
2015-07-05 14:21:03 +02:00
Oliver Schmidt
1493648fab Removed obsolete apps from retro distribution.
- By end of Jan 2014 SuperTweet.net was shut down (http://supertweetnews.140plus.com/). So Breadbox64 has come to an end for sure :-(

- The email app - or rather email sending app as it is SMTP only - can't be used anymore since nowadays everybody uses some "strong" authentication for SMTP session logon (thanks NSA).

- The ftp client app isn't very useful as it supports only download - for which the WGET app is almost always more useful for. But more important it doesn't support PASV which is more or less the only supported mode nowadays (especially over NAT).
2015-06-14 21:19:37 +02:00
Oliver Schmidt
da536cb07c Removed superfluous AppleCommander parameters. 2015-02-21 17:16:08 +01:00
Oliver Schmidt
510678bed0 Added mouse support for the Atari. 2014-01-20 22:51:40 +01:00
Oliver Schmidt
a24865de72 Add somewhat more support to use different mouse drivers.
- The default mouse driver is now always named 'contiki.mou'.
- Alternative mouse drivers are present in the disk images.
- Users can select their mouse driver by renaming the files.
2014-01-17 23:45:59 +01:00
Oliver Schmidt
3b2173e01f Have CBM DOS filetype of imported files match the one used by cc65.
CFS_WRITE implies O_TRUNC which is implemented on CBM DOS by deleting an
exsisting file. Hoewever this succeeds only if the CBM DOS filetype matches.

We need a working O_TRUNC in order to be able to overwrite the contiki.cfg
configuration file.

Note: Now it has be clarified why overwriting the configuration file started to
fail the CBM PFS (platform file system) can be activated for the recently added
ethconfig program.
2013-12-12 18:57:40 +01:00
Oliver Schmidt
737d5fd6dc Replaced web configurator with target-based ethconfig. 2013-11-21 21:57:42 +01:00
Oliver Schmidt
c6474cc8bc Final adjustments for the switch from 'atari' to 'atarixl'. 2013-10-06 17:23:39 +02:00
Oliver Schmidt
70d7953ce7 Adjustments for the switch from 'atari' to 'atarixl'. 2013-10-03 23:54:33 +02:00
Oliver Schmidt
16590095f7 Removed some more old RCS tags from the Contiki source tree. 2013-06-18 19:19:37 +02:00
Oliver Schmidt
010d495e03 loader.system is now official part of the cc65 Apple II support. 2013-02-17 00:30:55 +01:00
Oliver Schmidt
5ed35d5c25 Added Atari 800k (MyDOS 4.53/4) floppy image. 2013-02-05 23:06:48 +01:00
Oliver Schmidt
7760b6baac Added Apple II 3.5" floppy image. 2013-02-05 21:07:54 +01:00
Oliver Schmidt
2af9f3f26f Reorganized retro distro Makefile (and added telnetd). 2013-02-04 23:29:07 +01:00
Oliver Schmidt
efeab670de Removed unnecessary -p option from mkdir calls for cmd.exe compatibility. 2013-02-03 23:47:25 +01:00
Oliver Schmidt
21407162c4 Deliver retro CBM disk images as .d64, .d71 and .d81 files. 2013-02-02 01:07:50 +01:00
Oliver Schmidt
b175ba7463 Moved retro IP configuration from web site to target machine.
Better match user expectations by allowing to download plain disk images and configure the IP settings afterwards on the target machine - then most likely leveraging DHCP. This works for the users with the most usual Ethernet adapter and settings - which are now pre-configured in default.cfg's. Only the few users with non-default Ethernet adapter and/or settings are required to download a custom contiki.cfg and inject it manually into their disk image files.
2013-02-01 23:19:12 +01:00
Oliver Schmidt
69317ad1db Renamed retro 'dhcp-client' to 'ipconfig' as it can as well be used for interactive manual configuration. 2013-02-01 21:20:21 +01:00
Oliver Schmidt
cb12d7b745 Minor formatting adjustment. 2012-02-10 18:56:40 +01:00
Oliver Schmidt
f5debc9d42 Adjusted relative path to BREADBOX64 to work when 'contiki' and 'contikiprojects' are siblings. 2012-02-10 17:19:40 +01:00
oliverschmidt
14f0d9c612 Included FTP example into cc65 binary relaease tools. This made four disk images necessary for the Apple II and the Atari. 2010-10-23 20:39:47 +00:00
oliverschmidt
5feb646462 Call Makefiles to build binaries before creating the images. 2010-10-04 22:13:45 +00:00
oliverschmidt
1e7cf9865e Added Breadbox64 to the Atari Makefile (now that I ported BB64 to that target). This made three disk images necessary. 2010-10-01 22:38:39 +00:00
oliverschmidt
d59e65a8f2 Added (preliminary) Atari support to the disk image Makefile. 2010-09-29 22:41:37 +00:00
oliverschmidt
cd24e920b6 Made cfs-based webserver example compatible with 8.3 file systems. 2010-09-28 20:40:52 +00:00
oliverschmidt
8631ae8515 Made cfs-based webserver example compatible with 8.3 file systems. 2010-09-28 19:43:50 +00:00
oliverschmidt
46b83d6ba4 Included Breadbox64 into cc65 binary relaease tools.
This additional application results in three disks for the Apple2, two disks for the C64 and one disk for the C128. Therefore the download page can't get along anymore without some JavaScript adjusting the number of downloadable disks depending on the selected machine. With JavaScript turned off access to non-existent disks (i.e. disk 3 for the C64) results in a successfull download of a zero byte sized file - not exactly great but at least a defined behaviour.
2010-08-05 22:50:19 +00:00
oliverschmidt
8dd2b75383 Explicitly set CBM filetypes (PRG, USR). 2010-03-31 06:05:37 +00:00
oliverschmidt
49e73b71b8 Added new wget app (and some reorg). 2010-02-11 10:13:18 +00:00
oliverschmidt
736d49c7f1 Added new DHCP app (and some reorg). 2010-02-08 22:29:26 +00:00
oliverschmidt
26beba31ee Added a (batch-type of) Makefile to create the various disk images making up "6502 Contiki". 2010-02-03 23:52:31 +00:00