RSSAmplifier

Blog

Juraj's Blog

Recent content on jborza.com

jborza.comRSS feed ↗64 posts

Latest posts

Getting length of audiobooks

I thought it would be fun to calculate length of each audiobook, as I really like audiobooks. One can listen to them while travelling, …

Calculating ebook pages

I wanted to calculate the amount of pages per ebook, for statistical purposes. Most of the ebooks that I have are in the epub format. This …

Adding a first-person mode to GTA III

Adding a first-person mode to GTA III A couple of years ago the re3 (reverse-engineered GTA 3) project received some publicity as got …

Barcode Hunter: gaming on a logistics terminal

I like doing small projects and one-off games for my kids, and I’ve recently acquired a handheld industrial PDA with a barcode scanner that …

A physical minimalistic incremental game on micro:bit

I often chat with my son about computer games on the way to the school in the morning. One topic that comes up fairly often are the …

Adventures in hardware, part 11 - digital circuit design in Deeds

I like it when software is fun to use, and Deeds is fun! While playing around and doing the exercises from the the nand2Tetris course I’ve …

Page faults in emuriscv explained (and bugs fixed)

I’ve fixed two more bugs in the RISC-V emulator recently, both related to memory paging . The first one was caused by only supporting a one …

Online 6502 disassembler

I’ve already visited the wonderful MOS 6502 architecture in a post titled Fantasy console on a console where I ported my 6502 emulator to …

Breaking and fixing the RISC-V Store-Conditional instructions

Trying to debug the Linux boot process on the emuriscv RISC-V emulator has led me to discover another fun bug, one that appears when you …

Converting Slovak text to Braille

My visually-impaired friend asked me for help in developing a conversion tool for the Slovak text into the Braille code. The idea was to …

Windows 2000 on an ARM Pinebook

I thought it would be fun to run Windows 2000 on a Pinebook - a nice little ARM-powered laptop. As there is no version targetting this …

Sudoku development diaries - part 2

After developing the basic parts of a Sudoku game in text mode, I was looking for UI toolkit to make it playable with a mouse. After …

Code golfing tips and tricks

This is a companion article to the 4-in-1 game for taskbar post, which has four playable games for the Windows taskbar in 3727 bytes of …

RISC-V Linux syscall table

Here’s a list of Linux system calls for the RISC-V architecture. Click the syscall name for the related manpage. See also syscalls(2) . …

Fun with floating-point assembly (in RISC-V and x64)

There was a fun little exercise in an old Fortran book that involved approximating a cube root using the Newton method to a specified …

(Mis)understanding RISC-V ecalls and syscalls

After spending some time with emuriscv and attempting to boot Linux into a shell I realized that I’m doing something really wrong regarding …

Online RISC-V disassembler

Making a nicer disassembler I’ve had a rudimentary disassembler in the emuriscv emulator, but compared to other disassemblers out there it …

RISC-V supervisor mode

RISC-V features multiple privilege levels (machine, hypervisor, supervisor and user mode). The cores (harts) power up in machine mode, which …

Booting RISC-V on QEMU

For reference, I wanted to check how qemu boots RISC-V Linux. Loosely following a guide , I describe how to build and boot a Linux …

Revisiting RISC-V emulator in 2021

This week I’ve revisited my RISC-V emulator project emuriscv - https://github.com/jborza/emuriscv , as I’m still intrigued by the idea of …

Rolling your own on-screen keyboard

Rolling your own on-screen keyboard I wanted to play the Robotics;Notes visual novel on my Windows touchscreen tablet, but unfortunately the …

Sudoku development diaries - part 1

I’ve been playing Sudoku on my phone for the past few weeks, learning new techniques and generally having fun. I thought it would be …

Fixing Saitek Heavy Equipment Wheel

As a fan of simulator games I’ve also tried a couple of steering wheel setups. I’ve been playing truck , bus and farming simulator games …

Fixing laptop reboot after waking up from sleep

One of the most frustrating experiences with a computer is putting it to sleep, only to find it waking up as if it had been restarted. My …

Notes from Programming in Lua

See the source book Programming in Lua targeted at Lua 5.0. Here are my notes in case I need to come back to it. I’ll mostly note the …

Writing a Forth interpreter - part 2

In the first part I started to describe a simple Forth interpreter. I eventually completed it and made it more usable - so in this part I’d …

