The game itself I love. But I have some issues with it's implementation. To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that. (It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game…
TIS-100: An emulator for a CPU that doesn't exist
21–30 of 38 posts
Re: TIS-100: An emulator for a CPU that doesn't exist
#22The game itself I love. But I have some issues with it's implementation. To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that. (It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game…
For desktop dungeons, I'm not aware of the specifics about that game (though I have played it), but generally, if you're using OpenGL or DirectX to render, repainting only part of the screen isn't an option, so if anything is animated (no matter how slight the animation), you have to redraw the screen every frame. There are exceptions to this (like the mouse pointer, although this requires platform specific code), but not many of them.
Re: TIS-100: An emulator for a CPU that doesn't exist
#23The game itself I love. But I have some issues with it's implementation. To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that. (It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game…
It's still in early access, perhaps a bug report to the developer would be in order? It doesn't do this on my machine, so it might not be occurring for them.
Re: TIS-100: An emulator for a CPU that doesn't exist
#24Earlier quoted context omitted.
Well, I wrote one in Haskell, so there! (Currently trapped in legal hell. I work for one of those annoying companies that claims ownership of everything I do, even in my personal time, so I have to get it cleared before I can push it to github...) I added some extensions to allow one node to program another; the PROGRAM opcode resets the node in that direction, and it can then be fed a series of numbers which form th…
There's a reason to move to Silicon Valley - its illegal in CA for a company to claim work you do on your own time.
Re: TIS-100: An emulator for a CPU that doesn't exist
#25Earlier quoted context omitted.
Doubtful. Having only one usable register (plus another non-addressable "backup" register) places a (IMO) insurmountable constraint on running any multiuser unix-like kernel.
Well, the trick to the game is that you have multiple cores, each with their own register and a pipeline between them. This effectively gives you six registers, since you can bounce values back from the core on an edge register. There are also "stack" cores, which store an arbitrary number of values and allow you to pop them back off. If you were able to expand the system to have N cores of any type, I could easily i…
Re: TIS-100: An emulator for a CPU that doesn't exist
#26Earlier quoted context omitted.
There's a reason to move to Silicon Valley - its illegal in CA for a company to claim work you do on your own time.
This is not quite correct. Even out here in CA you still need permission if your employer has an invention assignment agreement.
Re: TIS-100: An emulator for a CPU that doesn't exist
#27The game itself I love. But I have some issues with it's implementation. To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that. (It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game…
IIRC TIS-100 is implemented using Unity, which doesn't really give you a lot of leeway as to when you update and render (e.g. you choose a framerate and it renders and updates your objects at that rate). Admittedly, since most of the time in TIS100 the screen does not change, if it were implemented using a custom engine this could be fixed. For desktop dungeons, I'm not aware of the specifics about that game (though…
Regarding DD: first, it's also implemented in Unity, so... but that aside, even if the whole screen gets repainted, it shouldn't max out. The graphics are just not demanding enough for that.
Re: TIS-100: An emulator for a CPU that doesn't exist
#28Is this a good way to get started with assembly?
Re: TIS-100: An emulator for a CPU that doesn't exist
#29Earlier quoted context omitted.
IIRC TIS-100 is implemented using Unity, which doesn't really give you a lot of leeway as to when you update and render (e.g. you choose a framerate and it renders and updates your objects at that rate). Admittedly, since most of the time in TIS100 the screen does not change, if it were implemented using a custom engine this could be fixed. For desktop dungeons, I'm not aware of the specifics about that game (though…
As I mentioned in the other comment, perhaps the problem is poor Linux support on the Unity side of things? Which would be... how shall we say... typical , since Unity also targets mobile platforms. You'd think they'd allow developers to properly optimise for fan noise. Regarding DD: first, it's also implemented in Unity, so... but that aside, even if the whole screen gets repainted, it shouldn't max out. The graphic…
Although you're probably right that it's mostly a Unity Linux support issue. My understanding is that Unity Linux support is mostly a labor of love from the Linux-using employees at Unity, and that it doesn't get a lot of attention other than that.