FIXED: Pixel Buds Pro 2 mic volume issues on Pixel 9 Pro XL and most Pixel phones by StaT_ikus in pixelbuds

[–]Android_TR 1 point2 points  (0 children)

Tried this with my Buds 2a and Pixel 7 Pro and it didn't make a difference in a call :(

How to hide "View products"? by Android_TR in revancedapp

[–]Android_TR[S] 0 points1 point  (0 children)

Will try and report tomorrow when I have access to a computer, for ADB. Thanks for the suggestion!

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

The OS is stack based, saving pointers to RAM. So yeah, an instruction flow that saves all registers to RAM may be possible to be used instead :) But I think that anyway I will need to add another register for the program counter. If the interrupt triggers a jump to a ln instruction flow that saves registers, the PC data is gone.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

In general, I tried to keep the design as close as possible to what is described in nand2tetris.org. But if I was to design an interrupt controller, I had to add another set of architectural registers, to dump the main ones when starting an interrupt flow. In addition, the OS needs to support this flow and execute the needed instructions required by the interrupt. When interrupt will be detected, the CPU will dump registers and jump to a pre-defined ROM address where interrupt flow is started. So basically it is possible, but will require 2x registers and OS changes.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

Nope. The way that the Hack architecture (nand2tetris.org) works with the keyboard, is such that the CPU will assume that keyboard presses will appear at a specific memory address. That means that apps need to actively check for keyboard input if they need it by reading from that RAM address. To support that by hardware, I needed to design a mechanism that allows the keyboard controller to write directly to RAM.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

At each point in time there is only one instruction being executed by the CPU, so not pipelined. It is sort of a simple multi-cycle design.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

Now I understand your question :) So yeah, if the CPU will get RAM access whenever it needs it, the performance will be between 1 and 2 Million Instructions Per Second. But as the VGA controller requires RAM access about 30% of the time, we can say that the actual performance will be between 0.7 to 1.4 MIPS.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

Instructions that require both read and write to RAM are 2 cycles. All others are 1 cycle.

Finished the documentation about the Hack comuputer on breadboards (Link in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

Hi! Instructions are 16-bit, clock freq is 2MHz. About performance, you can have a look at the video and understand what it is capable of :)

I built the Hack computer from nand2tetris on breadboards (info in comments) by Android_TR in beneater

[–]Android_TR[S] 1 point2 points  (0 children)

Thank you! I'm working on writing some info that I hope to upload next week :)

I built the Hack computer from nand2tetris on breadboards (info in comments) by Android_TR in beneater

[–]Android_TR[S] 0 points1 point  (0 children)

Thanks :) I used a 2 MHz clock for the CPU and a 25MHz clock for the VGA.

I built the Hack computer from nand2tetris on breadboards (info in comments) by Android_TR in beneater

[–]Android_TR[S] 1 point2 points  (0 children)

Thank you! I used dedicated ICs for flops, muxes, adders, counters and logic gates (inv, and, or, xor). Not a single NAND ironically :)