Commit Graph

  • f6ab932b32 The Apple2 linker configs *-loader.cfg only differed in the presumed HIMEM from the default config. Rather have that value adjustable. ol.sc 2012-06-16 22:48:45 +00:00
  • 4647e98071 Adjusted comment to recent changes. ol.sc 2012-06-16 22:24:06 +00:00
  • 610bb14988 Avoid mixing of memory areas and segments in address computations (and made move of segment INIT somewhat more readable). ol.sc 2012-06-16 22:13:58 +00:00
  • 7691da610b I just don't like 'file = "" '. ol.sc 2012-06-16 21:12:56 +00:00
  • b7b7de55d0 Replaced "throwing away" of memeory area HEADER with the much more elegant "not referring" of symbol __EXEHDR__. This was recently made possible for the asm program config. ol.sc 2012-06-16 21:06:13 +00:00
  • 094ffa1984 Renamed segment 'HIGHCODE' to 'LC because: 1. Its use isn't limited to code. It may as well be used for rodata. 2. This fits better to the new __LCADDR__ / __LCSIZE__ parameters. ol.sc 2012-06-16 20:57:49 +00:00
  • c9555b328a The Apple2 linker configs basically cover two dimension of settings: 1. BIN vs. SYS vs. Loader 2. With Quit code vs. w/o Quit code vs. full LC ol.sc 2012-06-16 20:36:34 +00:00
  • ec1f955a6e For commutative operators processed by hie_internal, if the left side is a constant, exchange the order of the operands so that better code can be generated. uz 2012-06-16 18:12:24 +00:00
  • b5d88fdedd Mark commutative operators as such (no change in code until now). uz 2012-06-16 15:49:53 +00:00
  • c1d7ed26e8 Unified the "store via pointer" optimization routines. uz 2012-06-16 15:46:45 +00:00
  • 7c9b27c048 Be more flexible when detecting a special sequence that can be optimized. uz 2012-06-15 20:51:14 +00:00
  • b014bd8196 Added basic Apple linker config for assembler programs (similiar to C64). ol.sc 2012-06-14 20:59:08 +00:00
  • 95686b169e Moved actual computation of DOS 3.3 header to linker configurations: - This will allow for different "formulas". - This brings things together in one place. ol.sc 2012-06-14 20:44:35 +00:00
  • 9142a300c1 Another optimization for array stores. uz 2012-06-12 18:11:53 +00:00
  • 383157e743 Size optimizations. uz 2012-06-11 18:16:17 +00:00
  • c66185259b Extend OPtShift3 to shift counts larger than 1. uz 2012-06-11 17:58:32 +00:00
  • 22078ba924 The new module was missing from the Watcom makefile. uz 2012-06-11 07:45:47 +00:00
  • cb9ef2f96a Added a forgotten header file. uz 2012-06-11 07:06:24 +00:00
  • 8dc74f33da Another optimization for right shift of the sum of two bytes. uz 2012-06-10 22:15:00 +00:00
  • 878f469fc8 Removed a unnecessary duplicate call to one routine. uz 2012-06-10 21:47:52 +00:00
  • 9cc99876b2 Moved Apple EXEHDR to separate module (similiar to CBMs). ol.sc 2012-06-10 21:05:51 +00:00
  • cf509a775d Moved "store through pointers" optimizations into its own file and added another one. uz 2012-06-10 20:09:40 +00:00
  • 4b80a3b9cd Added new pushl0 runtime function. uz 2012-06-10 19:23:15 +00:00
  • 85b25b3d22 Added an entry point to push a 32 bit long value. uz 2012-06-10 19:15:52 +00:00
  • efb4cc9e37 Rearrangements for smaller size of generated code. uz 2012-06-10 19:02:54 +00:00
  • c03fd881e3 Changes for better code generation. uz 2012-06-10 18:55:22 +00:00
  • 130e8fd090 Changed the code so that it better suits the code generation of the compiler (which means, the resulting code is shorter). uz 2012-06-10 18:32:38 +00:00
  • bfd0f58686 Shortened the code. uz 2012-06-10 18:25:22 +00:00
  • cc5fd1dd72 Replaced (broken) assert() with #error and added a source bitmap. ol.sc 2012-06-10 17:52:23 +00:00
  • a9d1d51f56 Added demo applicaion showcasing sp65 in combination with GEOS. ol.sc 2012-06-10 14:49:13 +00:00
  • 45bf954fbe Better define 'EXTBSS' to allow developer to memset() set it to zero on startup. ol.sc 2012-06-10 12:37:32 +00:00
  • f3cc7a4a32 Minor change. ol.sc 2012-06-10 12:20:50 +00:00
  • ffc06fcea3 Apple GEOS reserves beside the main app area at $4000-$C000 a secondary app area at $0C00-$2000. While it was an elegant idea to use that secondary area for overlays at the end of the day those 5 kB are just too small. So now overlays go at the end of the main area (as with GEOS 64/128). However the stack (usually 1 kB) can be securely placed in the secondary area without effort from the side of the developer. The rest of the secondary area (usually 4 kB) is made available to the developer as (uninitialized) 'EXTBSS'. ol.sc 2012-06-08 21:46:51 +00:00
  • 5cf9f585a6 In error or warning messages, output the name of the library if this is relevant. It's otherwise difficult to know what happens when ar65 is called from within a makefile or similar. uz 2012-06-07 19:59:51 +00:00
  • 4e0cbcf33f Reorder variables to take advangate of improved code generation. uz 2012-06-07 13:31:32 +00:00
  • b916fae1cc Generate special memcpy code if the target is less than 256 bytes in size and located at the stack bottom. uz 2012-06-07 13:30:21 +00:00
  • 0f7f7796b1 Added info about the subysp function. uz 2012-06-07 13:14:49 +00:00
  • cff1a6ffdb Be sure to check the availability of code entries before accessing them. uz 2012-06-06 22:01:04 +00:00
  • 61c1f6b270 Added more to the list of "harmless" calls that do not interrupt a pushax/stackop sequence. uz 2012-06-06 21:52:54 +00:00
  • fa69f31982 Don't emit special code because it doesn't work well with the optimizer. uz 2012-06-06 21:52:09 +00:00
  • fe1c4cd46b Detect an additional sequence that is used with pointers in register variables. uz 2012-06-06 21:51:10 +00:00
  • 279dc29b45 Output the optimization steps that had changes when debugging is enabled. uz 2012-06-06 21:50:10 +00:00
  • e92356cb36 Added the test program for the POSIX directory routines. uz 2012-06-06 18:31:58 +00:00
  • e219190e39 Document changed behaviour of the output processors for sp65. uz 2012-06-04 22:09:03 +00:00
  • e416092f70 Similar changes as for the C output target: If the attribute "ident" is given, place the data into a .PROC with this name. Add additional constants named COLORS, WIDTH and HEIGHT within this .PROC. uz 2012-06-04 19:29:39 +00:00
  • 2f87dbc27e Allow a third, optional filename argument for cbm_opendir. uz 2012-06-04 18:32:38 +00:00
  • e5cdab4544 Fixed a C99ism. uz 2012-06-04 07:48:37 +00:00
  • 95413d0350 Small optimization for shorter code. uz 2012-06-03 16:49:23 +00:00
  • ed7db04ca5 Added descriptions for all functions in dirent.h. uz 2012-06-03 16:45:37 +00:00
  • 3cb0cce00d Added secondary linker config for C64 overlays (incl. demo program). ol.sc 2012-06-03 16:16:11 +00:00
  • ea51c5a4e2 Parse the name passed to opendir(). uz 2012-06-03 15:48:32 +00:00
  • 2a53124b15 Don't set errno when the regular end of directory is reached. Plus minor code cleanup. uz 2012-06-03 15:31:19 +00:00
  • c40b54ee6c Implemented rewinddir/seekdir. uz 2012-06-03 15:11:32 +00:00
  • 5f43589885 Fix two place where the directory offset wasn't tracked correctly. uz 2012-06-03 15:01:32 +00:00
  • 55463bbf91 Removed unnecessary include files. uz 2012-06-03 14:32:15 +00:00
  • 3a8365c445 Added the telldir() function. uz 2012-06-03 14:03:22 +00:00
  • a83bf3dc04 Implement special read function that sets errno in case of a short read. Drop _dirskip in favour of the new function. uz 2012-06-03 13:59:31 +00:00
  • 9d0a2c3007 Add comment about meaning of directory entry type. uz 2012-06-03 13:58:29 +00:00
  • d5cf83deba Fix output of segment sizes. It was broken after some changes to the format. uz 2012-06-03 13:39:28 +00:00
  • ebca2991a3 Moved most of the file type detection from cbm_dir.c into a new function called _cbm_filetype(). Added an assembler include file with the file type definitions from cbm.h. Added a first implementation of readdir() for the CBMs. uz 2012-06-02 22:56:14 +00:00
  • eab5f250ad New function _dirskip that allows to skip an amount of bytes from the directory with error check. uz 2012-06-01 19:23:34 +00:00
  • 8087959e18 New entry point to push something pointed to by ptr1 with index in Y. uz 2012-06-01 19:19:45 +00:00
  • 08b4ed1035 Added the POSIX functions opendir() and closedir(). uz 2012-05-30 19:37:57 +00:00
  • 6952703d69 Added a header file for the internal representation of DIR. uz 2012-05-29 21:39:40 +00:00
  • f6209f1344 Added a struct dirent for the CBMs. uz 2012-05-29 21:19:50 +00:00
  • 64d3d9e41f Add provisions to open a disk directory using open(). uz 2012-05-29 20:52:18 +00:00
  • 4663245219 Change data generation for C output. The ident attribute is now optional. Without it, just the data is output. With an identifier given, there will be additional #defines for xxx_COLORS, xxx_WIDTH, xxx_HEIGHT, and the data is places into an array with the given name. uz 2012-05-28 11:35:44 +00:00
  • 808f86f49f Fixed a warning caused by an empty <itemize> section. uz 2012-05-28 11:14:10 +00:00
  • 293c279416 Tape load and save functions for the Oric Atmos. By Stefan Haubenthal. uz 2012-05-28 11:11:39 +00:00
  • 47c87eb335 Fixed an error: When guessing the address size of an expression used in an instruction that contains undefined symbols, and the effective address allows just one address size, use this size instead of the default data segment size. uz 2012-05-25 16:28:46 +00:00
  • 7d62062bd2 Added an optimization for signed shift right. uz 2012-05-09 18:00:27 +00:00
  • 914c6a0ad8 At least in the context of compacted bitmap handling it seems appropriate to abstract that the Apple DHGR screen has these dimensions. ol.sc 2012-04-29 15:37:06 +00:00
  • 7a55fb2c9b Added reference to sp65. ol.sc 2012-04-29 15:29:47 +00:00
  • dcbc31103d Fixed c&p error and added GEOS bitmap description. ol.sc 2012-04-29 15:20:50 +00:00
  • 33926dee54 Fixed an error: The write routine didn't detect write errors correctly. uz 2012-04-25 20:00:09 +00:00
  • 2ce084228f Fixed a comment. uz 2012-04-25 17:26:30 +00:00
  • 0ff4e5cf64 The program dumped core when read/write was used without a conversion of the input to binary data. uz 2012-04-22 21:57:28 +00:00
  • cd7e65f97e Fixed an uniniitalized variable which caused ranom error messages on static local variables. uz 2012-04-22 21:38:31 +00:00
  • 7bf80a4d73 Reverted errorneously commited change to the makefile. uz 2012-04-22 18:09:17 +00:00
  • faf58a8220 Fixed an error when parsing local variables: Variables must be inserted into the symbol table *before* the optional initializer is parsed, because they might be referenced in the intializer. uz 2012-04-22 18:08:45 +00:00
  • b0c4678ad2 More cleanup. uz 2012-04-11 12:23:33 +00:00
  • b0ed819891 More preparations for loadable CPUs. Will still not compile. uz 2012-04-09 11:55:18 +00:00
  • 4858614605 Moving around stuff. Preparation for loadable CPUs. uz 2012-04-06 11:35:56 +00:00
  • 74ee7a44a9 One more intermediate state - not compilable. uz 2012-04-05 19:55:04 +00:00
  • 10d58204b5 Intermediate state - doesn't run as is. uz 2012-04-05 13:30:21 +00:00
  • 032c16dda4 Reenable Break(), use a string buffer for safe formatting. uz 2012-04-03 17:35:34 +00:00
  • b5d4321a4b Added support for several colors. uz 2012-04-03 17:34:54 +00:00
  • 31e0666087 Use FileStat instead of stat. uz 2012-04-03 13:28:33 +00:00
  • 2cd0b5ae91 Fixed an error in the conversion function from Unix time to FILETIME. uz 2012-04-03 13:27:19 +00:00
  • 7287d86dd1 Use the replacement function to set file times. uz 2012-04-03 13:13:28 +00:00
  • a0c6ae2c62 Added a replacement for utime(), because it has the same DST bug as stat(). uz 2012-04-03 13:01:56 +00:00
  • b833c6c8c5 Explicitly ignore the function result of CloseHandle(). uz 2012-04-03 12:54:17 +00:00
  • dd6475ac3d Fixed an invalid offset. uz 2012-04-01 19:29:04 +00:00
  • a9550ade4c Added a missing #include. uz 2012-04-01 17:20:10 +00:00
  • f9729fd0cf Use the new FileStat function to get correct file modification times under Windows. uz 2012-04-01 17:01:05 +00:00
  • 65fe2ad0d3 Add a new module that works around a bug in the Microsoft version of stat. The function is buggy since the first version of windows that supports something else than FAT, and instead of fixing the problem, Microsoft has declared it "works as designed". The problem has made it into .NET and is also visible in the standard windows file explorer (modification times of untouched files will change when entering or leaving DST). Please note that the new FileStat function returns incorrect times for files on FAT file systems. This is because I have currently no idea on how to identify the file system for a given file. However, it should be correct in quite some more cases than stat(). uz 2012-04-01 16:56:42 +00:00
  • baa4774b08 Fixed a comment. uz 2012-04-01 15:48:53 +00:00
  • 35e1184901 Removed unneeded include files. uz 2012-04-01 15:48:11 +00:00
  • 4c56598dcb .SET has been missing from the list of pseudo ops. uz 2012-03-31 19:37:24 +00:00
  • b73f86abc2 .UNION/.ENDUNION were missing from the docs. uz 2012-03-31 19:33:27 +00:00