markjreed
|
ff324955dd
|
Feature/read cursor position (#111)
* feat: add ability to read cursor position on CBM machines
* feat: implement plot()/column() for atari target; add get_cursor(), get_column(), row(), and get_row()
* feat: implement wait_key() for Commodore targets; add get_cursor(), get_column(), row(), get_row()
* feat: really implement waitkey() on CBM targets
* fix: make waitkey void for compatibility with atari
|
2023-11-07 22:19:16 +01:00 |
|
Irmen de Jong
|
31177a2b1b
|
added sys.disable_caseswitch() and sys.enable_caseswitch()
|
2023-11-07 00:27:34 +01:00 |
|
Irmen de Jong
|
4de012fc49
|
added notes to textio about PETSCII vs Screencode encoding.
|
2023-11-06 23:18:24 +01:00 |
|
Irmen de Jong
|
723ab54f97
|
optimized all circle routines a little more. Added gfx2/monogfx safe_circle and safe_disc. Warning for when on const value.
|
2023-11-05 21:29:59 +01:00 |
|
Irmen de Jong
|
b500a0d477
|
c64: added a couple of routines that calculate the correct memory locations for video ram and sprite pointers etc. based on current VIC-II memory setup.
the examples with sprites, now use it.
|
2023-09-08 21:27:38 +02:00 |
|
Irmen de Jong
|
31458ffd81
|
examples cleanup and improving c64 graphics module (shift bitmap to higher ram area)
|
2023-09-05 20:39:12 +02:00 |
|
Irmen de Jong
|
c3fbdf34ca
|
fixed c64 float problem
|
2023-09-03 16:40:10 +02:00 |
|
Irmen de Jong
|
2d7ebff8e9
|
fix shadowing warnings in asm and library code
|
2023-08-29 11:00:53 +02:00 |
|
Irmen de Jong
|
77f3852cdc
|
added floats.parse_f()
|
2023-08-16 14:47:20 +02:00 |
|
Irmen de Jong
|
c7b7dcfd03
|
made pet textio more compatible with the other platforms by putting the (dummy) color arguments back
|
2023-08-14 13:51:15 +02:00 |
|
Irmen de Jong
|
151a206617
|
experimental Commodore PET target
|
2023-08-12 23:25:07 +02:00 |
|
Irmen de Jong
|
d5707b7bf3
|
rebuilding floating point stack evaluation (using cpu stack)
|
2023-07-20 00:45:04 +02:00 |
|
Irmen de Jong
|
41af63b333
|
remove even more X register save/restore code
|
2023-07-15 22:26:54 +02:00 |
|
Irmen de Jong
|
9e8c8973d8
|
remove eval stack references from asm code
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
3933bf5c1a
|
remove eval stack references from p8 code
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
84925ab69c
|
remove eval stack options
|
2023-07-15 22:24:19 +02:00 |
|
Irmen de Jong
|
cad18b8a3a
|
uniform symbol prefixing with p8_
|
2023-07-02 06:15:02 +02:00 |
|
Irmen de Jong
|
e9163aa3a7
|
added cx16.save_virtual_registers() and cx16.restore_virtual_registers()
|
2023-06-24 21:04:47 +02:00 |
|
Irmen de Jong
|
8bffd7672d
|
added sys.irqsafe_set_irqd()/irqsafe_clear_irqd()
|
2023-05-22 21:13:20 +02:00 |
|
Irmen de Jong
|
bd2bcb6994
|
Merge branch 'master' into version_9
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/AssignmentGen.kt
# compiler/res/prog8lib/c128/syslib.p8
# compiler/res/prog8lib/c64/syslib.p8
# compiler/res/prog8lib/cx16/syslib.p8
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRInstructions.kt
|
2023-05-08 23:17:52 +02:00 |
|
Irmen de Jong
|
8cbfe64f19
|
optimize some carry flag assembly
|
2023-05-07 23:27:49 +02:00 |
|
Irmen de Jong
|
fd1e9971e4
|
asmsub Pc params and returnvalue must be boolean
|
2023-05-07 22:59:30 +02:00 |
|
Irmen de Jong
|
06368ab0a1
|
sqrt() now works on multiple data types including float.
no need to use floats.sqrtf() anymore
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
38efe25c68
|
abs() now works on multiple data types including float.
no need to use floats.fabs() anymore
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
4274296cf3
|
api change: new 'cbm' module that now contains the common CBM kernal variables and routines.
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
ee5c94f6db
|
c128: fix key status zp location symbols
|
2023-04-28 20:43:26 +02:00 |
|
Irmen de Jong
|
d936568b76
|
added divmod() and divmodw() builtin functions to efficiently compute division and remainder in a single call
|
2023-03-29 23:46:44 +02:00 |
|
Irmen de Jong
|
043df18daa
|
set X to bottom part of eval stack in irq handler. fixes #94
|
2023-03-10 23:29:34 +01:00 |
|
Irmen de Jong
|
f350137a14
|
fix array in place assignments
fixes balls and snow examples amongst others
|
2023-03-10 04:07:50 +01:00 |
|
Irmen de Jong
|
f7dd388954
|
remove unsupported floats.FTOSWRDAY routine. Fixes #96
|
2023-02-17 18:05:46 +01:00 |
|
Irmen de Jong
|
32c1c19224
|
tweak sys.wait() routines on various targets
add warning to docs about FP usage in IRQ
|
2023-01-20 03:29:10 +01:00 |
|
Irmen de Jong
|
a1d04f2aad
|
added more $03xx vector definitions to C64/C128/CX16 syslib
|
2022-12-06 20:23:56 +01:00 |
|
Irmen de Jong
|
5d4bfffc7e
|
float.rndseedf() now takes float seed value and is consistent for all CBM compilation targets
|
2022-11-06 22:53:57 +01:00 |
|
Irmen de Jong
|
ec5adffdc2
|
rnd()/rndf() routines can now be seeded with new rndseed()/rndseedf() routines. fixes #80
|
2022-10-22 13:34:22 +02:00 |
|
Irmen de Jong
|
00b717cde8
|
tweak
|
2022-08-04 18:35:10 +02:00 |
|
Irmen de Jong
|
6181b12ab8
|
added -esa option to override the evalstack location, and shift cx16.r0-r15 accordingly
|
2022-07-11 19:29:04 +02:00 |
|
Irmen de Jong
|
3054a1d32d
|
api change: removed swap() builtin function (too complex in codegen for little used function)
|
2022-06-06 16:01:11 +02:00 |
|
Irmen de Jong
|
a735939d1e
|
removed confusing GPL software license reference and copyright header from library files. (because of exclusion in output files)
Reworded software license and exclusion clause somewhat again in attempt to make it even clearer.
|
2022-05-30 20:12:20 +02:00 |
|
Irmen de Jong
|
0bf00d1ca4
|
c64/c128 targets: perform cleanup at program exit such as re-enabling run-stop key and character set switching.
|
2022-05-15 16:44:26 +02:00 |
|
Irmen de Jong
|
0f9e87d7bb
|
fixed compiler crash when casting float to integer, fixed float to int cast value error on cx16
|
2022-05-03 23:43:38 +02:00 |
|
Irmen de Jong
|
cf50e4f6ec
|
vm: printing of numbers now via conv module.
assigning strings now converted to strcopy function call in the compiler ast.
|
2022-04-23 02:15:51 +02:00 |
|
Irmen de Jong
|
7eea97d741
|
- floats: remove all floating point builtin functions and move them to the floats module instead
|
2022-04-22 00:45:54 +02:00 |
|
Irmen de Jong
|
7dbff5b9e6
|
abs: remove support for floats. Use floats.fabs() instead.
this solves: can't use abs() etc in pipe expression because return type depends on argument type
|
2022-04-14 00:38:31 +02:00 |
|
Irmen de Jong
|
220246278a
|
removed sum(), max(), min(). abs() now always returns uword type.
This greatly simplifies internal handling of builtin functions by always having one fixed return type.
|
2022-04-14 00:21:16 +02:00 |
|
Irmen de Jong
|
ed30108961
|
removed '**' power-operator. Use floats.pow() instead.
|
2022-03-27 13:16:34 +02:00 |
|
Irmen de Jong
|
2812736ae5
|
preparing version 7.9
|
2022-03-03 00:42:53 +01:00 |
|
Irmen de Jong
|
72dfb0bda3
|
fix: undefined sys.memcopy when initializing array on cx16
|
2022-02-08 20:29:47 +01:00 |
|
Irmen de Jong
|
d916027e75
|
labels no longer start with '_' fixes #62
|
2022-01-17 22:03:53 +01:00 |
|
Irmen de Jong
|
50c16fe6de
|
code size optimization: don't copy floats with inlined copy code but use copy_float routine
|
2022-01-09 16:18:13 +01:00 |
|
Irmen de Jong
|
c1a39c269e
|
optimized code for stack eval comparisons with zero
|
2022-01-09 03:19:49 +01:00 |
|