Commit Graph

73 Commits

Author SHA1 Message Date
Colin Leroy-Mira 3fd78208ba Disable IRQ if opening at 115200 bps 2024-02-19 19:31:47 +01:00
Colin Leroy-Mira f0b5b02966 Swap in LC before destructors, ROM after 2024-01-24 12:28:57 +01:00
Colin Leroy-Mira 2ba176372e Add beep for apple2 2024-01-23 23:04:50 +01:00
Colin Leroy-Mira 166a4b25f7 Apple2: implement sleep using MONWAIT
Also publish detect_iigs(), set_iigs_speed() and get_iigs_speed(). Refactor to only store one ostype variable.
2024-01-18 16:17:10 +01:00
Colin Leroy-Mira 75461e1319 Apple2: implement stat(2) and statvfs(3) 2024-01-01 19:12:51 +01:00
Colin Leroy-Mira d00a23feff Update Apple 2 serial documentation
Reflect the new support of SER_HS_NONE.
2023-11-12 15:16:47 +01:00
Colin Leroy-Mira 996a2659d5 Address code review comments 2023-10-03 18:34:22 +02:00
Colin Leroy-Mira e16a5e0dbe Add Apple IIgs serial driver 2023-10-03 18:34:22 +02:00
polluks2 e28e32129a
Added missing detail 2023-09-04 20:38:05 +02:00
Jeff Tranter 2bf8be5b3b Fix some commonly made spelling errors in comments. 2022-02-21 15:44:31 -05:00
polluks2 1cdd4676b2 Fixed many typos 2021-12-14 13:13:16 +01:00
Oliver Schmidt b35a9d97a6 Updated URL and improved consistency. 2021-12-12 23:59:22 +01:00
Oliver Schmidt 28b1687aaf Be explicit about hardware flow control (RTS/CTS) being the only supported option. 2021-09-26 12:09:50 +02:00
Oliver Schmidt 0ed41db478 Some minor clarifications. 2021-04-06 01:45:41 +02:00
Oliver Schmidt 37107174c6 Added waitvsync() for the Enhanced Apple //e.
The implementation is a bit tricky as it requires to take different code paths for the //e, the //c and the IIgs. Additionally the //c only provides a VBL IRQ flag supposed to be used by an IRQ handler to determine what triggered the IRQ. However, masking IRQs on the CPU, activating the VBL IRQ, clearing any pending VBL IRQs and then polling for the IRQ flag does the trick.
2020-06-18 21:44:57 +02:00
Oliver Schmidt 3b128ba59f Use MACHID to check for realtime clock.
There's no need to do guesswork to know if a realtime clock is present/active.
2019-09-10 09:49:06 +02:00
Christian Groessler 7445550831 remote TABs in doc/ and test/ 2019-02-12 22:50:49 +01:00
Oliver Schmidt 180bb0823a Fixed typo. 2018-12-03 12:52:00 +01:00
Oliver Schmidt 4b42d6ad54 Added target docs on the clock_... functions. 2018-11-13 18:33:51 +01:00
Oliver Schmidt 6cce110345 Adjusted URL to use https (and removed obsolete dates). 2018-09-20 12:45:15 +02:00
Oliver Schmidt c7a40db1b7 Added hint random number generator hint. 2018-09-08 23:59:39 +02:00
Oliver Schmidt 8e75906737 Switched Apple II output format to AppleSingle.
Although the primary target OS for the Apple II for sure isn't DOS 3.3 but ProDOS 8 the Apple II binary files contained a DOS 3.3 4-byte header. Recently I was made aware of the AppleSingle file format. That format is a much better way to transport Apple II meta data from the cc65 toolchain to the ProDOS 8 file system. Therefore I asked AppleCommander to support the AppleSingle file format. Now that there's an AppleCommander BETA with AppleSingle support it's the right time for this change.

I bumped version to 2.17 because of this from the perspective of Apple II users of course incompatible change.
2018-03-07 23:05:21 +01:00
Oliver Schmidt 57abfcd581 Joystick drivers don't depend on interrupts anymore. 2018-03-02 22:17:49 +01:00
Oliver Schmidt ef5461a32c Mention the recently added linker configs. 2018-02-01 00:18:07 +01:00
Oliver Schmidt 58bfe28244 Updated AppleCommander URL. 2018-01-31 23:52:08 +01:00
Oliver Schmidt 92ff854bff Removed undesirable empty lines. 2017-07-31 13:50:27 +02:00
Bill Chatfield 0bd5a8a331 Made corrections according to review comments 2017-07-30 19:51:23 -04:00
Bill Chatfield 9d89613bb2 Added documentation for setting the file type for fopen. 2017-07-29 01:25:07 -04:00
Oliver Schmidt 6de78c536f Made DOS 3.3 IRQ statement more general.
I recently came across that the question if a driver is compatible with DOS 3.3 isn't about the fact if it actually uses IRQs but if it potentially could use IRQs as the driver kernel pulls in the IRQ handler anyway. This is especially suboptimal in the scenario of statically linked drivers where it is concpetually totally clear at link time they use IRQs or not. Apart from that it might make sense to be able to define on a per-target basis if _any_ of the drivers of a certain class uses IRQs. If that isn't the cases the driver kernel for that driver class for that target could omit IRQ handling too. I'm aware that Uz imagined drivers being loaded which weren't known when the program was linked - but I don't see this.
2017-06-30 09:50:28 +02:00
Oliver Schmidt e47485f925 Added CONIO cursor support.
For quite some time I deliberately didn't add cursor support to the Apple II CONIO imöplementation. I consider it inappropriate to increase the size of cgetc() unduly for a rather seldom used feature.

