4 ms·
Well, no fancy UI, but I did port a Z80 CPU which could run a full Operating System (CPM 2) to Unreal Engine: https://i.imgur.com/2nagJS4.png https://i.imgur.c
by nineteen999 7y ago
Well, no fancy UI, but I did port a Z80 CPU which could run a full Operating System (CPM 2) to Unreal Engine:
https://i.imgur.com/2nagJS4.png https://i.imgur.com/2nagJS4.png
I did implement graphics hardware as well, so in theory you
could write a GUI along the lines of Contiki or something
https://i.imgur.com/DmnVA2I.png https://i.imgur.com/DmnVA2I.png
The hard drives were configurable (up to 4MB hard drive images supported) and as per the pic above, the light on the drives light up when accessing the disk.
ANSI/VT100 support on the terminal as well:
https://i.imgur.com/DlftREp.png https://i.imgur.com/DlftREp.png
Telnet+ZMODEM client was working so you could download software directly from Internet connected BBS's:
https://i.imgur.com/K44GT1W.png https://i.imgur.com/K44GT1W.png
Or do word processing in space with WordStar 4:
https://i.imgur.com/rIY1he8.png https://i.imgur.com/rIY1he8.png
I wanted to make something a bit between a cross between FTL and 0x10C, but in 3D, and where your space controls were linked up to software running on the Z80. I had up to four Z80 instances running (could have supported more), and wanted to be able to network them to each other as well as the spaceship control plane as well.
- smallstepforman 7y agoOK, this is actually quite impressive. Geeky beyond belief, and the question is how deep would you care to go ... emulating a x86 which is running your app emulating an x86 ... Still impressed.
- nineteen999 7y agoFunnily enough, I'm also working on a Motorola 68K emulation component as well, and I did consider trying to compile the Z80 emulator to run on it.
- exikyut 7y agoOkay, what was this used in, and where/how can we play with it? Preferably in test/debug mode so we can directly poke at the different features. (But source not necessary.) Also - the ANSI graphics example... it honestly looks bitmapped, not like a bunch of colored character cells. But then the graphics example (link 2) also looks bitmapped, so I think I'm missing something.
- nineteen999 7y agoThe ANSI is on the screen on the right on that example, the Blocktronics original file is here: https://16colo.rs/pack/blocktronics_16colors/k1-shack.ans https://16colo.rs/pack/blocktronics_16colors/k1-shack.ans Colors are a little off in retrospect, not sure whether I ever fixed that. The screen on the left shows the bitmap graphics mode with the alien from Alien: Covenant. I should upload it somewhere for people to play with and give feedback. The UE4 project build is about 1GB, I have to search around on my hard drive to find where the hell I put the Z80 floppy/hard disk images to boot the Z80 VM's though. They contained some fun stuff, like a working port of Rogue, the Infocom Zork games, a C compiler etc.
- exikyut 7y agoAh, it was a bitmap image. But TIL about 16colo.rs, which is really cool. The screenshots you've posted definitely look interesting to poke around with. Do the keys press as you type? :D 1GB is sizable but not too out of reach for those interested. Sounds like there are a lot of assets/interesting stuff elsewhere in the project? I wondered about a good "somewhere" to put it online for a bit - I don't have a good answer for this. I checked itch.io, which apparently has a 500MB limit that can be expanded to 2GB on request. (https://itch.io/t/324861/need-help-with-size-limit-on-game-upload https://itch.io/t/324861/need-help-with-size-limit-on-game-u..., https://itch.io/t/46291/uploading-large-games-faq https://itch.io/t/46291/uploading-large-games-faq). Archive.org would probably work, despite the most likely reaction being at least one raised eyebrow. (And... hm, user-specifiable disk images are probably something you've already thought of.)
- nineteen999 7y ago> Ah, it was a bitmap image. But TIL about 16colo.rs, which is really cool. No, it's not. That ANSI image on the right is rendered in-engine via the VT100 component of the Z80 computer, which I wrote from scratch. You can take the .ans file from the 16 colors website (which is what I did) and dump it to the terminal and that's how I got that screenshot. Getting it to look right means not only emulating the ANSI color codes, but implementing the IBM CP437 character set. CP/M purists would attack me with a pointed stick, since only the IBM PC had that character set by default, and it would have only been available on CP/M-86, not CP/M-80. Otherwise, ANSI files like that would have only displayed correctly on MS-DOS with ANSI.SYS loaded. BTW the emulated graphics card supports loading different character glyphs, so it's totally possible to load a "ye olde" fancy character set and play Zork with it, as should be done. > The screenshots you've posted definitely look interesting to poke around with. Do the keys press as you type? :D Not really, the hand animations flail around as you type and it looks kind of funny. It's something I'd like to improve, maybe with three keyboard proficency levels, hunt-and-peck, touch typing, and something in between.
- GuiA 7y agoThat's dope. I'm sure the original post in this thread was a solid learning experience for its creator but unlike what you just showed, it doesn't do anything particularly novel or clever. You should write up a blog post and submit to HN!
- nineteen999 7y agoThank you for the kind words, it was a lot of fun to work on and I learned a lot, I hope to get back to it when time permits. Last build I did was in March 2018.
- potta_coffee 7y agoI really love this.
- nineteen999 7y agoThank you!