3 ms·
LE is all i'd ask for. I bet I could get it to run on an 8008 even without that change, but LE would make it easier to emulate :) Stack-based actually helps (r
by dmitrygr 2y ago
LE is all i'd ask for. I bet I could get it to run on an 8008 even without that change, but LE would make it easier to emulate :)
Stack-based actually helps (registers suck up RAM fast). Self-mod does not matter to emulators. It would for a JIT, but that is a separate story.
- kragen 2y agoHow would you hook up 64K of RAM to an 8008? Through some shift registers?
- dmitrygr 2y agoSPI RAM bit-banged via some IO ports is pretty easy, same as here: http://dmitry.gr/?r=05.Projects&proj=35.%20Linux4004 http://dmitry.gr/?r=05.Projects&proj=35.%20Linux4004
- kragen 2y agoAwesome, thanks for the link! I didn't remember that aspect of the 4004 project. This would be a pretty amazing project. I wonder if you could get existing Uxn/Varvara applications like the Left text editor or Orca to run fast enough to be usable. Presumably for Orca you'd want to hook up external sound hardware rather than trying to bitbang the sound on the 8008, and I guess the same is even more true of a framebuffer. If you were bitbanging RAM access at 7kbps it might be hard to get it to run instructions fast enough to be usable, though.
- dmitrygr 2y agoi think 8008 would be much faster :) i'll look into this
- d66 2y agoThere's no requirement that stacks grow upwards in Varvara. If your stacks grew downwards then you could use LE instructions to operate on 16-bit values on the stack. You'd still need to support loading from BE memory into the LE stack but that might not be too bad (two 8-bit operations instead of one 16-bit operation). The device ports are also specified as BE so in theory you'd need to split those reads/writes up too. However, in almost all cases those are done directly from the stack values so I bet most ROMs would work fine with LE devices and LE stacks. LE devices would only cause issues when someone used 8-bit reads/writes from part of a 16-bit port.