There's no hardware cursor on the Apple II so displaying a cursor during keyboard input means reading the character stored at the cursor location, writing the cursor character, reading the keyboard and finally writing back the character read initially.

The naive approach is to reuse the part of cputc() that determines the memory location of the character at the cursor position in order to read the character stored there. However that means to add at least one additional JSR / RTS pair to cputc() adding 4 bytes and 12 cycles :-( Apart from that this approach means still a "too" large cgetc().

The approach implemented instead is to include all functionality required by cgetc() into cputc() - which is to read the current character before writing a new one. This may seem surprising at first glance but an LDA(),Y / TAX sequence adds only 3 bytes and 7 cycles so it cheaper than the JSR / RTS pair and allows to brings down the code increase in cgetc() down to a reasonable value.

However so far the internal cputc() code in question saved the X register. Now it uses the X register to return the old character present before writing the new character for cgetc(). This requires some rather small adjustments in other functions using that internal cputc() code.
2016-06-19 15:03:20 +02:00
Patrycjusz R. Łogiewa 759f5f5f48 docs for targets with target utilities adjusted 2016-05-18 16:42:51 +02:00
Oliver Schmidt c9734004ee Minor fixes for recent doc change. 2016-03-25 19:03:12 +01:00
Oliver Schmidt 9aac382afb Updated documentation to reflect the current linker configs. 2016-03-25 18:48:23 +01:00
Greg King bb9aa7558f Fixed the SGML <htmlurl> and <url> tags.
Those tags have two attributes: "url=" and "name=".  In the non-HTML output formats, <url> shows both fields, while <htmlurl> shows only the name field (as the HTML format always does.)  Thus, the general rules are
1. If the two attributes are different, then use <url>.
2. If they are similar, then use <htmlurl>.
3. If they are the same, then consider using <url> without the "name=" attribute.
(The reason for rules 2 and 3 is that the same text shouldn't be shown twice.)

There can be exceptions.  Example: "od65.sgml" has <htmlurl> because the URL
would disturb the flow of a sentence.
2014-04-14 05:54:13 -04:00
Greg King 79d8a0d857 Streamlined the document author credits. 2014-04-08 15:36:39 -04:00
Oliver Schmidt c0b5be9944 Reflect the fact that LOADER.SYSTEM is delivered as 'targetutil'. 2014-03-15 19:01:46 +01:00
Oliver Schmidt 3d8179df30 Not splitting the docs anymore requires link adjustment. 2014-03-15 18:53:30 +01:00
Oliver Schmidt c3d93d259b Updated linuxdoc sources from https://github.com/groessler/cc65/tree/gh-pages-sgml. 2014-02-04 22:51:39 +01:00
Oliver Schmidt aa7561ec45 Revert "No linuxdoc here. Documenation is to be maintained as HTML in branch 'gh-pages'."
This reverts commit fcea8951f1.

Conflicts:
	doc/Makefile
2014-02-04 22:18:58 +01:00
Oliver Schmidt fcea8951f1 No linuxdoc here. Documenation is to be maintained as HTML in branch 'gh-pages'. 2013-03-25 00:50:52 +01:00
ol.sc 8e06d6d4f7 Added documentation of static drivers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5927 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-08 23:08:00 +00:00
ol.sc 272b8e7185 I wasn't aware that the unit numbers in the ProDOS device list contain device type identifiers in the low nibble. So if we can't use the device list entries as-is we can as well present the high nibble as low nibble to the user thus providing more meaningful device numbers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-15 21:59:51 +00:00
ol.sc 61d4b6b03f Removed DIO specific typedefs which were just aliases to basic types and replaced the term 'drive' with 'device' in order to harmonize with the recently added device.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-11 18:22:49 +00:00
ol.sc d99d5f3337 Replaced Apple II specific solution with implementation of recently introduced devicedir().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 20:55:56 +00:00
ol.sc 1c77d3a6f0 Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 16:16:08 +00:00
uz 1a0571fdc3 Change .CONDES -> .INTERRUPTOR (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5064 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-17 18:56:27 +00:00
ol.sc fc3574a111 Added the variables for setting the ProDOS type and auxtype to the docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 20:36:31 +00:00
ol.sc e9ce157bb7 Fixed typos.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4860 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 00:03:22 +00:00
ol.sc 38d50cce0b Minor formatting change.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4756 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-20 12:14:12 +00:00
ol.sc 432f8492ec Maybe this looks better when rendered to HTML ?
git-svn-id: svn://svn.cc65.org/cc65/trunk@4754 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-18 10:37:55 +00:00