HN user

WillFlux

258 karma
Posts13
Comments47
View on HN

Thanks. I want to keep the software simple while having proper support for the graphics and audio hardware. I already have some prototype software written is RISC-V asm. I’ll probably use lua as the first high-level language, as it has a small code base and runs well on memory-constrained systems.

I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.

RISC-V takes a different approach to branching, even compared to other RISC processors. There are no status registers AKA condition codes.

Load-store architecture is a defining quality of RISC in general and RISC-V in particular. If you're used to a rich set of addressing modes in x86 or 68K, coding on RISC-V asm is a bit of a shock, but I'm definitely warming to it.

68000 is, in many ways, the pinnacle of assembler for programming, but RISC-V is pretty fun, too. I hope RISC-V tempts a few more people to try asm programming (again).

Intel might not even be making another generation of discrete consumer GPUs. See the numerous stories in the tech press over the last few months.

We have to hope AMD has the price, and just as importantly volume, to make the GPU market competitive.

Thank you. I can't promise to get to the new design until early 2023 as I have many hardware designs I want to finish this year.

Once you've got a design working in Verilator, I strongly recommend running it on an actual board if you can: nothing beats the feeling of running on hardware :)

If you'd link to a screenshot of what you see, that would be helpful.

I have noticed the font renders thinner on Windows.

I plan to look at the design over the winter: some things could definitely be improved.

The examples aren’t limited to VGA; I support four different outputs with these designs.

* VGA using a Pmod board (you could also create your own register ladder)

* DVI using the TI TFP410 on the DVI Pmod board

* DVI generated on FPGA with a Verilog TMDS encoder (no IC required)

* SDL simulation on a PC

DVI is a subset of HDMI, so works on modern TVs and monitors.

You can find the source on GitHub: https://github.com/projf/projf-explore/tree/main/graphics/fp...

Thanks :)

The TI TFP410 chip is on the 1BitSquared DVI Pmod board: https://docs.icebreaker-fpga.org/hardware/pmod/dvi/

I've also got designs that generate DVI on the FPGA with TMDS encoding (no external IC required). I've never polished or written them up, but you can see an example here:

* https://github.com/projf/projf-explore/blob/main/graphics/fp...

* https://github.com/projf/projf-explore/blob/main/lib/display...

I'm using BRAM for framebuffers as it allows me to focus on the graphics rather than memory controllers and access. BRAM gives you dual ports and true random I/O; DRAM is much more complex.

Hello, I'm the author of the Project F blog. I've almost finished a complete overhaul of this series: animation and double-buffering are coming in October.

I'd be happy to field any questions you have.

Yes. Hamsterworks is a great resource. I learnt a fair bit from this site when I started with FPGAs. I'll add the archived version to my recommended resources page.

I can empathise. I was aware of Verilator for ages before I started simulating my own designs with it. The Verilator documentation is good, but it can do so much that it's hard to know where to start.

I've just published December 1985: https://systemtalk.org/post/macintosh-history-8512/

A few quotes from this issue:

"In the old days, the ignorant confused Lisp with 'Artificial Intelligence' - AI which doesn’t exist, but someday might."

"Vimco is what it sounds like and what it sounds like is as important as what it looks like. VMCO is the Visual/Vocal MAUG Conferencing Utility. It’s a communication program that integrates MacinTalk, Apple’s speech synthesis program, and the conferencing (or group meeting) software on CompuServe MAUG special interest group."

"Does Switcher allow multiple applications to actually run simultaneously? Switcher - lets multiple applications reside in memory simultaneously. It does not, by itself, allow those applications to actually be executing simultaneously..."

I believe I've fixed it; give it another go.

The problem was that "application/rss+xml" was being encoded as "application/rss+xml". This worked on NetNewsWire, so I didn't notice.

That’s an interesting question and one I don’t know the answer to. PageMaker is the first serious DTP package, but it wasn’t capable of laying out a magazine in 1985: for one thing MacUser is in colour! The Macintosh II with colour support didn’t appear until 1987.

Thanks.

A creative era when a mainstream Mac magazine has could cover everything from Excel to 68000 assembler, role-playing games to icon design, and Lisp to desktop publishing. Computers and their users have yet to be confined to silos.

Original author here; thanks for visiting my new blog.

The post discusses ExperLisp for Macintosh, but I’ve never managed to find a copy. If anyone knows the whereabouts of an ExperLisp binary, I’d love to try running it.

I’ve only written about two months so far, but more will follow soon. Let me know if you have any suggestions or corrections.

Ah, I misremembered. Wikipedia's Macintosh II page says:

"The machine shipped with a socket for an MMU, but the 'Apple HMMU Chip' (VLSI VI475 chip) was installed that did not implement virtual memory (instead, it translated 24-bit addresses to 32-bit addresses for the Mac OS, which would not be 32-bit clean until System 7)."

A 32-bit CPU with MMU is not a prerequisite for multitasking. The Amiga (and others) managed preemptive multitasking on a Motorola 68000.

For designs that wanted an MMU, you could use an external one. Sun had external MMUs in their early workstations. Even Apple had their own MMU in the Macintosh II line before they switched over to the 68030.