Commit graph

90 commits

Author SHA1 Message Date
slederer
d2cae9480c mem: make SRAM size configurable 2025-09-09 00:13:56 +02:00
slederer
52f82fe6ae runtime: bugfix stack corruption in MEMAVAIL 2025-08-31 23:31:00 +02:00
slederer
14d6de059d implement newOrNil, changes to stdlib
- newOrNil works like new, but sets the variable to nil
  if the heap allocation failed
- change stdlib to use newOrNil in openfile and openvolumeid
- changes to programs that use openvolumeid
2025-08-31 23:30:40 +02:00
slederer
165517a9c8 runtime: add MemAvail function 2025-08-24 02:04:42 +02:00
slederer
95cc02ffcb stdlib: fix memory leak on file errors
stdlib: throw runtime error when reading invalid real number

stdlib: bugfix val (real) for empty strings

tdrimg: add another demo image
2025-08-22 03:10:12 +02:00
slederer
0ea7dcef29 improve Makefile, update example pictures 2025-08-15 23:55:48 +02:00
slederer
91306135b2 tdrimg: changes to createimg, rogue: update submodule 2025-07-13 02:10:03 +02:00
slederer
8c420dff75 changemem: program to change heap/stack size in program files 2025-07-05 00:05:44 +02:00
slederer
901a2b3e6d sasm: set stack size correctly 2025-07-03 00:45:26 +02:00
slederer
ecff04a7a0 vga framebuffer: use 640x480@60Hz video timings
- we still can only display 400 lines, so 80 blank lines
  are added at the bottom
- we get square pixels this way and are hopefully more
  compatible with monitors and other devices like
  scan converters and capture cards
