Commit graph

112 commits

Author SHA1 Message Date
cd2d70c6d7 Merge branch 'main' into tdraudio-pcm 2025-10-13 00:50:01 +02:00
slederer
3c7cf636a4 utils: add audio conversion script, update image creation 2025-10-13 00:47:41 +02:00
e295a774d7 Merge pull request 'tdraudio-pcm' (#3) from tdraudio-pcm into main
Reviewed-on: #3
2025-10-13 00:42:14 +02:00
slederer
536c0adde7 pcmaudio: set amplitude to biased zero at end
pcmtest2: small updates to the demo program
2025-10-12 22:52:17 +02:00
slederer
598ee8921f tdraudio: add documentation 2025-10-07 01:16:25 +02:00
slederer
5c00dfcec9 tdraudio: add irq_enable flag, add pcmaudio library
runtime: disable interrupts on PTERM
stdlib: check for error state in FileSize
2025-10-07 00:37:53 +02:00
slederer
7cc9ee807d tdraudio: remove pulse/noise waves, add sample buffer and irq 2025-10-04 00:09:10 +02:00
slederer
5db9631592 correct last benchmark results 2025-10-03 21:56:20 +02:00
slederer
e690d3eb2b tdraudio: correctly generate silence, clear DAC accumulator 2025-09-30 00:50:33 +02:00
slederer
4d4cc0c535 dram_bridge: cleanup
- mem_wait must be enabled on each write
- dcache_hit is never true on a write, so the
  ~dcache_hit clause was always true
2025-09-30 00:49:17 +02:00
slederer
2735b80fec tdraudio: remove unneeded status flags, tweak project settings 2025-09-29 20:40:07 +02:00
slederer
12033bb6d2 tdraudio: add direct amplitude control 2025-09-29 19:10:48 +02:00
slederer
57430a4df6 tdraudio: add noise generator 2025-09-28 02:21:58 +02:00
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