Search found 360 matches

by lb3361
26 Mar 2024, 10:55
Forum: Hardware and software hacking
Topic: ROMv1.asm.py
Replies: 2
Views: 39

Re: ROMv1.asm.py

A little bit before your screenshot, you'll see this piece of code: # vCPU reset handler vReset = videoTable + 240 # we have 10 unused bytes behind the video table ld((vReset&255)-2); C('Setup vCPU reset handler') st([vPC]) adda(2, X) ld(vReset>>8) st([vPC+1], Y) st('LDI', [Y,Xpp]) st('SYS_Reset...
by lb3361
22 Mar 2024, 02:11
Forum: Hardware and software hacking
Topic: New size coding contest "ZX Spectrum effect"
Replies: 16
Views: 465

Re: New size coding contest "ZX Spectrum effect"

Found a devious way to save two bytes (execution starts in 0x8b) Code = 21 bytes. GT1 = 27 bytes * file: phib_chess_d.gt1 0081 ff 07 0083 fc 82 XORW $82 ||.| 0085 82 01 ANDI 1 |..| 0087 e3 3f ADDI $3f |c?| 0089 f0 81 POKE $81 |p.| 008b 59 01 LDI 1 |Y.| 008d 99 81 ADDW $81 |..| 008f 2b 81 STW $81 |+....
by lb3361
22 Mar 2024, 01:25
Forum: Hardware and software hacking
Topic: New size coding contest "ZX Spectrum effect"
Replies: 16
Views: 465

Re: New size coding contest "ZX Spectrum effect"

Interesting. @Phibrizzo : you can save 11 bytes with a single loop. Total: code = 23 bytes, gt1 = 29 bytes. (SMALLEST GT1) * file: phib_chess_c.gt1 0081 00 08 |..| 0083 1a 82 [vCPU] LD $82 |..| 0085 fc 81 XORW $81 ||.| 0087 82 01 ANDI 1 |..| 0089 e3 3f ADDI $3f |c?| 008b f0 81 POKE $81 |p.| 008d 59 ...
by lb3361
20 Mar 2024, 14:39
Forum: Hardware and software hacking
Topic: gtmine [game]
Replies: 8
Views: 918

Re: gtmine [game]

1) There is a version of gtmine built into ROMv6 with source code and makefile at https://github.com/kervinck/gigatron-rom/tree/master/Apps/GtMine 2) Some versions of the C compiler were eager to not only use but also statically initialize zero page memory locations (in range 0x36-0x41) that are des...
by lb3361
20 Mar 2024, 14:26
Forum: Hardware and software hacking
Topic: LCC for the Gigatron. Take two.
Replies: 106
Views: 44972

Re: LCC for the Gigatron. Take two.

at67 wrote: 20 Mar 2024, 03:47 Max file upload size has been increased to approximately 5MiB.
Thanks at67. It works now.
by lb3361
19 Mar 2024, 20:17
Forum: Hardware and software hacking
Topic: LCC for the Gigatron. Take two.
Replies: 106
Views: 44972

Re: LCC for the Gigatron. Take two.

New release. Linux and Mac users --> clone the github repository at https://github.com/lb3361/gigatron-lcc Windows users --> try the attached precompiled zip. Version 2.4 makes a more efficient use of scratch registers, optimizes a bit more, and produces more compact code. Long multiplication is sub...
by lb3361
19 Mar 2024, 17:48
Forum: Hardware and software hacking
Topic: New size coding contest "ZX Spectrum effect"
Replies: 16
Views: 465

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: 16
Views: 465

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: 9352

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: 188

Re: Multitasking

Updated code with correct stack alignment.
This matters because glcc-2.4 (about to be released) is more fussy about stack alignment.