Project description
WozMania is an Apple ][ emulator on ARM processors that I wrote during my spare time. It works fine, but for the moment it's text-mode only.
https://github.com/Bischoff/wozmania
I'd like to add a graphical screen emulation to it, without losing the possibility to run it as a pure text terminal application. Therefore there might be some mechanism needed to make the core communicate with the graphical part (shared memory ? pipes ? callbacks? ...)
Goal for this Hackweek
The real hidden purpose of this project is not really the emulator. It's rather to perfect my ARM assembler skills, and have fun resolving the modularization problem described above.
Resources
See bibliography at the end of the github project documentation.
This project is part of:
Hack Week 21
Activity
Comments
-
over 2 years ago by e_bischoff | Reply
Completed:
- a GUI window running as a standalone program (written with Qt 5)
- bidirectional communication with the emulator through Unix domain sockets
- an option to choose between text or GUI mode
Missing:
- display of blinking text
- GUI menus
- low resolution graphics
- high resolution graphics
It will be done in my free time after the hackweek.
Similar Projects
FizzBuzz OS by mssola
Project Description
FizzBuzz OS (or just fbos
) is an idea I've had in order to better grasp the fundamentals of the low level of a RISC-V machine. In practice, I'd like to build a small Operating System kernel that is able to launch three processes: one that simply prints "Fizz", another that prints "Buzz", and the third which prints "FizzBuzz". These processes are unaware of each other and it's up to the kernel to schedule them by using the timer interrupts as given on openSBI (fizz on % 3 seconds, buzz on % 5 seconds, and fizzbuzz on % 15 seconds).
This kernel provides just one system call, write
, which allows any program to pass the string to be written into stdout.
This project is free software and you can find it here.
Goal for this Hackweek
- Better understand the RISC-V SBI interface.
- Better understand RISC-V in privileged mode.
- Have fun.
Resources
Results
The project was a resounding success Lots of learning, and the initial target was met.
Symbol Relations by hli
Description
There are tools to build function call graphs based on parsing source code, for example, cscope
.
This project aims to achieve a similar goal by directly parsing the disasembly (i.e. objdump) of a compiled binary. The assembly code is what the CPU sees, therefore more "direct". This may be useful in certain scenarios, such as gdb/crash debugging.
Detailed description and Demos can be found in the README file:
Supports x86 for now (because my customers only use x86 machines), but support for other architectures can be added easily.
Tested with python3.6
Goals
Any comments are welcome.
Resources
https://github.com/lhb-cafe/SymbolRelations
symrellib.py: mplements the symbol relation graph and the disassembly parser
symrel_tracer*.py: implements tracing (-t option)
symrel.py: "cli parser"