2025-06-22 00:33:02 +02:00
slederer
e08d610aef examples: new sprite animation demo 2025-06-20 01:19:40 +02:00
slederer
bde01e402c add program to recover deleted files 2025-05-31 22:19:10 +02:00
slederer
057403b324 Update READMEs 2025-05-25 01:51:49 +02:00
slederer
de889ef824 tridoracpu: update project file
- Vivado likes to do more ore less random changes
  and uses absolute paths without reason :(
2025-05-25 00:31:20 +02:00
slederer
7cbf3afba5 tridoracpu: update MIG configuration for Vivado 2024 2025-05-24 23:25:57 +02:00
slederer
63c7dff0ff tridoraemu REAMDE: mention ECL-Rogue
tdrimg: some cleanup for sdcard image creation
2025-05-24 23:25:20 +02:00
slederer
91d03ec38b update rogue submodule 2025-05-15 02:23:57 +02:00
slederer
bddddf190b Bugfix Makefile compiling shortgen, update gitignore 2025-05-15 02:10:22 +02:00
slederer
ad01c08422 update rogue submodule version 2025-05-15 01:50:25 +02:00
slederer
3eb51f7d4e add rogue submodule and support for compiling, some cleanup 2025-05-15 01:44:06 +02:00
slederer
a060b65bb9 Merge branch 'inscache' of ssh://forgejo@git.insignificance.de:42122/slederer/Tridora-CPU.git
# Conflicts:
#	examples/benchmarks.results.text
2025-04-13 23:21:38 +02:00
slederer
d91d6ab8e7 stdlib: handle unix line endings correctly
serload: longer pause between sending files
2025-04-13 23:08:55 +02:00
slederer
3526060a19 sasm: bugfix for LBRANCH/LCBRANCH size changes
- The LBRANCH and LCBRANCH directives
  create different instruction sequences
  depending on the jump distance.
  So the code size can shrink during the first pass
  when the jump distance can be determined (when the
  label that is the jump destination is parsed).
  In the long form, LOADREL/JUMP is used, which might
  or might not need 2 bytes of padding. With this bugfix,
  the padding is always added, either before or after
  the LOADREL indirect operand, so that the code
  size does not change depending on the padding
  required. Otherwise the code might shrink further
  on the second pass because a LBRANCH/LCBRANCH
  instruction no longer needs padding due to an
  earlier code size change.
2025-04-07 00:25:32 +02:00
slederer
3c32dff0a7 serload.py: implement sending multiple files 2025-04-02 00:59:11 +02:00
slederer
136e3f74a0 examples: add benchmark results with instruction cache 2025-04-01 00:15:12 +02:00
slederer
a1795d9b1f implement outward calling of nested procedures, fix standalone mode 2025-04-01 00:14:20 +02:00
slederer
6d08db2933 Correctly implement negative array indices, other bugfixes
- check for negative string lengths
- handle negative values for emitInc/emitDec
- bugfix for parseInteger with leading minus
- fix set literals containing variables as elements
2025-03-31 00:47:34 +02:00
slederer
bb602043d2 Bugfix skip-line directive with Unix line endings 2025-03-30 23:31:58 +02:00
slederer
8abd9fc126 tridoracpu: cache bug fixes 2025-03-29 01:29:16 +01:00
slederer
651a451d53 utils: add parameter for sdcard image file for createimg command
examples: add more benchmark results, other small changes
2025-03-16 23:13:10 +01:00
slederer
21a45b06cf utils: add parameter for sdcard image file for createimg command
examples: add more benchmark results, other small changes
2025-03-16 23:03:42 +01:00
slederer
b6bd487b7e tridoracpu: first attempt at instruction cache 2025-03-16 00:10:53 +01:00
slederer
3f40c50170 lib: prepare rommon and corelib for different clock speeds 2025-03-13 23:15:45 +01:00
slederer
c2d7c6627a tridoracpu: reduce clock speed, fix vblank flag in vgafb 2025-03-13 22:37:56 +01:00
slederer
ac42eec912 tridoracpu: add missing xci file for the DRAM controller 2025-03-09 23:51:22 +01:00
slederer
4f504c0f48 stdlib: start with valid random seed; other small changes
-  tridoracpu: fix comment
-  add benchmark some results
2025-03-09 01:57:11 +01:00
slederer
dd1e1f7b41 disallow GOTO when it could corrupt the estack
- this occurs inside a FOR or CASE statement
- GOTO out of a WHILE or REPEAT loop  works
2025-02-20 01:41:08 +01:00
slederer
42d8df9b85 utils/tdrimg: add benchmark program to image creator 2025-02-19 23:12:23 +01:00
slederer
dfd71354a2 examples: add benchmark program 2025-02-19 23:12:23 +01:00
slederer
70ad303218 stdlib: Bugfix wrong variable name 2025-02-04 01:10:10 +01:00
slederer
c779cd0d3f stdlib: add nointr procedure
stdlib: give PExec2 and PExec3 more sensible names

pcomp: increase heap size
2025-02-02 01:18:01 +01:00
slederer
b0c4b664f2 tridoraemu: update framebuffer image on palette change 2025-02-02 01:13:49 +01:00
slederer
3c8525dcca stdlib: increase string length for copy and insert 2025-01-15 01:55:58 +01:00
slederer
f18176e3fa tdrimg: add recover command
- recover reads old file versions from the sdcard image
2025-01-13 01:51:20 +01:00
slederer
2f81ee73e1 editor: abort in buildNRun if save fails
- also fix possible bug in gotoLine if
  file is empty
2025-01-13 01:49:48 +01:00
slederer
74a467cba6 pcomp: Increase heap and stack sizes 2025-01-12 00:02:54 +01:00
slederer
347b57cae3 editor: faster keyword recognition
- use indexed search in keywords array, also
  add missing keywords
2024-12-28 23:17:05 +01:00
slederer
9a0aa7a431 update Vivado project file 2024-12-27 03:02:11 +01:00
slederer
21bd825a8a add image data for Xmas demo 2024-12-24 03:07:16 +01:00
slederer
d22baa3f36 add sprites library and Xmas demo 2024-12-24 03:05:46 +01:00