Won't need that anymore, I hope

This commit is contained in:
Андреев Григорий 2025-12-23 23:17:04 +03:00
parent 6a0681b42e
commit 93f618f957
2 changed files with 0 additions and 62 deletions

View File

@ -1,56 +0,0 @@
#align(center)[= JSM-3 (Fun Machine) ]
*This is not an official documentation. To get an official
technical documentation of JSM-3 you need to contact Dakah
representatives. * This is an unofficial review,
that includes both detailed detailed guide on writing in JSM-3 machine
code and a historical background on Fun Machine.
This is the 15th issue of Scratchtip journal.
*JSM-3* (or simply *Fun Machine*) is a computer manufactured by Dakah#sym.trademark
corporation. It was first manufactured in a run of 100 items
on $#[50]#sym.star.op#[233]$. It was designed for digital entertainment.
Failed immediately, because nobody really needed a gaming
computer with 32x32 resolution. Up to that point it is only remembered because
it was the first publically available model from JSM series.
== Review of external qualities
Fun Machine a nefarious 32x32 led display on a 30x30 cm panel, wielded to the
main body of the computer. It has 1 set of 16 levers on it and a
power button with a led power indicator. Keyboard is not wielded to the main
corpus. It is connected to it by a 1 meter cable. Keyboard contains
50 same size keys. Keyboard is 40x25 cm in size. JSM-3 features 2^17 bytes (2^16
words) of RAM and a JSM-3-Core CPU. JSM-3-Core is capable of running at
80'000 tps. It should be noted, that operations that access high memory
addresses can take seveal ticks to execute. The "bootstick reader" is located on the
back of Fun Machine's frame. It is a long slide, that can read bootsticks t boot.
Bootstick is a rom storage of a program that gets copied into the beginning of
JSM-3 memory during boot. Different models of bootsticks were available for JSM-3,
with different models providing different rom capacity. The largest could store
2^15 word long programs. There were also 2^11, 2^12 and 2^14 bootstick models,
all compatible with Fun Machine.
== JSM-3-Core
CPU is directly connected to memory. CPU sends signals to
monitor module, that in turn can switch on/off lamps on the monitor.
CPU is capable of waiting for events on the input module, such as keyboard events or
lever update event. Input module is capable of storing 20 events in a queue-like electrical
scheme. Also, at any time CPU can read input signal from lever board. State of 16 levers
is described by 1 word. 2^16 words (16 bits) of ram are available to CPU. JSM-3-Core in
JSM-3 is itself controlled by "boot-chip".
After powering JSM-3-core, boot-chip temporarily takes control over memory card and starts
copying boot program word by word into the ram, until bootstick reports the end.
Physical interface of bootstick or bootstick reader won't be specified here.
After boot-chip is done, it gives start signal to JSM-3-Corem which starts it's timer.
Timer counts ticks, 80000 ticks per second. At the beginning of each tick CPU tries to
execute one instruction and move to the next.
JSM-3 lacks traditional caching. Instead, memory is divided into 3 level, based
on it's proximity to CPU.
- *M1*: Very fast. Addresses $[0, 2^8-1]$. Occupies first $2^8$ words.
- *M2*: Fast. Addresses $[2^8, 2^11-1]$. Fast and very fast levels occupy first $2^11$ words.
- *M3*: Slow. Addresses $[2^11, 2^14-1]$. Slow, fast and very fast levels occupy
first $2^14$ words.
- *M4*: Very slow. Addresses $[2^14, 2^161-]$.

View File

@ -1,6 +0,0 @@
#import "./head.typ": *
Some text in line
#rect(stroke: none)[
#draw-content((0, 0), line(start: (0pt, 20pt), end: (40pt, 0pt), stroke: black + 0.1pt))
]