Oscar Toledo G. won a IOCCC competition with this 8080 emulator
https://nanochess.org/emulator.html
which can run CP/M.
The only problem is how cumbersome it is to transfer files
to the virtual disk.
So, I used cpmtools by adding the below to the diskdefs file
diskdef toledoA
seclen 128
tracks 65536
sectrk 128
blocksize 4096
maxdir 1024
skew 0
boottrk 1
os 2.2
end
diskdef toledoB
seclen 128
tracks 65536
sectrk 128
blocksize 4096
maxdir 1024
skew 0
boottrk 0
os 2.2
end
This allows you to copy files in and out of the A and B drives
like this
cpmcp -f toledoA A file1 file2
cpmcp -f toledoB B file1 file2
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)