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