Search found 364 matches

by lb3361
19 Mar 2024, 17:48
Forum: Hardware and software hacking
Topic: New size coding contest "ZX Spectrum effect"
Replies: 17
Views: 638

Re: New size coding contest "ZX Spectrum effect"

I disasembled Your program. You and at67 used very smart trick: if color is biger that 63 then is black. I saw this in at67's code above in this thread. My challenge was to make the C compiler produce the optimal code. Note that a color bigger than 63 is not always black. The vga output only uses t...
by lb3361
18 Mar 2024, 15:01
Forum: Hardware and software hacking
Topic: New size coding contest "ZX Spectrum effect"
Replies: 17
Views: 638

Re: New size coding contest "ZX Spectrum effect"

Just to see how small it can be using only C and without crashing.
by lb3361
05 Mar 2024, 02:15
Forum: Hardware and software hacking
Topic: ROM adventures (dev7rom)
Replies: 32
Views: 9831

Re: ROM adventures (dev7rom)

Latest changes: Added opcodes VSAVE and VRESTORE to save or restore a virtual interrupt context, and opcode EXCH to atomically exchange a byte. Together these instructions make it possible to implement preemptive multitasking. See https://forum.gigatron.io/viewtopic.php?t=463 and doc https://github....
by lb3361
04 Mar 2024, 15:52
Forum: Hardware and software hacking
Topic: Multitasking
Replies: 2
Views: 221

Re: Multitasking

Updated code with correct stack alignment.
This matters because glcc-2.4 (about to be released) is more fussy about stack alignment.
by lb3361
22 Feb 2024, 12:41
Forum: Hardware and software hacking
Topic: Run/Compile OLD basic games?
Replies: 1
Views: 190

Re: Run/Compile OLD basic games?

Lots of games there. Alas there are so many variations of Basic. In addition, most expect a 40x25 character screen. Porting these games could be a lot of work. See however wbusby's work, https://github.com/kervinck/gigatron-ro ... ib/wbushby
by lb3361
21 Feb 2024, 02:47
Forum: Support
Topic: Controller/Serial input problem
Replies: 5
Views: 325

Re: Controller/Serial input problem

Signal /IE indeed must go low to read the serial register, but this only happens once per video frame, that is, for a single 160ns cycle every 17ms. Whether you would see it depends on the scope trigger capabilities. In addition, if the 74HCT139 U11 was broken, chances are that nothing would work be...
by lb3361
19 Feb 2024, 12:58
Forum: Hardware and software hacking
Topic: LCC for the Gigatron. Take two.
Replies: 106
Views: 46232

Re: LCC for the Gigatron. Take two.

Oh I see. I never realized one could download a zip. I was expecting users to "git clone". The makefile uses the git information to create the version file glccver.py in the build directory. If git is not detected, it creates one with "unknown-version" and this is what causes you...
by lb3361
18 Feb 2024, 23:23
Forum: Hardware and software hacking
Topic: LCC for the Gigatron. Take two.
Replies: 106
Views: 46232

Re: LCC for the Gigatron. Take two.

If you do not want to do make install and want to run glcc from the build directory, the cleanest solution is to create a directory $HOME/bin, make sure it is in your PATH, and have symlinks from there to the glcc executables in the build directory. For instance my bin directory contains this becaus...
by lb3361
18 Feb 2024, 13:58
Forum: Hardware and software hacking
Topic: Arecibo message as simple art demo
Replies: 9
Views: 789

Re: Arecibo message as simple art demo

Just added binary constants to the compiler. I also added a map overlay "bare" to compile something that do not use libc at all and skip the overhead. Such programs have to do everything by hand. There is still some stack management overhead because C allows recursion. So to make a program...
by lb3361
17 Feb 2024, 13:11
Forum: Hardware and software hacking
Topic: Multitasking
Replies: 2
Views: 221

Multitasking

In an attempt to improve the virtual interrupt system (the one that diverts the vCPU whenever frameCount wraps over), I wrote native instructions to save and restore the full vCPU context and arranged a way to have this done automatically when a virtual interrupt occurs. The rationale is explained i...