xlar54
3ea0ded65d
initial
2024-06-12 16:23:30 -05:00
Bob Andrews
a372ead4de
Merge pull request #2334 from carlo-bramini/fix-sim65-1
...
[SIM65] Support undocumented opcodes for 6502
2024-03-10 00:37:18 +01:00
Colin Leroy-Mira
86317711e0
IIgs SCC: Rework branches to X-indexed variables
...
and general cleanup/commenting
2024-02-23 01:20:47 +01:00
Colin Leroy-Mira
8b71fafb84
IIgs SCC: Allow choosing 115200bps as the card allows it
...
Of course, that won't work full speed with the standard
IRQ-based RX. But that will allow users to setup the port
at this speed without duplicating the setup part of the
code. Up to them to add hooks to disable IRQs and read
directly in a tight asm loop.
2024-02-23 01:20:47 +01:00
Colin Leroy-Mira
3fd78208ba
Disable IRQ if opening at 115200 bps
2024-02-19 19:31:47 +01:00
Colin Leroy-Mira
7a12399b39
Allow choosing 115200bps as the card allows it
...
Of course, that won't work full speed with the
standard IRQ-based RX. But that will allow users
to setup the port at this speed without duplicating
the setup part of the code. Up to them to add hooks
to disable IRQs and read directly in a tight asm
loop.
2024-02-19 19:31:47 +01:00
Alex Thissen
7d6f3d24d4
Changed sta (ptr1,x) to sta (ptr1)
...
Reset serial status on ser_close
Fixed error for saving serial state
2024-02-11 23:12:27 +00:00
Alex Thissen
8b172e05bc
Applied optimization as per review 42Bastian
2024-02-11 20:59:08 +00:00
Alex Thissen
1deb9e52ae
Replaced last literal value for SERCTL
2024-02-11 15:46:23 +00:00
Alex Thissen
acff429eb8
Added redeye check for SER_HS_SW handshake
2024-02-11 15:33:22 +00:00
Alex Thissen
6cf8ee8eb5
Removed baud rates from 150 and lower.
...
Fixed tab
Replaced uploader references to SERIAL_INTERRUPT
2024-02-10 23:19:05 +00:00
Alex Thissen
65bce9ecde
Implemented mark and space checks.
2024-02-10 23:19:04 +00:00
Alex Thissen
014f85f226
Fixed baud rates
2024-02-10 23:19:04 +00:00
Alex Thissen
788ae82d30
Fixes to serial driver implementation
2024-02-10 23:19:02 +00:00
Carlo Bramini
b04d79b1da
[SIM65] Support undocumented opcodes for 6502
...
This PR is mostly a complete rewrite of the emulator for 6502/65c02 opcodes.
It provides an easier to maintain implementation of the instructions, by using few macros rather than having hand-written code for each function.
All undocumented, previously missing opcodes for 6502 are also implemented.
The patch also includes a detailed documentation of those opcodes, for reference to developers.
This PR should fix one of the milestones listed here for the next version of CC65:
https://github.com/cc65/wiki/wiki/Before-the-next-release
2024-02-08 12:13:17 +01:00
Bob Andrews
a06431a8f9
Merge pull request #2402 from colinleroy/a-bit-of-65c02-optimisations
...
a BIT of 65C02 optimisations
2024-02-02 21:58:04 +01:00
Bob Andrews
eb503cc542
Merge pull request #2390 from colinleroy/implement-shifts-by-7
...
Implement aslax7/shlax7/asrax7/shrax7
2024-02-02 20:17:48 +01:00
Colin Leroy-Mira
1fab179cb4
a BIT of 65C02 optimisations
...
Use BIT immediate instead of AND when reloading A is required
afterwards.
Add an fread unit test as the optimisation touches fread.
Sprinkle a few zero page indexed while we're at it.
2024-02-02 19:45:49 +01:00
Colin Leroy-Mira
afd8ee627e
Remove useless branching code in fgets
2024-01-30 19:52:48 +01:00
Colin Leroy-Mira
2b97735d5d
Factorize file pointer check
2024-01-30 19:40:28 +01:00
Colin Leroy-Mira
1a5a7d67a7
Rewrite fputc in assembly
...
-36 bytes, -12% cycles
2024-01-30 17:19:13 +01:00
Colin Leroy-Mira
ba36071022
Rewrite fputs in assembly
...
-28 bytes, -1% cycles
2024-01-30 17:12:52 +01:00
Colin Leroy-Mira
7d7cf2d1e0
Implement aslax7/shlax7/asrax7/shrax7
2024-01-29 07:59:11 +01:00
Bob Andrews
51b946bf25
Merge pull request #2387 from colinleroy/sim65-implement-remove
...
Implement __sysremove for sim65
2024-01-28 16:53:29 +01:00
Colin Leroy-Mira
0dd7b0c3a5
Implement __sysremove for sim65
...
This will allow using unlink()/remove() in sim65 programs
Use it to unlink fgets' test output file
2024-01-28 13:58:57 +01:00
Bob Andrews
8682095f9f
Merge pull request #2384 from colinleroy/asm-realloc
...
Rewrite realloc in asm
2024-01-27 00:28:17 +01:00
Colin Leroy-Mira
aa6f850b8d
Rewrite gets in assembler
...
+19 bytes if used alone, because it pulls in fgets, but as code is
factorized, -128 bytes in programs using both fgets and gets.
2024-01-26 20:29:17 +01:00
Colin Leroy-Mira
a8b870555e
Rewrite realloc in asm
...
-80 bytes, -39% cycles
2024-01-26 20:25:59 +01:00
Bob Andrews
65937684a0
Merge pull request #2380 from colinleroy/asm-fgetc
...
Rewrite fgetc in asm
2024-01-26 20:12:41 +01:00
Bob Andrews
ba6f9f5d3f
Merge pull request #2381 from colinleroy/asm-fgets
...
Rewrite fgets in asm
2024-01-26 19:36:57 +01:00
Colin Leroy-Mira
476591e8b7
Rewrite fgetc in asm
...
-82 bytes, -20% cycles
2024-01-25 09:13:39 +01:00
Bob Andrews
ee3a542539
Merge pull request #2383 from colinleroy/pmemalign-size-opt
...
Optimize -36 bytes out of posix_memalign
2024-01-24 21:26:50 +01:00
Bob Andrews
a2d722639f
Merge pull request #2385 from polluks/master
...
Fixed comment
2024-01-24 21:17:19 +01:00
Bob Andrews
9ba270d97b
Merge pull request #2378 from colinleroy/fix-overflow-in-malloc-and-realloc
...
Fix malloc and realloc overflow
2024-01-24 21:15:31 +01:00
Stefan
34f37c873e
Fixed comment
2024-01-24 16:32:45 +01:00
Bob Andrews
ebf43ddb05
Merge pull request #2379 from colinleroy/add-return-minus-1-helper
...
add a return -1 helper
2024-01-24 15:53:19 +01:00
Colin Leroy-Mira
f0b5b02966
Swap in LC before destructors, ROM after
2024-01-24 12:28:57 +01:00
Colin Leroy-Mira
b87df9e1c6
Optimize -36 bytes out of posix_memalign
...
And add a unit test
2024-01-24 10:23:53 +01:00
Colin Leroy-Mira
1f820d0ae8
Rewrite fgets in asm
...
-104 bytes, -1% cycles
2024-01-24 10:16:26 +01:00
Colin Leroy-Mira
5d49fde788
add a return -1 helper
2024-01-24 09:58:09 +01:00
Colin Leroy-Mira
3e01ac9b04
Fix malloc and realloc overflow
...
If user requests a size >= 65532, adding the heap admin size
overflows size. Fixes #2358 .
2024-01-24 09:54:54 +01:00
Bob Andrews
57e65a6bf6
Merge pull request #2348 from colinleroy/time-functions-pass-2
...
Convert more time functions to asm
2024-01-23 23:45:10 +01:00
Colin Leroy-Mira
2ba176372e
Add beep for apple2
2024-01-23 23:04:50 +01:00
Bob Andrews
7a7e98d799
Merge pull request #2371 from alexthissen/lynx-upload
...
Lynx upload fixes for IRQ and configuration
2024-01-22 15:50:40 +01:00
Colin Leroy-Mira
b23a7ec407
Save two bytes in pushax and popptr1
...
It's not because Y must equal zero on rts that we should'nt spare one byte
and one cycle.
2024-01-19 21:14:47 +01:00
Alex Thissen
ad90a3a421
Replaced references to __BLOCKSIZE__ with __BANK0BLOCKSIZE__
2024-01-18 18:57:57 +00:00
Alex Thissen
2e56dcc521
Fix for mising import
2024-01-18 18:13:39 +01:00
Alex Thissen
acce24fedc
Switched to __BANK0BLOCKSIZE__ instead of __BLOCKSIZE__ to make current lynx config files work
2024-01-18 18:13:02 +01:00
Alex Thissen
d906748691
Fix uploader implementation to reset IRQ bit for timer 4 (serial) interrupt
2024-01-18 17:37:09 +01:00
Colin Leroy-Mira
166a4b25f7
Apple2: implement sleep using MONWAIT
...
Also publish detect_iigs(), set_iigs_speed() and get_iigs_speed(). Refactor to only store one ostype variable.
2024-01-18 16:17:10 +01:00