mc78
244dc358e5
Changed the order in which lo/hi bytes of vdc addr are set according to willimanilys ((z64k) suggestions. Changed offset for vdc ramsize detection from 000 to 000.
2020-01-03 13:51:20 -05:00
mc78
390878e831
Added reservation of second byte for pagecount
2020-01-03 13:51:20 -05:00
mc78
2a42139674
Changes in INSTALL routine from emd/c128-vdc.s.
...
tmp1 was used at two places resulting in the bug that VDC_CSET was set to garbage on 16k VDC.
pagecount and curpage were not reset on INSTALL resulting in non-reentrant code on static linkage of emd driver.
2020-01-03 13:51:20 -05:00
Greg King
b56ba8f073
Added real-time clock functions to the cx16 library.
2019-12-27 18:07:37 -05:00
Greg King
f067c4530f
Made the program-chaining exec() handle the X16 emulator's file-system.
2019-12-25 14:53:32 -05:00
Greg King
3fa253d31f
Updated the cx16 library to the Commander X16 Kernal's prerelease 35.
2019-12-25 10:56:32 -05:00
Stefan
d1fd7ffc59
Update status.s
2019-11-20 12:54:47 +01:00
Stefan
9d4d00737e
Update slow.s
2019-11-20 12:54:47 +01:00
Stefan
eeefd10f8f
Update revers.s
2019-11-20 12:54:47 +01:00
Stefan
2c34723a97
Update isfast.s
2019-11-20 12:54:47 +01:00
Stefan
df752ff7a5
Update fast.s
2019-11-20 12:54:47 +01:00
Stefan
3f360fe3ee
Update cputc.s
2019-11-20 12:54:47 +01:00
Stefan
06c98952fc
Update conio.s
2019-11-20 12:54:47 +01:00
Stefan
4497998944
Update color.s
2019-11-20 12:54:47 +01:00
Stefan
d9a6fbac48
Fixed C16 #978
2019-11-20 12:54:47 +01:00
mc78
db971d8a65
Removed unnecessary #include <cc65.h> from convert.c
...
Adjusted block comments to predominant style
2019-11-19 14:08:00 +01:00
mc78
8d2617110f
Removed additional exit constants definitions from cc65.h to stdlih.h. Guarded the definitions by #ifdef. Removed cc65.h includes from abort and assert implementations.
2019-11-19 14:08:00 +01:00
mc78
a139c4057c
Removed CC65_ prefixes from exit statements in abort and assert code as well from definition
2019-11-19 14:08:00 +01:00
mc78
16a66f19e1
Replaced enum in cc65.h by defines. added comment that cc65 exit constants should not redefine 0 and 1 as they are reserved for exit_success and exit_failure
2019-11-19 14:08:00 +01:00
mc78
694dd9240f
Added comment to debugger exit with error
2019-11-19 14:08:00 +01:00
mc78
3daecfb3dd
Added enum for cc65 exit codes. replaced stdlib exit code names constants in libsrc with cc65 exit code named constants
2019-11-19 14:08:00 +01:00
Greg King
5da525e0ea
Added a standard mouse driver to the cx16 library.
2019-11-16 14:51:24 -05:00
Greg King
d78133e1f0
Updated cx16 to match the Commander X16 ROMs and emulator, release 34.
2019-11-16 13:11:40 -05:00
Greg King
ac4866c027
Made assert() send SIGABRT when an assertion fails.
...
A signal handler can catch it, and do anything needed to make stderr work.
2019-11-10 12:46:01 -05:00
Piotr Fusik
d38417b347
Optimize sign extension.
2019-11-07 21:45:19 +01:00
Piotr Fusik
985371433b
Swap the positive/negative paths to save a branch.
2019-11-07 21:45:19 +01:00
Piotr Fusik
421c3f2b4f
Don't set carry when already set.
2019-11-07 21:45:19 +01:00
Piotr Fusik
2bec637637
Optimize a negation in signed division.
2019-11-07 21:45:19 +01:00
Richard Halkyard
0d21a2b5a4
Reformat comments to style guide rules
2019-11-02 11:21:50 +01:00
Fabrizio Caruso
2bd798fa13
Optimizations
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
78d660da55
kbhit checks KBEDG and getc resets KBEDG
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
43f24afe29
stz
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
609f63ac74
Second tentative fix
2019-10-30 18:00:27 -04:00
Curt J. Sampson
1d39863a60
vic20/cputc: Fix incorrect CRAM_PTR at startup when using conio
...
To do this we add a constructor call to UPDCRAMPTR, which is the ROM
routine that fixes up CRAM_PTR to match the screen location pointed to
by SCREEN_PTR.
This adds two additional bytes to programs using cputc() or other
routines that call it. These are in theory recoverable, but the VIC-20
does not yet free space used by constructors after the constructors
have been called.
Thanks to <greg.king5@verizon.net> (GitHub: greg-king5) for
investigating the difference in the VIC-20 KERNAL from the C64 and
proposing this solution to the problem.[1]
[1]: https://github.com/cc65/cc65/issues/946#issuecomment-538502820
2019-10-25 16:03:38 -04:00
Curt J. Sampson
128991d868
libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs
...
On C64, VIC-20 and Plus/4, the conio library PLOT routine uses direct
calls into the Kernal, including the Kernal PLOT routine that we're
replacing. These were previously hardcoded addresses; we change these
to use the symbols for those routines defined in cbm_kernal.inc. (This
changes no functionality.)
To do this, we need to import cbm_kernal.inc in a namespace so we
don't have a collision between the PLOT that we're defining and the
Kernal definition.
We also add a UPDCRAMPTR symbol (used by kplot for VIC-20 and C64) to
the direct entry kernal routines in in cbm_kernal.inc, and expand the
comments describing what the "direct entry" Kernal routines are.
<greg.king5@verizon.net> (GitHub: greg-king5) came up with this idea
and did initial testing of it.
This has been tested on VICE xvic, x64 and xplus4 emulators with a
program that does a cputs() call (github.com/0cjs/vic20cc65) to
confirm that it works the same way after as it did before.
2019-10-25 16:03:38 -04:00
Greg King
9fa90e2265
Added VERA peek() and poke() to the cx16 library.
...
They simplify C programs' direct access to VERA's internal address space.
2019-10-24 05:15:42 -04:00
Fabrizio Caruso
1074d35a15
remove bra
2019-10-18 11:15:54 -04:00
Fabrizio Caruso
e4b60e1068
Remove useless tax
2019-10-18 11:15:54 -04:00
Fabrizio Caruso
da01286037
Tentative solution for cgetc in Lynx
2019-10-18 11:15:54 -04:00
Stephan Mühlstrasser
55444b8337
Removed redundant LDA
...
After the removal of the redundant AND in commit
704c8df04f
also the
subsequent LDA became redundant.
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
7547c4c77c
Address review comments
...
- removed typo from comment
- removed redundant AND instruction
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
eb2317d014
Restructured according to review
...
Restructured according to review in pull request #567 .
The "inputc" function was moved in slightly modified form
to kbhit.s and replaces the old keyboard scanner.
cgetc() uses the new kbhit() to read a character.
2019-10-15 09:38:23 -04:00
Jeff Tranter
e2007d0743
New OSI input routine based on disassembly of ROM code.
2019-10-15 09:38:23 -04:00
Fabrizio Caruso
9a3e521358
small m and n fixed
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
bac6f94929
Fix 127 (second left arrow)
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
b91e233714
Fix left arrow (char 77=13+64)
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
d04f7935c3
M N fixed
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
0210d76694
Fix 4
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
5eda1c256c
Fix char 35 38 42 47 52
2019-10-13 09:03:46 -04:00
LRFLEW
e660a49347
[cx16] Update ROM banks to new mapping
2019-10-12 04:51:27 -04:00
Greg King
f3f15cfd25
Fixed problems with the Atari Lynx's TGI driver.
...
* The sprite-types for black and transparent backgrounds were swapped.
* A filler-byte for text output isn't printed. (A hardware bug might not need that work-around in most cases.)
2019-10-12 04:01:03 -04:00
LRFLEW
216105f6df
Update comments in rand.s
2019-10-09 17:09:05 +02:00
LRFLEW
3994fee595
Significantly faster rand() implementation
2019-10-09 17:09:05 +02:00
Fabrizio Caruso
fb260ef17f
Init is no longer in crt0.s
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
40cf719068
Use decimal for lcd size initialization
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
915836b3ec
Improve init code readability
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
cdb8035cf0
Move screen init into crt0.s
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
9bd92178b6
Fix Gamate RVS
2019-10-04 10:22:25 +02:00
Greg King
9dfc8f84bc
Fixed cgetc().
...
The GETIN function doesn't protect CPU registers.
2019-10-01 05:30:36 -04:00
Greg King
2546c6ba1c
Put the C64 code into cx16/_scrsize.s.
...
(I forgot that SCREEN is an official jumptable function.
2019-09-28 01:38:16 -04:00
Greg King
6cae84a25d
Updated the cx16 start-up to the emulator's release 32.
...
Made the Kernal ROM be visible when programs start.
2019-09-28 00:54:27 -04:00
Greg King
18afc7c703
Created a target and a library for the Commander X16 prototype computer.
2019-09-27 03:38:51 -04: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
jede
3d63a8bb62
Cleaning
2019-07-31 18:07:28 +02:00
jede
3b07b8b8e3
Add cclear and cclearxy
2019-07-31 18:07:28 +02:00
jede
cceffbdb8c
Fix bug $FF
2019-07-21 14:11:51 -04:00
jede
e7bb0aad19
Fix comment and gotox force colour change
2019-07-21 14:11:51 -04:00
jede
996537282c
Cleaning import variables
2019-07-21 14:11:51 -04:00
jede
848df36f6b
Optimize Clrscr
2019-07-21 14:11:51 -04:00
jede
0fe98a7ca8
Fix bgcolor and textcolor must return last color, jmp remove.
2019-07-21 14:11:51 -04:00
jede
f9e13abc11
jmp instead of jsr
2019-07-21 14:11:51 -04:00
jede
ede64f68a9
Fix bug with bgcolor and textcolor
2019-07-21 14:11:51 -04:00
jede
6f7f6b5119
Fix label, optimize code
2019-07-21 14:11:51 -04:00
jede
a0a6537bda
Fix typo and optimize
2019-07-21 14:11:51 -04:00
jede
28eba8bff9
fix import
2019-07-21 14:11:51 -04:00
jede
7767a0e88e
fix typo
2019-07-21 14:11:51 -04:00
jede
3d5811d8f5
Fix gotoy changecolor
2019-07-21 14:11:51 -04:00
jede
7f9e73a1ce
Add textcolor and bgcolor.s
2019-07-21 14:11:51 -04:00
jede
14ac1a7ff6
Fix bug : gotoxy does not working because Y does not update the adress on the screen
2019-07-21 14:11:51 -04:00
Björn Esser
93b6efcb2f
zlib: Use correct (un)signedness of char in prototypes and functions.
...
Also ensure we are using the same constness qualifiers.
2019-06-19 19:01:30 +02:00
Oliver Schmidt
6efb71bea7
Rearranged paravirt function vector.
...
- exit right below 6502 vectors.
- keep exit addr stable as it may be called from asm.
2019-05-30 00:10:17 +02:00
Oliver Schmidt
c6bbea0bb0
Renamed program start label.
2019-05-30 00:06:31 +02:00
bbbradsmith
9fcd91ebe9
sim65 header comment fix
2019-05-29 22:56:51 +02:00
bbbradsmith
fb7d4acd5c
versionable header for sim65
...
load and run address now configured from header
fix error codes not to conflict with test
fix test/misc/endless.c which is supposed to fail if an endless loop does not occur
2019-05-29 22:56:51 +02:00
bbbradsmith
2f3cae0d2e
movable sp for sim65
2019-05-29 22:56:51 +02:00
Oliver Schmidt
ac0b452834
Added '_' prefix to sin and cos.
...
Users complained that otherwise the names might clash with their functions.
2019-04-13 11:25:54 +02:00
Christian Groessler
03311e7268
atari5200: update docs for recent conio changes
...
also renames libsrc/atari5200/extra/conioscreen_20x12.s to
libsrc/atari5200/extra/conioscreen-20x12.s to be in line with
other optional link modules
2019-04-13 11:07:06 +02:00
Christian Groessler
78daf84f12
atari5200: name conio constructor 'initconio'
2019-04-12 12:49:38 +02:00
Christian Groessler
e1e6bec9ff
atari5200: changes from discussions in #870
...
- rename screen_setup to initconio
- use Greg King's version of bgcolor()
2019-04-12 12:49:38 +02:00
Christian Groessler
d7eecb57f8
atari5200: get rid of conio_colors table
...
use system color variables instead; improve testcode/lib/atari5200/hello.c
test program
2019-04-12 12:49:38 +02:00
Christian Groessler
be6bba66a9
atari5200: conio now uses just four colors altogether
...
See discussion in PR #870 .
2019-04-12 12:49:38 +02:00
Christian Groessler
79b9a8d2df
atari5200: add screensize function
2019-04-12 12:49:38 +02:00
Christian Groessler
db01036e2e
atari5200: add alternative conio screen (20x12 resolution)
2019-04-12 12:49:38 +02:00
Christian Groessler
ec5e38617a
atari5200: implement bgcolor() and textcolor()
...
Includes some other small fixes/cleanups.
2019-04-12 12:49:38 +02:00
Christian Groessler
edd596b2a4
atari: split color.s into bordercolor.s and bgcolor.s
2019-04-12 12:49:38 +02:00
Oliver Schmidt
fc6a63a15e
Avoid unintended file "shadowing".
...
3d8c3a4948
caused an unintended "shadowing" of files in /libsrc/runtime by files in /libsrc/common. Therefore the files in question are renamed (again) in /libsrc/common to make the files in /libsrc/runtime "visible" again.
2019-04-04 09:16:59 +02:00
IrgendwerA8
3d8c3a4948
Code review adaptations, removed "cc65_" prefix from functions
2019-03-29 22:53:04 +01:00
IrgendwerA8
db8bd84a82
Changes due to code review.
2019-03-29 22:53:04 +01:00
IrgendwerA8
399250a105
Optimized mul20 & mul40 and extracted to new library.
2019-03-29 22:53:04 +01:00
Bas Wassink
96d0b00a76
Merge https://github.com/cc65/cc65
...
Pull to fix extra changes in PR #863
2019-03-24 20:49:53 +01:00
Bas Wassink
2eac69a943
Remove trailings spaces from CBM-related asm files
2019-03-22 22:54:05 +01:00
IrgendwerA8
e1a4910580
Code review changes and build fix.
2019-03-04 23:32:56 +01:00
IrgendwerA8
cc6559c3f6
Minor math optimizations
2019-02-28 19:48:29 +01:00
Daniel Serpell
258ba05660
Separate header and trailers of Atari system_check chunk.
...
This allows to omit the headers and trailers if needed.
2019-02-21 19:00:17 -03:00
Oliver Schmidt
b9ea77b185
Merge pull request #834 from jedeoric/master
...
Update telestrat target doc, add tgi_clear support for telestrat target, stratsed & telemon 2.4 vars added
2019-02-12 17:51:24 +01:00
Christian Groessler
58484449b4
remove TABs
2019-02-05 23:27:52 +01:00
Christian Groessler
055c294ac0
Use Timer2 for mouse polling.
...
This follows a suggestion by Sijmen Schouten in issue #818 .
Platoterm64 now works with mouse at 1200 baud.
Bump MOUSE_API_VERSION in asminc/mouse-kernel.inc.
Fix typo in testcode/lib/mouse-test.c.
2019-01-29 22:00:55 +01:00
jedeoric
63e64f801a
Merge branch 'master' into master
2019-01-25 10:15:21 +01:00
Piotr Fusik
7a034f505b
Comment the ATASCII to screen code conversion.
2019-01-23 19:02:26 +01:00
Piotr Fusik
1781a5cfe7
Optimize the conversions from Atari ASCII to screen codes.
2019-01-23 00:05:31 +01:00
Greg King
a6b04f6e97
Changed most "backticks" (grave accents) into apostrophes.
...
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Scott Hutter
a6725edb15
moved to better folder location
2018-12-30 18:57:46 +01:00
Scott Hutter
9160b8ddc2
Issue 814
2018-12-30 18:57:46 +01:00
Scott Hutter
2f6f468aad
Added SetNewMode() to geoslib - #814
2018-12-30 18:57:46 +01:00
Paul Gardner-Stephen
1b46dfe820
change reference to $0200FF to $0200xx
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
576d64da38
remove redundant line
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
837b9b3c2c
use pre-existing ZP storage. Make 32-bit pointer value loading more self-evident
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
19ca1f6b48
add support for detecting 45GS02
2018-12-30 03:49:26 -05:00
jede
d707ef4c72
Now tgi_clear() works
2018-12-10 21:48:09 +01:00
Olli Savia
b6529225e9
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
b269b3f5b2
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
b9054ec9a7
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
4304f11549
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
7147e780e6
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
5901ea80a4
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
ad0b0982d0
Added SER_ prefix
2018-11-26 22:14:31 +01:00
Olli Savia
7b4807a8f7
Changed prefix SWL_ to SER_
2018-11-26 22:14:31 +01:00
Olli Savia
aeff90ca90
Updated to use cbm_kernal.inc. Whitespace cleanups
2018-11-26 22:14:31 +01:00
IrgendwerA8
923fa8fc93
Saved 2 bytes and fixed error in case of negative result.
2018-11-09 17:27:35 -05:00
Oliver Schmidt
40f42e977f
Adjusted comments to match actual prototypes.
2018-11-06 11:13:23 +01:00
Greg King
c2568d804d
Fixed the Plus4's serial driver's ACIA address.
2018-10-23 19:52:23 -04:00
jede
385260e453
Fix comments and TELEMON uppercase
2018-10-19 23:43:40 +02:00
jede
6a18ad5fbf
Clean wherey.s
2018-10-19 23:43:40 +02:00
jede
ee7514fea2
Remove BASHEAD segment which is not useful
2018-10-19 23:43:40 +02:00
Christian Groessler
df3c43bede
Atari: implement clock_getres()
2018-09-28 09:47:20 +02:00
Christian Groessler
6dc7309e50
Atari: add support for BW-DOS. Initially contributed by Daniel Serpell.
2018-09-27 17:37:59 +02:00
Christian Groessler
9c7cccf3e5
Atari: clock_gettime() and clock_settime() implementations
...
They are using SpartaDOS-X interfaces and are therefore only working
in this environment.
2018-09-25 21:11:05 +02:00
Christian Groessler
118bc996fb
libsrc/atari/getdefdev.s: small comment change
2018-09-20 23:58:23 +02:00
Christian Groessler
d52d986aca
libsrc/atari/getdefdev.s: small optimization and fix a typo
2018-09-14 16:54:20 +02:00
Christian Groessler
4691974466
Atari: Make a good "default device" on AtariDOS (2.0 and 2.5) and MyDOS.
...
The default device will be the one the program was loaded from instead of
always D1:.
2018-09-13 22:33:54 +02:00
Christian Groessler
08d164a811
fix comment in last change
2018-09-12 01:20:12 +02:00
Christian Groessler
e4e3dbf756
atarixl: check at startup whether RAM beneath the ROM is in use
...
If detected, the program refuses to run, preventing a crash.
The check only works with SpartaDOS. I don't have an overview which
DOSes potentially use the RAM under the ROM. Or which other installed
programs might use it.
No additional runtime memory space is consumed, since the change
is in the "system check" load chunk which gets replaced by the
user program during loading.
2018-09-12 01:05:52 +02:00
Oliver Schmidt
a9a102b0e8
Protect random counter against ProDOS.
...
Although documented nowhere (!!!) ProDOS trashes the random counter locations $4E/$4F. Is discovered this because my TCP connections didn't have random local ports.
It's a really funny coincidence that David Finnigan discovered only 3 years ago the very same issue because of the very same reason: https://groups.google.com/forum/#!topic/comp.sys.apple2.programmer/1ciep_Oetvo
2018-09-08 23:29:59 +02:00
Oliver Schmidt
cddc4da3bb
Just removed some trailing spaces.
2018-09-08 23:14:54 +02:00
Oliver Schmidt
73faf60fe0
Support randomize().
...
In order to have randomize() work as expected (and the Apple II random number generation in general) it is necessary to update the random counter during keypress wait just like the ROM function does.
2018-09-08 18:45:20 +02:00
Christian Groessler
b6ccd4d5d4
Atari: RealDOS adaptations
...
RealDOS is a SpartaDOS clone. Handle it the same way as SpartaDOS.
2018-09-06 15:55:07 +02:00
Christian Groessler
e9b8f5d814
Atari: Add detection of RealDOS ( http://www.realdos.net/realdos.html ).
2018-09-06 12:08:50 +02:00
Christian Groessler
1cc4fa9356
Atari: fix interrupt handling if extended memory is banked in
...
Extendend memory is mapped over the main memory in the 0x4000..0x7FFF
area. Many DOSes disable interrupts while extended memory is banked in,
but not all (e.g. SpartaDOS-X).
This change modifies the initial interrupt handler to map in main memory
before chaining to the "worker" handlers.
Since the initial interrupt handler uses a data segment to store the
trampoline to chain to the original handler, introduce a new "LOWBSS"
segment to hold this trampoline. Otherwise the trampoline may end up
inside the 0x4000..0x7FFF area.
Add a link time warning if "LOWCODE" segment lays within the extended
memory window.
2018-09-05 11:28:15 +02:00
Christian Groessler
d199ca1460
Atari, Atari5200: disable "attract mode" on mouse or joystick input
...
Fixes #736 .
2018-09-05 11:23:12 +02:00
Oliver Schmidt
70a131e09a
Just a minor comment improvement.
2018-09-02 23:07:26 +02:00