8b26ed2a69Implemented __syschdir on CBM. As getcwd returns a cached directory any direct access to __curunit would cause inconsistencies. Therefore __curunit was renamed to curunit to prohibit user access.
ol.sc
2012-10-16 21:39:40 +00:00
bd2ff69182I 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.
ol.sc
2012-10-16 06:34:38 +00:00
272b8e7185I 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.
ol.sc
2012-10-15 21:59:51 +00:00
170c59e4c2Added enumdevdir showcasing the recently introduced device functions (together with directory access).
ol.sc
2012-10-15 18:52:40 +00:00
61d4b6b03fRemoved 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.
ol.sc
2012-10-11 18:22:49 +00:00
d99d5f3337Replaced Apple II specific solution with implementation of recently introduced devicedir().
ol.sc
2012-10-10 20:55:56 +00:00
3ca0ddb1b0Better stick to the "high level" errno helpers as done everywhere else.
ol.sc
2012-10-10 20:51:10 +00:00
300817702finitcwd will be called from the upcoming __syschdir so it has to be moved out of the INIT segment - and so it doesn't make sense anymore to keep devicestr as separate module anymore as the integration with initcwd allows to omit the jmp from the latter to the former.
ol.sc
2012-10-10 19:32:30 +00:00
deb407ccb1__syschdir calls initcwd so the latter must not be placed in the INIT segment.
ol.sc
2012-10-10 19:18:09 +00:00
5d4a441dd8Clear _oserror on success.
ol.sc
2012-10-07 20:20:54 +00:00
987c3066a3Introduced getdevicedir() - with implementation for the CBMs.
ol.sc
2012-10-07 19:18:56 +00:00
3470f230aeNeed to import ST since it is no longer declared in plus4.inc.
uz
2012-10-02 19:22:19 +00:00
9324904535Reverted r5835 because of Olivers changes to the asm includes.
uz
2012-10-02 18:15:39 +00:00
72f456536fTurned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory. Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.
ol.sc
2012-10-02 16:41:40 +00:00
70c095134bApplied changes by Daniel Pralle, adding stuff that is compiled but not installed by the current HEAD version.
uz
2012-10-01 20:01:15 +00:00
d10c8cd5fcST is already imported in plus4.inc, no need to import it separately.
uz
2012-10-01 09:29:23 +00:00
59e96ef740Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory. Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.
ol.sc
2012-09-30 18:20:15 +00:00
1e3197691aUpdated to include the C128 and the Atari as targets for the multidemo sample.
ol.sc
2012-09-30 15:00:25 +00:00
2ee45968c4Adjusted according to the recently updated readdir() doc that now says:
ol.sc
2012-09-30 14:58:31 +00:00
f1d8210450Fix calculation of text width for bitmap fonts.
uz
2012-09-20 21:14:46 +00:00
60a47704d4Added a note about errors in disk drives on some platforms that lead to failures if files are opened/closed while reading the directory.
uz
2012-09-20 20:25:22 +00:00
e6b52ee8d0Fixed a bug reported by thefox: The .CHARMAP command must not accept indices or character codes with a value of zero. The assembler runs into a CHECK in tgttrans anyway if the index is zero.
uz
2012-09-17 15:09:39 +00:00
b9d9513f76Change address of sec loader
karri
2012-09-15 12:57:37 +00:00
2222df9143Shring the bootloader by 20 bytes and remove restrictions on file size
karri
2012-09-11 13:01:39 +00:00
574c8fa273Added a "fillval" attribute to the segment definition. When given, it overrides the value from the memory area for all space that lies within the segment itself.
uz
2012-09-09 19:00:43 +00:00
1c77d3a6f0Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration.
ol.sc
2012-09-09 16:16:08 +00:00
0f1cd50883Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration.
ol.sc
2012-09-09 13:38:32 +00:00
b586d5ef69Introduced mass-storage device enumaration - with implementation for C64 and C128.
ol.sc
2012-09-09 12:14:45 +00:00
640460deb5Fixed problems reported by Greg King.
uz
2012-09-06 20:36:35 +00:00
093e83835dHave the internal function 'isdisk' set the carry for device 31. As the device id 31 doesn't really exist it is for sure no disk.
ol.sc
2012-09-05 19:07:34 +00:00
c6f6a5de3fGenerate and package a matching emd binary of the new driver for the target platform.
uz
2012-09-05 13:45:17 +00:00
d617481be4Added the first EMD driver for the atari, written and contributed by Shawn Jefferson <sjefferson@shaw.ca>.
uz
2012-09-05 11:25:28 +00:00
1ddd1288c5Some documentation fixes. Errors reported by Michael Bazzinotti <mbazzinotti@gmail.com>.
uz
2012-09-02 20:09:39 +00:00
0e183cc8e9Fix by Greg King.
ol.sc
2012-08-26 19:25:56 +00:00
5693df8bf2Do not try to dump an expression that has errors (circular references in this case) because the dump routine doesn't detect this and runs into an endless recursion.
uz
2012-08-22 21:24:54 +00:00
c1bbf69d72New option --relax-checks that disable the check for a match beween size oif an expression and the address size. Will allow short branches between segments among other things. Suggested by Spiro Trikaliotis.
uz
2012-08-20 20:07:05 +00:00
da4bc2bcaaFix by Spiro Trikaliotis.
ol.sc
2012-08-19 10:28:12 +00:00
ec4a8d81bdAdded 'multidemo' to the samples README.
ol.sc
2012-08-16 19:20:53 +00:00
2d97630d03Added somewhat more complex demo. It looks for emdrivers in the current directory and tries to load them until one loads successfully. In that case it "streams" its overlay files into extended memory. Finally it loads its overlays from extended memory (or disk) and calls into them.
ol.sc
2012-08-08 21:23:18 +00:00
942c0b6b2fChoose another way to fix the issue from r5804: When parsing the directory name, add a file mask, so the result is "$0:*" or similar. When specified like this, the drive accepts the r/o specifier ",R" so we don't have to complicate the code in open().
uz
2012-08-06 18:45:26 +00:00
55b56b2475Fixed a bug: The floppies do not like ,R (for read mode) when opening the directory.
uz
2012-08-05 21:32:40 +00:00
5fe9e2c3b3Don't add the current directory to the list of search paths. If the main file is located there, it is added anyway. If the main file is located elsewhere, we don't want to search in the current directory.
uz
2012-08-01 21:44:36 +00:00
148363810bDon't add the current directory to the list of search paths. If the main file is located there, it is added anyway. If the main file is located elsewhere, we don't want to search in the current directory.
uz
2012-08-01 21:42:26 +00:00
ff16f28405Document that scopes don't have an effect on unnamed labels.
uz
2012-08-01 19:32:38 +00:00
537b18d765Fix invalid header offset (has been changed in opendir.c but checkin of readdir.c was missing).
uz
2012-08-01 08:49:09 +00:00
58c8db7c75Have _em_load_driver exported here now that it is an asm function.
ol.sc
2012-07-31 21:37:07 +00:00
fbdd6faff6Fixed a comment.
uz
2012-07-30 19:02:07 +00:00
470a4abcf2Include the CBM disk label in the returned directory entries.
uz
2012-07-30 19:01:45 +00:00
3c9f722fbfFixed a problem with a memcpy optimization (source and target have been swapped).
uz
2012-07-28 12:26:57 +00:00
7ab3ede933Forgot to add the new module that contains em_load_driver.
uz
2012-07-23 06:18:58 +00:00
dcff1d0774An already loaded driver is an error in ser_load_driver, because the library cannot know if it was dynamically loaded or statically linked.
uz
2012-07-22 19:54:04 +00:00
e7ed3b374fRewrote em_load_driver in assembler fixing a possible memory leak.
uz
2012-07-22 11:36:09 +00:00
1f9f96d9b7More comment fixes.
uz
2012-07-22 11:20:45 +00:00
97060cc32eFixed a few comments.
uz
2012-07-22 11:18:36 +00:00
975a06c2eeRewrote tgi_load_driver in assembler and fixed a possible memory leak when doing so. Changed the behaviour in case a driver is already loaded: Since the library cannot know if this driver was linked statically or loaded dynamically, an already installed driver is considered an error. It must be removed before calling tgi_load_driver.
uz
2012-07-22 11:07:46 +00:00
3ce61b47a9Retrofitted comments from GEOS overlay demo to regular overlay demo.
ol.sc
2012-07-19 12:25:04 +00:00
6345c4ee25Fixed an error in the macro package that prevented the macros to work correctly. The short forms of the jumps were never choosen. The error was introduced with release 3176 in 2004(!) and reported by thefox.
uz
2012-07-17 18:30:05 +00:00
b4214634b2Permit the .string builtin function to work with scoped identifiers.
uz
2012-07-17 18:28:07 +00:00
a62958764dMove the _filetype variable into its own module, so people who want to change the default can replace exactly this module without interfering with other stuff.
uz
2012-07-15 12:34:35 +00:00
f7f4d01e52Do not add the file type to the name when using append mode. It causes more problems than it helps.
uz
2012-07-15 12:30:43 +00:00
eef430e45aFixed a problem with the optimizations for shifts.
uz
2012-07-12 21:12:50 +00:00
18f22506baAdded a test program to test the 16 bit shift ops.
uz
2012-07-12 21:11:21 +00:00
49e5d19950Added an option to output the assembly after each transformation step of the optimizer.
uz
2012-07-12 20:30:01 +00:00
44f965c462Enable optimization for arithmetic right shift. NOTE: There's a bug lingering in the shift code optimization which needs fixing.
uz
2012-07-11 20:58:29 +00:00
6cdd8e7281Rewrite code for arithmetic right shift.
uz
2012-07-11 20:57:02 +00:00
40a3084553Add another form of duplicate load removal.
uz
2012-07-10 20:46:21 +00:00
7a0fa3ce67Modifications for smaller code size.
uz
2012-07-10 20:45:16 +00:00
baa978d7a4Adedd a few cross-references for the new cbm_k_ function descriptions.
uz
2012-07-09 19:44:40 +00:00
58530c142aRearrange order of opt steps for better efficiency.
uz
2012-07-08 21:56:01 +00:00
59ae850db7Replacement in OptShift3 is even possible, when X is used later.
uz
2012-07-08 13:05:57 +00:00
440cc47770Fixed an error.
uz
2012-07-07 22:22:59 +00:00
3365220827Added optimization for complax.
uz
2012-07-07 19:54:24 +00:00
49905d74bdMore shift optimizations.
uz
2012-07-07 19:24:17 +00:00
ae42e3b491Added a comment.
uz
2012-07-07 19:09:23 +00:00
a27bc7774eStart adding stuff that optimizes the new shift functions.
uz
2012-07-07 17:56:39 +00:00
859236615eIgnore a few more "harmless" functions when optimizing.
uz
2012-07-07 17:36:15 +00:00
4139c83abfMove the optimization routines for shifts into a separate module.
uz
2012-07-07 15:21:12 +00:00
cd4f87b2ccFixed compiler warnings.
uz
2012-07-06 20:02:43 +00:00
e50649af2cTransform tosshlax and friends into a sequence that doesn't use the stack if possible.
uz
2012-07-06 20:01:46 +00:00
5f0db62f58Added info for new shift routines that don't use the stack.
uz
2012-07-06 20:00:22 +00:00
da766d872cSmall code changes for more safety (and to be compatible with the new shift routines that don't use the stack).
uz
2012-07-06 19:59:29 +00:00
c6db670be5Rewrite to add an entry point for shraxy that doesn't need to pass values over the stack.
uz
2012-07-06 19:57:24 +00:00
db8cac9501Comment and tab fix. No code changes.
uz
2012-07-06 19:56:42 +00:00
f9f660dd5dAdded functional Atari directory classification macros for file types from struct dirent contributed by Stefan A. Haubenthal.
ol.sc
2012-07-03 20:10:52 +00:00
c68d7de66eThis is C, not 6502 ;-))
ol.sc
2012-07-03 20:00:01 +00:00
22c1376dd1Added section on 'overlaydemo'.
ol.sc
2012-07-03 19:55:03 +00:00
511b826dfdUse 's' as default file type instead of 'u'.
uz
2012-07-01 18:24:01 +00:00
b7325f7abeAccording to Greg King, Vorpal files are regular files.
uz
2012-07-01 18:10:57 +00:00