My third FPGA (for 10€)

Sipeed Tang Nano FPGA development board I like FPGA development boards and I’m excited that there are products that exist outside of the …

CHIP-8 on Nokia 3410

Mobile development like it’s 2002 I thought it’d be fun to develop something for a mobile phone. Thus I did a quick port of my previous …

4-in-1 game for the taskbar

A collection of minigames under 4 KB As a kid, I had a cheap 8 in 1 Brick Game handheld console, which had LCD display with large dots, 4 …

Wiring car instruments for fun

Car accessories as game controllers? I got inspired by the CAN BUS Gaming Simulator post on hackaday, where Leon Bataille connected a VW …

CHIP-8 in hardware - part 3 (drawing, VGA)

In the last part I ended up with a partially working CPU with most of the single-clock instructions implemented. So far, all of the testing …

CHIP-8 in hardware - part 2 (CPU)

Continuing with the implementation of CHIP-8 in Verilog, I wanted to continue with the CPU module and get it to actually execute some …

CHIP-8 emulators inconsistent behavior

CHIP-8 arithmetic behavior and VF variable I’ve been fiddling with CHIP-8 and writing a sample program in Octo - a CHIP-8 IDE/assembler with …

CHIP-8 in hardware - part 1 (ALU)

I got into FPGAs with the intent of building a retro-computer. A couple of popular hardware implementation targets are Gameboy, NES, RISC-V …

FPGA VGA serial display

VGA on an FPGA In the previous articles I’ve mainly interfaced with LCD displays. I thought it would be nice a produce a VGA output from my …

CHIP-8 emulator in C

CHIP-8 is one of the most popular target architectures for aspiring emulator writers. I’m planning to implement it in hardware, so I thought …

ModelSim and testbenches revisited

There seems to be a better way to run ModelSim than I originally described in the LCD controller post , where I was a bit lost with the …

Adventures in hardware, part 10 - FPGA serial display

Doom on a screen, again Recently I’ve been playing with displaying DOOM on various devices (a smart watch and a smallish IoT stick), and …

Adventures in hardware, part 9 - FPGA calculator

A pocket calculator on FPGA One potato two potatoes Three potatoes, four! Five potatoes, six potatoes Seven potatoes, more! As a follow up …

DOOM on a watch

Does it run DOOM? I was trying to find a good use case for my LILIGO TTGO T-Watch . It’s a programmable smart watch featuring the amazing …

Adventures in hardware, part 8 - PS2 Keyboard Typewriter

What will we do with a drunken keyboard? What will we do with a drunken keyboard? What will we do with a drunken keyboard? Early in the …

Adventures in hardware, part 7 - Stopwatch with a memory-mapped LCD controller

I wanted to play a bit more with the 128x64 LCD display and the FPGA board, while also exploring the memory-mapping concept of the retro …

Adventures in hardware, part 6 - 128x64 display

Displaying things on a 128x64 display from an FPGA One of my FPGA boards came with a connector for a parallel-interface 12864 display, so I …

My First Altera FPGA

Over a month ago I bought an Altera Cyclone IV board from a local seller, it seems to be listed on Aliexpress as well. It’s marked as …

M5Stick digital hourglass

I thought it would be cool to have a digital hourglass. The M5Stick-C with its 80x160 pixel LCD screen, battery, buttons and accelerometer …

MCPU emulator (and ATTiny85 port)

MCPU is a neat minimal 8-bit CPU (CPU design by Tim Boescke in 2001, cpldcpu@opencores.org ) - see its opencores project file and GitHub …

Adventures in hardware, part 4 - LED expander

Why more LEDs? During the process of developing a 4x4 keypad reader I realized I need more LEDs for diagnostic information. As my Elbert v2 …

Adventures in hardware, part 3 - display and a calculator

Let’s do a calculator Let’s make a very simplistic 3-bit calculator that will: add or subtract number A and B number A is entered by DIP …

Adventures in hardware, part 2 - even lower level

I’ve went through the first part of From Nand to Tetris course where I learnt to build a simple 16-bit computer called Hack from the digital …

Detecting directional taps on M5Stick-C

As M5Stick only has three buttons, I wanted to prototype a control scheme based on accelerometer either by tilting or tapping the device …

Juraj's Blog · RSS Amplifier