Irmen de Jong
d5f35bb3fb
added gfx2.init_mode()
2023-11-04 14:53:08 +01:00
Irmen de Jong
72f1a779f2
optimize monogfx.fill() and gfx2.fill(), also don't read outside screen area
2023-11-04 14:30:51 +01:00
Irmen de Jong
16b24fadea
gfx2 future mode, upgrate to Kotlin 1.9.20
2023-11-01 23:18:44 +01:00
Irmen de Jong
92374e122b
IR: optimize concat with msb 0 into ext
2023-10-28 12:53:41 +02:00
Irmen de Jong
34aa21f7d9
improve function call arg type casting
2023-10-22 22:33:35 +02:00
Irmen de Jong
cc81dd7d3e
remove useless close calls from diskio load
2023-10-22 17:24:05 +02:00
Irmen de Jong
335213b55f
tweaks
2023-10-21 02:16:58 +02:00
Irmen de Jong
e15c5cde53
tiny fill() optimization
2023-10-18 23:11:16 +02:00
Irmen de Jong
1fb94e7a7b
monogfx and gfx2: flood fill uses optimized horizontal line drawing
2023-10-15 23:19:11 +02:00
Irmen de Jong
68539d6cc9
micro tweaks adpcm.p8
2023-10-13 00:55:56 +02:00
Irmen de Jong
836bc9d456
added verafx.available()
2023-10-10 22:12:21 +02:00
Irmen de Jong
68e62e4bd2
added cx16.MCIOUT() kernal call
...
correct case of several other cx16 kernal calls.
corrected to upper case: cx16 kernal calls CLOSE_ALL, LKUPLA, LKUPSA, JSRFAR, PRIMM, MACPTR.
2023-10-09 22:44:36 +02:00
Irmen de Jong
a48ce35f0b
added %option verafxmuls
2023-10-05 22:06:33 +02:00
Irmen de Jong
433832b329
gfx2.clear_screen and monogfx.clear_screen() now have color parameter to clear the screen with
...
this is much faster than filling a rectangle of the full screen size with a color.
2023-10-05 21:00:39 +02:00
Irmen de Jong
ee81da14d6
cx16: removed monochrome modes from gfx2 (use monogfx instead). New screen mode numbering!
...
programs will now be a lot smaller than before if they use gfx2 (or monogfx if they were only using monochrome drawing)
monogfx also fixes some drawing errors with small horizontal lines, and stippled vertical lines.
2023-10-05 02:12:46 +02:00
Irmen de Jong
6395d1908e
cx16: added monogfx library module, replaces gfx2 for monochrome screenmodes.
2023-10-04 22:32:13 +02:00
Irmen de Jong
a8507b437d
add verafx.transparency()
2023-10-03 01:47:52 +02:00
Irmen de Jong
e505bf9ccf
added "emudbg" library (cx16 only) to interface with the emulator
2023-10-02 22:23:09 +02:00
Irmen de Jong
c3f1f09ad1
added verafx.clear()
2023-10-02 01:34:56 +02:00
Irmen de Jong
70ee2026ff
fix gfx2 screen fill broken when using verafx
2023-10-02 00:12:48 +02:00
Irmen de Jong
690782bf60
added -verafxmul compiler option to use vera fx multiplication routine on cx16
2023-10-01 22:44:45 +02:00
Irmen de Jong
452e9e275f
diskio module: set correct read or write i/o channel every time f_read or f_write is called
2023-09-28 23:39:37 +02:00
Irmen de Jong
390263a34e
added cx16 verafx library module
2023-09-24 23:00:40 +02:00
Irmen de Jong
dd2463a440
proper fix for the previous commit. + fix for i/o channel reset in diskio.f_seek()
...
it wasn't the adressing mode, it was that it assumed the pointer variable was always in zeropage (which might not be)
2023-09-07 22:17:46 +02:00
Irmen de Jong
3caf9108ad
finalizing 9.4.1 release
2023-09-06 21:18:01 +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
5cd4b874ea
tweak sprites module
2023-09-01 21:25:19 +02:00
Irmen de Jong
f14ea1b3de
micro optimization to save 2 cycles: change some pha+pla into tax+txa
2023-09-01 20:37:24 +02:00
Irmen de Jong
9cc0cda0fb
added sprites library module (cx16 only)
2023-09-01 17:35:07 +02:00
Irmen de Jong
2dc2429735
tweaks to the cx16 sprite example
2023-08-31 23:24:46 +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
a82d21ac05
fixed gfx2.plot in mode 1+5 with certain combinations of color and stipple
2023-08-08 00:01:43 +02:00
Irmen de Jong
0bf8378fcb
fixed gfx2.horizontal_line problem with monochrome stippling mode (regression since version 9.0)
...
todo
2023-08-07 22:56:07 +02:00
Irmen de Jong
19a4bf1088
clean up AugmentableAssignmentAsmGen a bit
2023-08-04 21:48:02 +02:00
Irmen de Jong
9167ba499d
Merge branch 'remove_evalstack'
2023-07-30 17:49:35 +02:00
Irmen de Jong
2d7e95e1b6
release 9.2.1
2023-07-30 17:39:18 +02:00
Irmen de Jong
a0ab0bd3e2
Merge branch 'master' into remove_evalstack
...
# Conflicts:
# examples/test.p8
2023-07-29 18:57:06 +02:00
Irmen de Jong
c112b327ab
tiny optimization
2023-07-29 17:04:41 +02:00
Irmen de Jong
4a8ee6815a
merge
2023-07-28 03:34:58 +02:00
Irmen de Jong
e1b6bb154a
Merge branch 'master' into remove_evalstack
...
# Conflicts:
# compiler/res/prog8lib/cx16/gfx2.p8
# docs/source/todo.rst
# examples/test.p8
2023-07-28 02:09:45 +02:00
Irmen de Jong
e520921746
todo
2023-07-26 23:16:43 +02:00
Irmen de Jong
970642244b
optimized gfx2.text() for hires 4c mode
2023-07-26 04:17:44 +02:00
Irmen de Jong
3b90be2d9e
gfx2.text() per-pixel positioning implemented for screen modes 1 and 5
2023-07-25 00:43:45 +02:00
Irmen de Jong
65a7a8caf8
fix and optimize gfx2.position2(), added cx16.vaddr_clone()
2023-07-24 00:04:47 +02:00
Irmen de Jong
7cf6aba625
Merge branch 'master' into remove_evalstack
...
# Conflicts:
# examples/test.p8
2023-07-22 23:37:20 +02:00
Irmen de Jong
0e781d18fa
cx16: added cx16.vaddr_autoincr() and cx16.vaddr_autodecr()
2023-07-21 23:04:21 +02:00
Irmen de Jong
4575a8fffe
cx16: added cx16.vaddr_autoincr() and cx16.vaddr_autodecr()
2023-07-21 22:40:07 +02:00
Irmen de Jong
7136b33f2e
cx16: change reset_system() to use Reset SMC sequence instead of hard reboot
2023-07-20 01:59:20 +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
3933bf5c1a
remove eval stack references from p8 code
2023-07-15 22:24:22 +02:00
Irmen de Jong
9cb61fa34d
tweaks
2023-07-15 20:46:14 +02:00
Irmen de Jong
4cc0dfa10b
comment
2023-07-08 11:42:29 +02:00
Irmen de Jong
4ced8889d3
cx16: fix signature return values of cx16.screen_mode(), add get_screen_mode() and set_screen_mode() convenience routines
2023-07-08 11:37:29 +02:00
Irmen de Jong
ee3e3a3a40
optimize text rendering in gfx2
2023-07-03 21:45:09 +02:00
Irmen de Jong
cad18b8a3a
uniform symbol prefixing with p8_
2023-07-02 06:15:02 +02:00
Irmen de Jong
b0794cf35e
added hiram bank number to -varshigh
2023-06-27 00:27:34 +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
8c617515ba
don't prefix 3-letter symbols too aggressively (could cause some compilation errors)
2023-06-23 23:36:59 +02:00
Irmen de Jong
ba25b7fee6
fix diskio.diskname(). cx16: add diskio.curdir()
2023-06-07 22:38:51 +02:00
Irmen de Jong
9896bc110e
fix some split array issues in 6502 codegen
2023-05-28 22:49:33 +02:00
Irmen de Jong
ca60f8ecdd
Merge branch 'master' into split-arrays
2023-05-28 22:35:16 +02:00
Irmen de Jong
544acd1e35
Merge branch 'v8_maintenance'
2023-05-28 22:30:52 +02:00
Irmen de Jong
6e07602d77
fix psg initial envelope maxvol setting
2023-05-28 22:30:34 +02:00
Irmen de Jong
82898f7bba
fix some split array issues in 6502 codegen
2023-05-28 22:24:56 +02:00
Irmen de Jong
cdbccad21e
optimized gfx2 plot and horizontal_line a bit more
2023-05-23 20:29:17 +02:00
Irmen de Jong
e15bc68c9b
added gfx2.fill() flood fill routine
2023-05-23 00:50:10 +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
61df5b3060
Merge branch 'v8_maintenance'
...
# Conflicts:
# compiler/res/prog8lib/cx16/syslib.p8
2023-05-22 20:43:05 +02:00
Irmen de Jong
b5255444cd
irq-safe irqd handling for RDTIM16
2023-05-22 20:36:33 +02:00
Irmen de Jong
0c94e377fc
Merge branch 'v8_maintenance'
2023-05-21 16:09:31 +02:00
Irmen de Jong
b24f2f1756
Merge branch 'v8_maintenance'
...
# Conflicts:
# compiler/res/prog8lib/cx16/syslib.p8
# examples/test.p8
2023-05-21 15:05:17 +02:00
Irmen de Jong
c69c17de42
cx16 avoid ram bank issue with RDTIM in sys.wait() and c64.RDTIM16()
2023-05-21 15:03:33 +02:00
Irmen de Jong
06d1570142
cx16: added diskio.save_raw() headerless save routine
2023-05-20 00:00:50 +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
f9926beeef
fix cx16.psg irq issue
2023-05-04 00:16:24 +02:00
Irmen de Jong
87d3109ffb
diskio f_seek_w() abandoned due to unreliability
2023-05-02 19:33:49 +02:00
Irmen de Jong
180dbbb521
cleaning up the diskio modules
...
for cx16: removed cx16diskio (merged everything into its regular diskio module)
for cx16: the load() and load_raw() routines that took an extra ram bank parameter are gone. You have to cx16.rambank() yourself before calling load().
2023-05-02 03:31:11 +02:00
Irmen de Jong
24aac7cee5
cleaning up the diskio modules
2023-05-02 02:15:22 +02:00
Irmen de Jong
53e18a5387
Api change: drivenumber parameter removed from all routines in diskio and cx16diskio modules
2023-05-02 01:48:56 +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
e1b89494d0
tiny psg improvement to avoid clicks more on changing freq or envelope, added cx16.vpoke_mask()
2023-04-26 22:45:32 +02:00
Irmen de Jong
cd8e7f3912
psg comment
2023-04-24 01:23:03 +02:00
Irmen de Jong
50604c25c2
remove obsolete comments, updated links and docs.
2023-04-23 15:13:53 +02:00
Irmen de Jong
aa6b2357d8
fix void warnings
2023-04-18 23:47:31 +02:00
Irmen de Jong
5b2d29bef6
improved and added a few system routines for the cx16
2023-04-18 23:20:28 +02:00
Irmen de Jong
a296d26328
api change: renamed cx16.push/pop_vera_context() to save/restore_vera_context()
...
this better reflects its capability because it doesn't use a stack, only a single buffer
2023-04-17 23:37:15 +02:00
Irmen de Jong
4a0f15eb88
some loose ends
2023-04-06 21:19:21 +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
9ccda0247e
Merge pull request #102 from Frosty-J/vera
...
DC_VER0 through 3
2023-03-24 02:10:23 +01:00
Irmen de Jong
d91f47c791
fix cx16 graphics.plot() colors, and FB_set_palette definition
2023-03-24 01:56:29 +01:00
Frosty-J
a9ac4e7f44
Even more VERA_DC constants!
2023-03-23 17:29:28 +00:00
Irmen de Jong
c66734bab0
fix cx16 ubyte to float cast (wrong rom routine)
2023-03-20 23:25:28 +01:00
Irmen de Jong
deea0b05cb
tweak cx16 system init and reset to not reset Vera any more
...
uses new audio routine to silence the audio
2023-03-19 21:16:23 +01:00
Irmen de Jong
20dbdb20d2
renamed the cx16 VIA register variables to more meaningful names
2023-03-17 22:28:09 +01: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
6e9025ebf2
cx16 fix irq statusbit handling and kefrenbars example
2023-03-03 21:58:08 +01:00
Irmen de Jong
00bc99cc7b
added cx16/stream-wav example, refactor pcmaudio code
2023-03-03 14:18:13 +01:00
Irmen de Jong
ded2483fc0
cx16 startup code now properly turns off mouse cursor
2023-02-27 23:35:42 +01:00
Irmen de Jong
fd5ebef488
cx16 startup code now also selects ram bank 1
2023-02-21 21:53:32 +01:00
Irmen de Jong
f7dd388954
remove unsupported floats.FTOSWRDAY routine. Fixes #96
2023-02-17 18:05:46 +01:00
Irmen de Jong
3916de2921
attempt to clarify docs of cx16.numbanks()
2023-02-13 23:45:53 +01:00
Irmen de Jong
79d0fb0b52
cx16.numbanks() now returns a word because the result can be >255
2023-02-08 00:51:34 +01:00
Irmen de Jong
edf56d34f8
doc about no conditional compilation, fixes #93
...
also added a note to MEMTOP about 0 result
2023-02-06 23:36:19 +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
bbf6357222
remove workaround for black cursor at boot as this was recently fixed in the kernal rom.
2023-01-17 23:27:27 +01:00
Irmen de Jong
9225f88f89
diskio comments
2022-12-30 15:49:53 +01:00
Irmen de Jong
8ab47d3321
fix_autostart_square() now preserves X register correctly
2022-12-14 01:07:44 +01:00
Irmen de Jong
832601b36b
workaround for black square issue at start
2022-12-11 11:48:41 +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
f2273c0acc
fix several FP rom routine addresses on cx16.
2022-12-03 19:56:54 +01:00
Irmen de Jong
7b6c742178
fixed diskio.f_read() for small read sizes
2022-11-24 00:23:37 +01:00
Irmen de Jong
d4a35ba6ff
got rid of diskio.have_first_byte overhead
2022-11-23 21:53:36 +01:00
Irmen de Jong
f870e4965a
added cx16diskio.f_seek() function to seek to a position in an opened file
...
f_open uses channel 12 now, f_open_w uses 13
2022-11-23 01:48:04 +01:00
Irmen de Jong
08275c406a
added chdir/mkdir/rmdir/relabel to cx16diskio
2022-11-20 22:59:44 +01:00
Irmen de Jong
153b422496
cx16: retain display mode (composite etc)
2022-11-20 19:19:01 +01:00
Irmen de Jong
0f6a6d6fea
attempt to make gfx2 screen mode 0 cleanup more robust on real hardware
2022-11-18 22:53:28 +01:00
Irmen de Jong
2d78eaa48d
fix gfx2 text color, added cx16 snow example
2022-11-12 22:08:07 +01:00
Irmen de Jong
3dcf628fdb
fixed subroutine name shadow check
2022-11-10 22:51:37 +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
207cdaf7a4
fix kefrenbars example (use gfx2 instead of kernal routines)
2022-11-06 17:33:30 +01:00
Irmen de Jong
7315b581ce
added gfx2.pget(x,y) to get the pixel color value
2022-11-06 13:40:55 +01:00
Mark J. Reed
c2f062a391
fix: don't ignore shape argument to cx16.mouse_config2
2022-10-29 17:10:06 -04:00
Irmen de Jong
7b6cd0cfbe
cx16.macptr() now has additional argument in the carry flag, to reflect recent X16 kernal api change.
...
Also now allow bool type for status flag args and returnvalues.
2022-10-26 20:41:10 +02:00
Irmen de Jong
da8eb464b8
add cx16diskio.vload_raw() to load headerless files into vram
2022-10-25 21:12:11 +02: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
3ab5e5ac48
added cx16.kbdbuf_clear()
2022-09-01 18:40:17 +02:00
Irmen de Jong
a878c9a61d
add some documentation to the psg module
2022-08-19 22:17:23 +02:00
Irmen de Jong
6454bf8ec4
added mouse cursor to amiga example
...
slightly sped up text rendering in gfx2 highres mode
2022-08-16 04:25:59 +02:00
Irmen de Jong
68abda1219
fix a few small compiler errors (removing functioncall, removing block, assigning virtual register return value)
2022-08-09 23:38:29 +02:00
Irmen de Jong
197081f10d
keyboardhandler
2022-08-04 23:04:16 +02:00
Irmen de Jong
7d4695c5b2
cx16: graphics module y resolution corrected from 200 to 240. added 'cx16/circles' example.
2022-07-17 18:59:52 +02:00
Irmen de Jong
350dc731f1
cx16: sys.reset_system() now resets vera fully as well (such as PSG sound), kernal didn't seem to do that
2022-07-14 23:44:53 +02:00
Irmen de Jong
4bc65e9ef7
fix stack crash in cx16.push_vera_context()
2022-07-14 16:33:09 +02:00
Irmen de Jong
35af53828a
fix endless loop in optimizer, fix cx16 register clobbering in psg interrupt handler, fix crash on certain arrays, fix undefined symbol when it's in another imported module
2022-07-13 18:42:06 +02:00
Irmen de Jong
8acb37b6c2
use bool type in examples and libraries
2022-07-08 21:50:32 +02:00
Irmen de Jong
c51c1da618
psg micro optimizations
2022-07-03 11:55:13 +02:00
Irmen de Jong
ea2812f50f
add max volume to psg envelope
2022-07-03 11:26:56 +02:00
Irmen de Jong
3ec05709d5
convert the sounds in cx16 tehtriz to use the psg module instead
2022-07-03 01:40:29 +02:00
Irmen de Jong
4bdac7404a
added sustain to psg envelope
2022-07-03 00:55:25 +02:00
Irmen de Jong
064d412ec8
added cx16.push_vera_context() and cx16.pop_vera_context() for use in irq handlers
2022-07-02 23:13:00 +02:00
Irmen de Jong
7fff4f249d
optimize msb(cx16.r0) -> cx16.r0H, lsb(cx16.r0) -> cx16.r0L
2022-07-02 21:38:22 +02:00
Irmen de Jong
7a3745f642
psg tweaks
2022-07-02 20:33:40 +02:00
Irmen de Jong
f8658f6afa
precalc vera freq to not use floating point math anymore
2022-07-02 19:40:18 +02:00
Irmen de Jong
223b725a10
psg abstraction and attack/release envelope
2022-07-02 18:47:12 +02:00
Irmen de Jong
fb989ae62f
cx16: reset rom/ram/monitor banks at program exit to sane values.
2022-07-01 00:14:38 +02:00
Irmen de Jong
0fcd57192b
cx16diskio.f_read() now correctly deals with banked ram boundary
2022-06-26 21:42:56 +02:00
Irmen de Jong
8f9a0a244a
trying to add zsound pcm player example as well
2022-06-10 23:35:37 +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
0349d1d57c
diskio: moved cx16 optimized f_read() to cx16diskio instead
...
so unfortunately you have to select the faster version yourself when on cx16
2022-06-04 00:33:27 +02:00
Irmen de Jong
c7eafd7c79
cx16: fix macptr() signature and use it in diskio.f_read() for big increase in load speed
2022-06-02 00:37:18 +02:00
Irmen de Jong
10b5fb5d72
fix for total size returnvalue of diskio.f_read_all()
2022-06-01 01:13:19 +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
e69aeb8b98
added warning about shadowing variables
2022-05-22 17:34:08 +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
1d342cc6af
optimize cx16 textio.setcc()/setcc2()
2022-04-04 22:23:06 +02:00
Irmen de Jong
62b32b2211
todos
2022-04-03 22:56:13 +02:00
Irmen de Jong
3e62ffed0a
x16 r39: optimize diskio.load_raw() to use kernal's headerless load support
2022-04-02 03:26:48 +02:00
Irmen de Jong
037b89f018
x16 r39: tweak kbdbuf_peek() result value
2022-04-01 23:47:09 +02:00
Irmen de Jong
156cf7315c
x16 r39: add new keyboard apis and more vector location definitions
2022-04-01 21:41:38 +02:00
Irmen de Jong
fb6e9fa58f
x16 r39: fix textio routines for new vera memory layout
2022-03-31 23:47:11 +02:00
Irmen de Jong
b2ce1e8029
x16 r39: fix gfx2.text() charset rendering due to new Vera mem layout
2022-03-31 18:51:54 +02:00
Irmen de Jong
d90c51220f
x16 r39: additional FP routine changes
2022-03-31 18:43:32 +02:00
Irmen de Jong
d911728611
x16 r39: cx16.mouse_config() API changed, added mouse_config2() convenience wrapper
2022-03-31 18:24:23 +02:00
Irmen de Jong
86a7200012
x16 r39: cx16.screen_set_mode() -> cx16.screen_mode()
2022-03-31 18:17:28 +02:00
Irmen de Jong
4e33ab1e89
cx16 target: update float routine addresses to new r39 kernal FP package
2022-03-27 19:34:49 +02:00
Irmen de Jong
ed30108961
removed '**' power-operator. Use floats.pow() instead.
2022-03-27 13:16:34 +02:00
Irmen de Jong
7424f1f768
remove kernal bug workaround for joystick_get() routine. Fixes #39
2022-03-25 18:03:33 +01:00
Irmen de Jong
2812736ae5
preparing version 7.9
2022-03-03 00:42:53 +01:00
Irmen de Jong
406658a10f
reimplemented sys.memcopy and sys.memset on cx16 to work without kernal too
2022-02-22 21:07:19 +01:00
Irmen de Jong
343f01d5e1
re-enabled unused variable removal from library modules (+fixed some @shared vars in libraries)
2022-02-10 03:10:47 +01:00
Irmen de Jong
08bacdd090
temp vars are now dynamically added to AST as needed
2022-02-10 02:52:47 +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
118196a0bf
library API change: moved cx16.vload() to cx16diskio module
2022-01-24 18:31:18 +01:00
Irmen de Jong
c8bd57cd4d
fixed signature of mouse_get(): it returns the buttonstatus in A. Added convenience cx16.mouse_pos() routine.
2022-01-21 22:06:17 +01:00
Irmen de Jong
6b02f2eea0
implement iso encoding and new string encoding syntax, fixes #38
2022-01-19 21:21:32 +01:00
Irmen de Jong
5237e55326
added txt.iso() to enable iso-charset on cx16
2022-01-18 21:35:29 +01:00
Irmen de Jong
96225efd96
library doc tweaks
2022-01-03 23:15:34 +01:00
Irmen de Jong
8fa84de28e
fix c128 clearscreen and bdmusic sound issue
2021-12-22 22:59:36 +01:00
Irmen de Jong
6da83e2bd7
first steps to add C128 compiler target
2021-12-21 19:08:33 +01:00
Irmen de Jong
890327b381
the returnvalue of the diskio.load() function family now is just the last load address+1 (like kernal's LOAD routine).
...
This fixes the inconsistent attempt to calculate a size, just let the caller do this if required.
Added a small helper function in cx16diskio to do this for loads that span multiple banks.
2021-12-14 23:54:42 +01:00
Irmen de Jong
d901a1531f
added missing vectors to syslib
2021-12-09 21:38:00 +01:00
Irmen de Jong
d8d56b195f
comments
2021-12-09 21:13:13 +01:00
Irmen de Jong
900cdd3fa1
added cx16diskio with load() and load_raw() that are HIMEM bank-aware
2021-12-05 02:20:48 +01:00
Irmen de Jong
20401b99d8
added cx16.getrambank() / getrombank() to retrieve the current ram and rom bank numbers.
2021-12-04 15:27:54 +01:00
Irmen de Jong
7748c261da
rsave/rrestore moved from sys to builtin function to solve the stack related problem when calling it as a regular subroutine
2021-11-29 23:13:04 +01:00
Irmen de Jong
56dc6d7f1e
comment
2021-11-29 01:10:11 +01:00
Irmen de Jong
45b8762188
use inc/ina instead of adc
2021-11-29 00:07:15 +01:00
Irmen de Jong
e8f4686430
undid failed attempt of using sys.push/sys.pop for stack args - now using new push(), pushw(), pop(), popw() builtin functions
2021-11-28 01:22:40 +01:00
Irmen de Jong
02348924d0
failed attempt of using sys.push/pop for stack args
2021-11-27 23:52:47 +01:00
Irmen de Jong
e8e25c6fd6
added sys.push() and sys.pop() to put values on cpu stack. Added missing builtin functions to syntax-files.
2021-11-27 18:09:15 +01:00
Irmen de Jong
54025d2bf5
small refactor and spelling fixes
2021-11-27 14:49:18 +01:00
Irmen de Jong
0a53bd4956
fix parameter name conflict
2021-11-26 01:01:59 +01:00
Irmen de Jong
00c6f74481
tweak temp float
2021-11-13 12:56:59 +01:00
Irmen de Jong
2177ba0ed2
added signed versions of the cx16 virtual registers
2021-11-13 02:42:21 +01:00
Irmen de Jong
1605791f1b
float swap() no longer uses evaluation stack but a single temp var instead + FAC1
2021-11-06 03:36:14 +01:00
Irmen de Jong
07132a2c42
removed unreliable inlining of non-asmsub subroutines. Fixes #60
2021-10-08 23:09:38 +02:00
Irmen de Jong
3aeca0a770
Merge branch 'master' into v7.1
2021-09-28 23:15:06 +02:00
Irmen de Jong
4bd4733e52
fix index calc bug in palette.set_color
2021-09-28 23:12:59 +02:00
Irmen de Jong
fd1f30f92b
removed %target directive (didn't add much, too confusing, only supported single target)
2021-09-04 15:01:16 +02:00
Irmen de Jong
f53848b4b9
wording and version
2021-06-24 21:25:35 +02:00
Irmen de Jong
e145d2255e
added palette.set_all_black() and set_all_white()
2021-05-26 21:33:18 +02:00
Irmen de Jong
e4fb5946dd
optimize cx16 sys.wait and sys.waitvsync to use WAI instruction
2021-05-17 18:44:42 +02:00
Irmen de Jong
0416aacbbd
fix %asminclude by removing scopelabel argument and improving docs to remove false promise about labels
2021-05-16 00:14:57 +02:00
Irmen de Jong
5ee36c897d
todo
2021-04-29 00:57:32 +02:00
Irmen de Jong
17068130bb
removed PROG8_LIBDIR env variables and replaced with -libdirs command line option
2021-04-28 20:04:23 +02:00
Irmen de Jong
81a91d62cb
improved horizontal_line in highres 4c
2021-04-28 02:55:49 +02:00
Irmen de Jong
2575263438
optimized gfx2.plot() for hires-4c
2021-04-28 02:49:25 +02:00
Irmen de Jong
7f0e25cb50
optimized gfx2.plot() for hires-monochrome
2021-04-28 02:32:11 +02:00
Irmen de Jong
a1e4e9c50f
optimized gfx2.plot() for lores-256c
2021-04-28 02:22:21 +02:00
Irmen de Jong
98eff2701b
optimized gfx2.plot() for lores-monochrome
2021-04-28 02:15:07 +02:00
Irmen de Jong
8b84f87217
removed fastrnd8() because it was hilariously bad, just use rnd()
2021-04-28 01:53:12 +02:00
Irmen de Jong
306a1b7bc2
optimized gfx2.vertical_line for hires monochrome mode
2021-04-28 01:19:10 +02:00
Irmen de Jong
481214c46e
optimized gfx2.vertical_line for lores monochrome mode
2021-04-28 01:02:29 +02:00
Irmen de Jong
a5961cbeab
optimized gfx2.vertical_line for highres 4c mode
2021-04-28 00:29:21 +02:00
Irmen de Jong
3d956ef554
fix wrong values for register used in array indexing expressions
...
added the L/H byte parts of the cx16 virtual registers
2021-04-18 13:53:02 +02:00
Irmen de Jong
e680de05ea
workaround for the joystick_get() irq problem
2021-04-15 22:56:52 +02:00
Irmen de Jong
8d567f6b06
added cx16.joystick_get2() for convenience api
2021-04-12 01:07:46 +02:00
Irmen de Jong
3dda29781e
changed MEMTOP2 into cx16.numbanks() to query the number of RAM banks installed
2021-04-08 01:05:38 +02:00
Irmen de Jong
123473dfc8
cleanup
2021-04-06 00:16:29 +02:00
Irmen de Jong
5b890847e5
make sure BASIC rom is banked in again when program exits
2021-04-05 23:12:10 +02:00
Irmen de Jong
64c85b9617
fix cx16 rom v39 float changes
2021-04-05 22:54:40 +02:00
Irmen de Jong
129e17b33a
added sys.waitvsync() + missing documentation
2021-04-01 18:31:33 +02:00
Irmen de Jong
ec60cad8bb
commander-x16 prototype board #2 (rom v39+) address changes
2021-03-27 22:20:46 +01:00
Irmen de Jong
ca868ae19e
added cx16.vload() (like the VLOAD basic instruction)
2021-03-20 02:39:53 +01:00
Irmen de Jong
1c1da8e38e
additional optimization to the bresenham line routines
2021-03-10 18:49:40 +01:00
Irmen de Jong
6995ee2d17
fix cx16 bresenham line inaccuracy
2021-03-09 22:04:19 +01:00
Irmen de Jong
9120e1de88
fix ubyte/uword to float conversion crashes on Commander X16
2021-03-08 23:21:52 +01:00
Irmen de Jong
96ba9f5902
spelling correction
2021-03-04 01:31:29 +01:00
Irmen de Jong
7e3e18a5c7
deal with 'bra' better on 65c02
2021-02-28 16:20:03 +01:00
Irmen de Jong
2b435fe6a5
vtui example updated to vtui 0.6
2021-02-27 03:30:21 +01:00
Irmen de Jong
fd11927708
optimized highres 4c position calc a bit
2021-02-26 00:43:51 +01:00
Irmen de Jong
f275ed96ea
optimized palette.set_color()
2021-02-24 00:01:27 +01:00
Irmen de Jong
e65c5402d7
added cx16 rasterbars example
2021-02-22 02:11:44 +01:00
Irmen de Jong
334f86480a
added irq routines for cx16
2021-02-22 00:48:41 +01:00
Irmen de Jong
edf9a500d3
kernel -> kernal
2021-02-21 22:48:06 +01:00
Irmen de Jong
9bb5b454e4
reduce dependencies on global compilaiontarget
2021-02-18 23:44:26 +01:00
Irmen de Jong
81930312ff
added textio.setcc2() on commanderX16 to enable setting fg+bg colors.
2021-02-15 17:47:48 +01:00
Irmen de Jong
1bbd77fddb
added txt.column()
2021-02-10 22:47:49 +01:00
Irmen de Jong
eb2d5bb1f8
fix bank arg error in gfx2.position
2021-02-06 16:58:17 +01:00
Irmen de Jong
f1478d776b
fix vertical line highres 4color
2021-02-05 18:09:21 +01:00
Irmen de Jong
40e4cfb686
amiga
2021-02-04 17:47:52 +01:00
Irmen de Jong
76f459ee95
amiga
2021-02-02 23:09:03 +01:00
Irmen de Jong
c478718019
fixed and optimized horiz_line for highres 4c
2021-02-01 22:03:10 +01:00