Hacker News new | past | comments | ask | show | jobs | submit | anchovieshat's comments login

This is very cool, zenojevski! Good luck with your VM!


On the page with the editable grid, https://anchovieshat.github.io/Q8/q8.html there's a table that maps numbers to instructions, and gives a brief description. It wraps below the grid to better support smaller screens. If you have a larger screen, you can expand the browser window, or if not, scroll down the page, and it should all be there for you.

In addition, once you have filled in the boxes a little, you can step through the code and the blue box under the grid will give you another, very brief bit on the instruction that your program counter is on.

Thanks for asking!


What exactly is one expected to do in order to solve say the very first puzzle? I can click on the grid to highlight a cell but I can't alter the contents.

If I use the buttons to run the existing program it does nothing but check if register A is zero, jumps to cell 254 and executes the error instruction.

There is something I'm missing but perhaps what I am missing is not so obvious.


I think this is meant to be a "hello world" level puzzle. You literally just click the cells and type to edit them.

Are you sure you can't edit once you highlight a cell? If so that's probably a bug.


It's inconsistent for me - it seems to sometimes get stuck in a state where I can't update any of the cells.

Sometimes it will allow me to update the cells but whatever I type merely appends to the existing contents with no obvious way to clear an individual cell.


Press backspace to delete a character inside a cell.


That's the very first thing I tried and it wasn't working at all for me earlier. Backspace was navigating to the previous page.

Now it seems to work... sort of... sometimes it'll clear one of the characters in the cell and sometimes instead the global handler traps it and attempts to navigate to the previous page in my web history.


I believe I've corrected the backspace bug with a little help from a pull request, preventing default behavior and patching it through the same route the delete key follows. My machine doesn't have a backspace key, so I missed it during testing. Thanks for the heads up!


[I'm the author] Q8 is a little tool I started as an experiment to visualize low level code as it manipulates raw data in memory, but has evolved into a full-fledged experimental environment for learning about low level programming. I'll be around to answer any questions. Thanks for looking at my project!

If you like this, you can catch my other projects at http://pentaquine.com. If you happen to be hiring I'd love to hear from you. I've recently moved to the West Coast and am currently looking for a new job.


Seems like a great project! Can this be used alongside the NAND to Tetris project[0] for understanding low level programming?

[0] http://www.nand2tetris.org/


While it isn't quite the same emulated machine, and therefore has a different instruction set, it does tread similar ground to Nand2Tetris's project 4, however it lacks an assembler, so you'd have to input directly in byte sequences.


Great stuff... However in the sidebars containing disassembly for first 3 samples all adresses seems to be offset by +1 (or memory image contents is offset by -1)


Wow, I'm not sure how I missed that. Thanks! I've pushed the fix up, and it should be live shortly.


Huge props for putting this all together!

The lessons and guides you published are definitely my key takeaway from this project. I think there is an opportunity for an integrated trove such as this to serve as a great learning platform; timed just right, as simple, minimal chips and vms are recently experiencing new enthusiasm.

So keep up the good work!


Thats a great tool in learning low level code. I really like to understand in machine level but i have no idea how machine works. Like what is a raw data memory. Character size in terms of memory availability. Can i get this with this tool or can you please recommend a resource to start learning machine level?


Hey, there's a lot you can learn from Q8, but if you want to look at something deeper, you might want to look into x86 or ARM assembly.

https://ocw.mit.edu/courses/electrical-engineering-and-compu...

https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/

http://opensecuritytraining.info/IntroX86.html


thanks for those resources


This tool is great. Good job.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: