Commit Graph

  • 59e96ef740 Turned 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
  • 1e3197691a Updated to include the C128 and the Atari as targets for the multidemo sample. ol.sc 2012-09-30 15:00:25 +00:00
  • 2ee45968c4 Adjusted according to the recently updated readdir() doc that now says: ol.sc 2012-09-30 14:58:31 +00:00
  • 8a5430d138 Added C128 overlay linker config. ol.sc 2012-09-30 14:53:12 +00:00
  • d080bea30f Minimal formatting adjustment. ol.sc 2012-09-30 14:18:47 +00:00
  • f1d8210450 Fix calculation of text width for bitmap fonts. uz 2012-09-20 21:14:46 +00:00
  • 60a47704d4 Added 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
  • e6b52ee8d0 Fixed 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
  • b9d9513f76 Change address of sec loader karri 2012-09-15 12:57:37 +00:00
  • 2222df9143 Shring the bootloader by 20 bytes and remove restrictions on file size karri 2012-09-11 13:01:39 +00:00
  • 574c8fa273 Added 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
  • 1c77d3a6f0 Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration. ol.sc 2012-09-09 16:16:08 +00:00
  • 0f1cd50883 Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration. ol.sc 2012-09-09 13:38:32 +00:00
  • b586d5ef69 Introduced mass-storage device enumaration - with implementation for C64 and C128. ol.sc 2012-09-09 12:14:45 +00:00
  • 640460deb5 Fixed problems reported by Greg King. uz 2012-09-06 20:36:35 +00:00
  • 093e83835d Have 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
  • c6f6a5de3f Generate and package a matching emd binary of the new driver for the target platform. uz 2012-09-05 13:45:17 +00:00
  • d617481be4 Added 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
  • 3ceeb8c665 Minor change. ol.sc 2012-09-04 09:00:43 +00:00
  • 1ddd1288c5 Some documentation fixes. Errors reported by Michael Bazzinotti <mbazzinotti@gmail.com>. uz 2012-09-02 20:09:39 +00:00
  • 0e183cc8e9 Fix by Greg King. ol.sc 2012-08-26 19:25:56 +00:00
  • 5693df8bf2 Do 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
  • c1bbf69d72 New 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
  • da4bc2bcaa Fix by Spiro Trikaliotis. ol.sc 2012-08-19 10:28:12 +00:00
  • 0f84a585e5 Minor changes. ol.sc 2012-08-16 19:29:29 +00:00
  • ec4a8d81bd Added 'multidemo' to the samples README. ol.sc 2012-08-16 19:20:53 +00:00
  • 2d97630d03 Added 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
  • 942c0b6b2f Choose 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
  • 55b56b2475 Fixed a bug: The floppies do not like ,R (for read mode) when opening the directory. uz 2012-08-05 21:32:40 +00:00
  • 5fe9e2c3b3 Don'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
  • 148363810b Don'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
  • ff16f28405 Document that scopes don't have an effect on unnamed labels. uz 2012-08-01 19:32:38 +00:00
  • 537b18d765 Fix 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
  • 58c8db7c75 Have _em_load_driver exported here now that it is an asm function. ol.sc 2012-07-31 21:37:07 +00:00
  • fbdd6faff6 Fixed a comment. uz 2012-07-30 19:02:07 +00:00
  • 470a4abcf2 Include the CBM disk label in the returned directory entries. uz 2012-07-30 19:01:45 +00:00
  • 3c9f722fbf Fixed a problem with a memcpy optimization (source and target have been swapped). uz 2012-07-28 12:26:57 +00:00
  • 7ab3ede933 Forgot to add the new module that contains em_load_driver. uz 2012-07-23 06:18:58 +00:00
  • dcff1d0774 An 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
  • e7ed3b374f Rewrote em_load_driver in assembler fixing a possible memory leak. uz 2012-07-22 11:36:09 +00:00
  • 1f9f96d9b7 More comment fixes. uz 2012-07-22 11:20:45 +00:00
  • 97060cc32e Fixed a few comments. uz 2012-07-22 11:18:36 +00:00
  • 975a06c2ee Rewrote 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
  • 3ce61b47a9 Retrofitted comments from GEOS overlay demo to regular overlay demo. ol.sc 2012-07-19 12:25:04 +00:00
  • 6345c4ee25 Fixed 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
  • b4214634b2 Permit the .string builtin function to work with scoped identifiers. uz 2012-07-17 18:28:07 +00:00
  • a62958764d Move 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
  • f7f4d01e52 Do 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
  • eef430e45a Fixed a problem with the optimizations for shifts. uz 2012-07-12 21:12:50 +00:00
  • 18f22506ba Added a test program to test the 16 bit shift ops. uz 2012-07-12 21:11:21 +00:00
  • 49e5d19950 Added an option to output the assembly after each transformation step of the optimizer. uz 2012-07-12 20:30:01 +00:00
  • 44f965c462 Enable 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
  • 6cdd8e7281 Rewrite code for arithmetic right shift. uz 2012-07-11 20:57:02 +00:00
  • 40a3084553 Add another form of duplicate load removal. uz 2012-07-10 20:46:21 +00:00
  • 7a0fa3ce67 Modifications for smaller code size. uz 2012-07-10 20:45:16 +00:00
  • baa978d7a4 Adedd a few cross-references for the new cbm_k_ function descriptions. uz 2012-07-09 19:44:40 +00:00
  • 1908158362 cbm_k_ functions documented silverdr 2012-07-09 19:23:52 +00:00
  • 58530c142a Rearrange order of opt steps for better efficiency. uz 2012-07-08 21:56:01 +00:00
  • 59ae850db7 Replacement in OptShift3 is even possible, when X is used later. uz 2012-07-08 13:05:57 +00:00
  • 440cc47770 Fixed an error. uz 2012-07-07 22:22:59 +00:00
  • 3365220827 Added optimization for complax. uz 2012-07-07 19:54:24 +00:00
  • 49905d74bd More shift optimizations. uz 2012-07-07 19:24:17 +00:00
  • ae42e3b491 Added a comment. uz 2012-07-07 19:09:23 +00:00
  • a27bc7774e Start adding stuff that optimizes the new shift functions. uz 2012-07-07 17:56:39 +00:00
  • 859236615e Ignore a few more "harmless" functions when optimizing. uz 2012-07-07 17:36:15 +00:00
  • 4139c83abf Move the optimization routines for shifts into a separate module. uz 2012-07-07 15:21:12 +00:00
  • cd4f87b2cc Fixed compiler warnings. uz 2012-07-06 20:02:43 +00:00
  • e50649af2c Transform tosshlax and friends into a sequence that doesn't use the stack if possible. uz 2012-07-06 20:01:46 +00:00
  • 5f0db62f58 Added info for new shift routines that don't use the stack. uz 2012-07-06 20:00:22 +00:00
  • da766d872c Small 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
  • c6db670be5 Rewrite 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
  • db8cac9501 Comment and tab fix. No code changes. uz 2012-07-06 19:56:42 +00:00
  • f9f660dd5d Added 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
  • c68d7de66e This is C, not 6502 ;-)) ol.sc 2012-07-03 20:00:01 +00:00
  • 22c1376dd1 Added section on 'overlaydemo'. ol.sc 2012-07-03 19:55:03 +00:00
  • 511b826dfd Use 's' as default file type instead of 'u'. uz 2012-07-01 18:24:01 +00:00
  • b7325f7abe According to Greg King, Vorpal files are regular files. uz 2012-07-01 18:10:57 +00:00
  • e1227aa402 Fix list of CBM kernal level functions. uz 2012-07-01 12:50:05 +00:00
  • ec8234c521 Fixed naming of cbm_clall. uz 2012-07-01 12:45:26 +00:00
  • e03feeefae Unified names of CBM kernal level functions and completed the list of functions in the cbm.h header file. uz 2012-07-01 12:36:44 +00:00
  • af799c922f Fixed wrong filename for module c_getin.s uz 2012-07-01 11:32:59 +00:00
  • 49542644df Added missing function cbm_k_getin, which was in cbm.h but an implementation was missing. uz 2012-07-01 11:30:41 +00:00
  • 43ea0e3df9 Move evaluation of the argument for .BANK into the linker. It is otherwise too restricted, since no imported symbols may be used. uz 2012-06-30 17:18:03 +00:00
  • 3e95d3048f Ignore generated files. uz 2012-06-29 15:05:04 +00:00
  • c6ee5a8418 Added dummy classification macros for the remaining targets - even for those that don't have the field 'd_type'. ol.sc 2012-06-25 20:23:54 +00:00
  • 92a0632634 Added register info for the aslaxy and shlaxy routines. uz 2012-06-24 22:05:56 +00:00
  • b9ffe5de13 Add another entry point to the shift left routine, that shifts A/X by Y without going over the stack. uz 2012-06-24 22:04:00 +00:00
  • e3fb0233c8 Added secondary linker config for Atari overlays (located below main program like Apple II). ol.sc 2012-06-24 21:23:25 +00:00
  • 9b56f8086b Made overlaydemo compatible with the Atari: - 8.3 overlay filenames - exit only after keypress ol.sc 2012-06-24 21:15:39 +00:00
  • 1bafd55557 Minor adjustment to Apple II coding style (two spaces for macro definitions). ol.sc 2012-06-24 19:59:49 +00:00
  • 15546f8880 Added Apple II classification macros for file types from struct dirent. ol.sc 2012-06-24 19:49:15 +00:00
  • 43d0d2fb78 Special handling for a few more runtime functions. uz 2012-06-24 14:29:27 +00:00
  • 7aefd9b4e7 Added classification macros for file types from struct dirent. uz 2012-06-24 14:23:33 +00:00
  • 5bc67cdaee Move definitions for CBM file types into its own header file, since these definitions are needed for file type macros in dirent.h. Unify names for the include files. uz 2012-06-24 13:52:06 +00:00
  • 87d19de33f OptSize2 needs an extra removal of duplicate transfers. uz 2012-06-23 19:34:48 +00:00
  • ec900bc200 Centralize generation of register infos for a code segment. This means that all optimizer functions can rely on it. uz 2012-06-23 17:33:31 +00:00
  • d5810a818c Added two replacements for negax. Shift right for signed values can be treated like unsigned if X is known to be zero. uz 2012-06-23 16:58:05 +00:00
  • 4333c76710 The OptNegXXX function were actually handling bnega... runtime stuff. Renamed them accordingly. uz 2012-06-23 16:17:56 +00:00
  • bb41dccfe3 Added secondary linker config for Apple2 overlays (like C64). ol.sc 2012-06-16 23:09:20 +00:00
  • dccb0c8dde We now don't define the memory area RAM anymore. So use the segment STARTUP - as done in crt0.s. ol.sc 2012-06-16 22:58:03 +00:00