slederer
87ec71bd6d
align _END label, add ALIGN directive to assembler
...
- fixes failing memory allocator when _END label is not aligned
2025-11-05 00:30:49 +01:00
slederer
0f72080c56
tridoracpu: experimented with synthesis options again
...
- workaround for an apparent bug with LOAD address
generation at offsets >= 3584
- updated bitstream URL
2025-10-26 00:27:34 +02:00
slederer
d7a025fd08
update documentation for October 2025 update
2025-10-13 23:33:30 +02:00
db6baab1f3
Merge pull request 'utils: add audio conversion script, update image creation' ( #4 ) from tdraudio-pcm into main
...
Reviewed-on: #4
2025-10-13 00:51:46 +02:00
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