Show newer

Writing test cases for my :javascript: based i8253 chip simulator / emulator and got it to output nice timing diagrams using wavedrom.

Triona boosted
Triona boosted
Triona boosted

source code, C crimes 

#define 👇 { #define 👆 } #define 👉 ( #define 👈 ) #define 👏 ; #include <stdio.h> int main() 👇 if 👉 5 > 1 👈 👇 printf 👉 "Hello!" 👈 👏 👆 else 👇 printf 👉 "Oh no!" 👈 👏 👆 👆

Writing a 8086 emulator in javascript and then a BIOS to go with it was not the direction I thought this project would go, but here we are... :javascript:

Show thread

Progress on my javascript based x86 assembler and emulator! The current version can be accessed here:

✅ Basic file system / editor (stored in browsers IndexDB)
✅ Full x86 assembler (most likely bugs)
✅ Limited x86 emulator (only supports limited number of instructions so far)

Next step to emulate more instructions and write a BIOS :blobcoffee:

I'm not sure if it's just a mistake (there are a couple on the lines above) or they are just shit posting in this technical documentation from April 1983 :thonk:

Show thread

Did someone copy check this document?

; read/write the 8086 general and segmentation registers
; with all one's and zeroes's

one's and zeroes's?? :thaenkin:

Show thread

Time to copy some x86 assembler based BIOS code out of the back of the IBM PC XT Technical Reference to use as test code for the Javascript based 8086 assembler and emulator I'm building :win3_progman:

Is writing an 8086 emulator in javascript a good idea? :thannkin:

Finally managed to get my x86 assembler to output MZ EXE correctly, not just .COM binary format. Hopefully the next step is an binary file which I can run outside of Dosbox.

Writing an assembler is harder than expected but also rewarding when things work 🎉 :win3_progman:

Because I can't find documentation, Trying to debug the DOS MZ EXE format by making a series of test applications and using fasm to assemble them...

I finally got my web based x86 assembler to be able to assembler a simple example.

It re-assembles as you type and if it's valid you can download the output executable. This example runs in dosbox (or dos if you have an install) and will print 'hello world!' then wait for a keypress. In this case it creates a .com file.

Reverted and uninstalled for now and back to the setup I had for services, will need to do more testing to work out a solution :thonk:

Show thread

It turns out Traefik doesn't support TCP forwarding until version 2 and, but 1.7 is the latest stable version and what is installed on k3s by default 😬

Show thread

It turned out that setting up & with TLS from Let's Encrypt was a big pain in the ass.

❌ Using HTTP Challenge
❌ Using TLS Challenge
✅ Using DNS Challenge

I'm still not exactly sure what was wrong with HTTP challenge except it didn't seem to be answering the .well_known requests correctly.

TLS challenge requires complained that it didn't have the right certificate (isn't that the point of this, to get a certificate?)

At least I have wildcard certs now 🤷 but lost 8 hours of my life 🙄

Show thread

Now I'm having to read up on to work out the correct way to setup Lets Encrypt for certificates on :thonk:

Show thread

The cherry tree thinks it's spring already, I think it's in for a surprise 😔

Show older
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!