Indentations break the feed.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 07 / 25.mkd
blob6d6a912ed7e6dea83850c8f77d4bcfda4585f5e1
1 # 2016/07/25
3 ## 10:36
5 So I need a good API and backend for the emulator. It must support TAS and have
6 the ability to emulate a large number of systems quite easily.
8 ## 11:15
10 I suppose for each system, I should have it where I simulate threads on a
11 single CPU by saving and restoring CPU state as needed when a process is to be
12 ran.
14 ## 11:50
16 Ok, so there will just be a single constructor for the emulator which
17 optionally takes an input and output stream. Due to the different systems
18 that could be emulated in the same group, everything will be set to a master
19 clock which is in nanoseconds.
21 ## 12:00
23 However, this would essentially mean that emulation is limited to 1GHz because
24 after that extra instructions in the middle would cause some problems. So I
25 suppose I should step it up to the next level and make it picoseconds. This
26 way 1THz systems can reasonably be emulated.
28 ## 18:56
30 This means I need to determine when the next event occurs so it can be timed
31 and recorded properly. The only thing that has to really be stored in replays
32 is unknown information that comes outside of the emulated environment. So
33 this means when a system is created, its details must be stored as such.
35 ## 19:16
37 Just realized that my data input (which is not implemented) does not have
38 `EOFException`s, will need to remember that.