Search found 364 matches

by lb3361
15 Feb 2024, 23:27
Forum: Hardware and software hacking
Topic: Arecibo message as simple art demo
Replies: 9
Views: 787

Re: Arecibo message as simple art demo

It turns out that binary constants are not in the C standard!
Yet GCC implements them and C++ requires them.
That's easy to add.
by lb3361
05 Feb 2024, 23:43
Forum: Hardware and software hacking
Topic: Project idea: Use real floppy disk ;-)
Replies: 3
Views: 428

Re: Project idea: Use real floppy disk ;-)

It seems that there is a promising path using the Adafruit floppy interface https://www.adafruit.com/product/5679 and a Raspberry Pico because they also provide a nice controller library https://github.com/adafruit/Adafruit_Floppy/ with read support (write support seems to be under development). One...
by lb3361
31 Jan 2024, 15:20
Forum: Hardware and software hacking
Topic: Project idea: Use real floppy disk ;-)
Replies: 3
Views: 428

Re: Project idea: Use real floppy disk ;-)

If I had the time, I would use the RP2040 version and program it to act as a SPI device obeying a subset of the SD card protocol. Then the SPI browser would work out of the box. As for writing to the floppy, I always meant to add an OS layer and writing support to the SPI SD interface. The idea is t...
by lb3361
30 Jan 2024, 00:07
Forum: Hardware and software hacking
Topic: ROM adventures (dev7rom)
Replies: 32
Views: 9798

Re: ROM adventures (dev7rom)

Why no DEC instruction? Having a DEC(b) instruction that runs as fast as INC(b) would take four precious bytes in page 3. Having a DECV(v) that runs as fast as INCV(v) would take two precious bytes in page 3. I have only four free bytes left in page 3 which I believe are best kept to organize a new ...
by lb3361
25 Jan 2024, 23:17
Forum: Hardware and software hacking
Topic: Nice, clean, little SDL2 emlator
Replies: 4
Views: 500

Re: Nice, clean, little SDL2 emlator

You can use program gt1dump (in the Utils directory) to look at GT1 files.

Also: only the first segment can have hiAddress=0. Otherwise it means that the GT1 file is ending with an exec address.

See function. GMem::load() in https://github.com/lb3361/gigatron-rom/ ... z/gt1z.cpp
by lb3361
23 Jan 2024, 23:12
Forum: Hardware and software hacking
Topic: ROM adventures (dev7rom)
Replies: 32
Views: 9798

Re: ROM adventures (dev7rom)

LUP is an instruction whose meaning has been hideously perverted by the return-from-interrupt mechanism :|
by lb3361
23 Jan 2024, 18:26
Forum: Hardware and software hacking
Topic: ROM adventures (dev7rom)
Replies: 32
Views: 9798

Re: ROM adventures (dev7rom)

Hello :) I have a few questions. 1. In documentation, RTI (Return from interrupt) is a sequence of asm codes. Latest is LUP. What is the parameter for LUP? Any? 2, In the same documentations wrote, a LUP changes vAC. Then for what vAC is saved if interrupt came? Are you speaking of the file in dire...
by lb3361
18 Jan 2024, 23:41
Forum: Hardware and software hacking
Topic: ROM adventures (dev7rom)
Replies: 32
Views: 9798

Re: ROM adventures (dev7rom)

  Virtual interrupts Virtual interrupts (vIRQ), introduced in ROMv5a. Variable "frameCount" (0x0e) is incremented sixty times per second, at the beginning of each vertical blank interval. When it reaches zero, the Gigatron checks the contents of "vIRQ" (0x1f6-0x1f7). If this is a...
by lb3361
12 Jan 2024, 04:25
Forum: Hardware and software hacking
Topic: Arecibo message as simple art demo
Replies: 9
Views: 787

Re: Arecibo message as simple art demo

With 8 pixels per byte, each row is encoded on three bytes, meaning 73 * 3 = 219 bytes. There is a free bit in each row. So each row could be composed of a first byte in range 0-127 (7 pixels) and two bytes in range 0-255 (8 pixels each). One could code special situations by having a first byte in r...
by lb3361
11 Jan 2024, 01:47
Forum: Hardware and software hacking
Topic: Arecibo message as simple art demo
Replies: 9
Views: 787

Re: Arecibo message as simple art demo

The cheapest way to clear the screen is: _console_clear((char*)0x800, 0x00,120); /* 0x00 is the background color */ This calls SYS_SetMemory 120 times, one for each row of the screen. No dependencies. You can add option --no-runtime-bss to save another 100 bytes or so. Instead of "SYS_Random() ...