Commit graph

99 commits

Author SHA1 Message Date
slederer
2342683836 tdraudio: implement four channels 2025-09-27 01:34:17 +02:00
slederer
c354bb8cb8 tdraudio: implement multiple channels 2025-09-26 01:36:26 +02:00
slederer
a73fad5786 tdraudio: implement ΔΣ-DAC and volume control 2025-09-25 00:14:00 +02:00
slederer
d5888861d3 tdraudio: first step of implementing a sound generator 2025-09-23 23:39:04 +02:00
slederer
f79d7d622a doc: add section on new/newOrNil/dispose 2025-09-19 22:17:05 +02:00
02765554fb Merge pull request 'implement data cache (write-back or write-through)' (#2) from dcache into main
Reviewed-on: #2
2025-09-19 22:12:09 +02:00
slederer
4e044ad2a4 sdcardlib: use slightly faster spi clock
also:
- new benchmark results
- experiment with synthesis settings
2025-09-16 21:57:53 +02:00
slederer
278f90a464 tridoracpu: implement data cache 2025-09-15 23:02:22 +02:00
slederer
b2c2e8dc0c tridoraemu: enable debug display via F12 2025-09-13 22:59:21 +02:00
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