summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv
diff options
context:
space:
mode:
Diffstat (limited to '2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv')
-rw-r--r--2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv118
1 files changed, 59 insertions, 59 deletions
diff --git a/2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv b/2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv
index 03a4e4e8..c88c3ded 100644
--- a/2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv
+++ b/2020/subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv
@@ -2,7 +2,7 @@
hello everyone and welcome to my talk
0:00:02.879,0:00:06.960
-state of retrogaming and emacs
+state of retrogaming and Emacs
0:00:04.520,0:00:08.639
[Music]
@@ -11,10 +11,10 @@ state of retrogaming and emacs
first of all a little bit about myself
0:00:08.639,0:00:13.599
-my name is neilman i'm 28 years old
+my name is neilman I'm 28 years old
0:00:12.000,0:00:15.200
-i work as a cyber security consultant
+I work as a cyber security consultant
0:00:13.599,0:00:17.440
msg systems and
@@ -29,13 +29,13 @@ review the source code for security
problems
0:00:20.160,0:00:25.039
-you can reach me by email i have my own
+you can reach me by email I have my own
0:00:22.960,0:00:26.480
self-hosted git repositories
0:00:25.039,0:00:28.480
-and i have a blog where you can
+and I have a blog where you can
0:00:26.480,0:00:32.160
occasionally find new posts by me on all
@@ -44,16 +44,16 @@ occasionally find new posts by me on all
kinds of things not just emix things
0:00:32.160,0:00:36.480
-so but the motivation about this one i
+so but the motivation about this one I
0:00:34.800,0:00:38.079
-found that emacs is the ultimate
+found that Emacs is the ultimate
0:00:36.480,0:00:40.160
procrastination machine and there are
0:00:38.079,0:00:41.200
-lots of fun demonstrations i'll go over
+lots of fun demonstrations I'll go over
0:00:40.160,0:00:44.160
a few of them
@@ -80,7 +80,7 @@ there's an emulator for the z machine
which you can use to play zorg
0:00:55.600,0:00:59.039
-and so i asked myself at this point can
+and so I asked myself at this point can
0:00:57.600,0:01:01.039
you actually emulate retro games at
@@ -95,7 +95,7 @@ and found some projects but none that
were actually able to
0:01:04.479,0:01:08.000
-do it at 60fps so i set out to do my own
+do it at 60fps so I set out to do my own
0:01:07.360,0:01:09.439
one
@@ -134,16 +134,16 @@ it supports the superchip 8 extensions
it runs at full speed all games behave
0:01:28.080,0:01:32.320
-okay as far as i'm concerned and
+okay as far as I'm concerned and
0:01:30.159,0:01:34.479
-yeah i'm pretty happy with it it's very
+yeah I'm pretty happy with it it's very
0:01:32.320,0:01:37.040
much the hell world of emulation
0:01:34.479,0:01:40.880
-and i might maybe do some other
+and I might maybe do some other
0:01:37.040,0:01:43.360
emulation projects in the future
@@ -155,7 +155,7 @@ now for the section which is the longest
bunch of fun facts about ship a dot el
0:01:45.439,0:01:49.759
-which i've learned
+which I've learned
0:01:46.320,0:01:52.240
during this project so
@@ -329,7 +329,7 @@ all because well
user input basically and
0:03:34.959,0:03:39.040
-emacs is designed to just do whatever it
+Emacs is designed to just do whatever it
0:03:37.280,0:03:40.080
needs to do whenever you enter use input
@@ -368,13 +368,13 @@ freezes instead which isn't what you
want either
0:03:56.720,0:04:00.560
-so i went for timers which forced me to
+so I went for timers which forced me to
0:03:59.360,0:04:02.159
do inversion of control
0:04:00.560,0:04:04.080
-meaning that i have to write code in the
+meaning that I have to write code in the
0:04:02.159,0:04:06.159
style where it's just call it
@@ -389,7 +389,7 @@ happen and to
for things to progress at roughly the
0:04:09.120,0:04:12.879
-speed i want to
+speed I want to
0:04:11.040,0:04:14.159
so there's the skydiver function which
@@ -398,7 +398,7 @@ so there's the skydiver function which
is called a 60fps
0:04:14.159,0:04:17.359
-and i have to be very careful to not do
+and I have to be very careful to not do
0:04:16.000,0:04:20.479
too much in it
@@ -419,7 +419,7 @@ the screen so to map this whole system
to mx lisp
0:04:28.800,0:04:33.120
-i've used just integers and vectors
+I've used just integers and vectors
0:04:31.199,0:04:35.040
which contain even more integers
@@ -440,7 +440,7 @@ what you would do if you were writing c
all of this is stored in global
0:04:42.800,0:04:46.479
-variables i'm not using any
+variables I'm not using any
0:04:44.560,0:04:48.400
lists at all and as a side effect
@@ -464,7 +464,7 @@ this red was rather tricky actually and
there were some
0:04:56.720,0:05:01.680
-in garbage collection problems which i
+in garbage collection problems which I
0:04:58.560,0:05:01.680
had to resolve over time
@@ -533,10 +533,10 @@ effects
[Music]
0:05:41.440,0:05:45.919
-for testing i've initially just accused
+for testing I've initially just accused
0:05:43.440,0:05:47.280
-the rom until i fit ctrl g
+the rom until I fit ctrl g
0:05:45.919,0:05:49.039
and then use the debug command to run
@@ -545,7 +545,7 @@ and then use the debug command to run
the screen to a buffer
0:05:49.039,0:05:52.320
-later on i found tiny roms that just
+later on I found tiny roms that just
0:05:51.360,0:05:55.680
display a static
@@ -557,13 +557,13 @@ test screen for example logo and looked
whether it looked right
0:05:57.280,0:06:00.960
-i added instructions as needed and went
+I added instructions as needed and went
0:05:59.199,0:06:03.360
through more and more and more roms and
0:06:00.960,0:06:05.199
-later i wrote in unit test suite as a
+later I wrote in unit test suite as a
0:06:03.360,0:06:06.000
safety net and this unit test suite it
@@ -584,7 +584,7 @@ the
expected side effects have happened
0:06:14.880,0:06:19.120
-for debugging i usually use e-debug but
+for debugging I usually use e-debug but
0:06:17.120,0:06:20.880
this was super ineffective because well
@@ -602,13 +602,13 @@ single cycle when it can take like 100
cycles for things to happen
0:06:26.880,0:06:31.360
-therefore i've set up logging and
+therefore I've set up logging and
0:06:29.680,0:06:32.720
-whenever i locked something
+whenever I locked something
0:06:31.360,0:06:33.919
-and couldn't figure out the error i
+and couldn't figure out the error I
0:06:32.720,0:06:37.039
compared my lock output with
@@ -617,7 +617,7 @@ compared my lock output with
instrumented version of another emulator
0:06:37.039,0:06:40.880
-and if the locks diverge then i have
+and if the locks diverge then I have
0:06:39.199,0:06:42.720
figured out where the bug lies and could
@@ -629,10 +629,10 @@ look deeper into it
future project idea might be a chip 8
0:06:44.479,0:06:50.720
-debugger but i doubt i'll ever
+debugger but I doubt I'll ever
0:06:46.639,0:06:52.639
-go into it for analysis i initially
+go into it for analysis I initially
0:06:50.720,0:06:54.400
wrote a disassembler which is a very
@@ -653,7 +653,7 @@ thinking of what part is data what had
this code
0:07:00.000,0:07:03.360
-and i had this great idea for using the
+and I had this great idea for using the
0:07:01.840,0:07:05.120
radari 2 framework
@@ -665,13 +665,13 @@ and adding analysis and disassembly
plug-in for it
0:07:06.479,0:07:10.319
-so i looked into this found okay here
+so I looked into this found okay here
0:07:08.400,0:07:12.160
where you can write plugins in c
0:07:10.319,0:07:13.520
-but also in python so i wrote one in
+but also in python so I wrote one in
0:07:12.160,0:07:15.039
python and then the scout there's
@@ -683,7 +683,7 @@ actually existing one in core which you
have to enable explicitly by passing its
0:07:17.440,0:07:21.840
-argument so i've tried it and found it's
+argument so I've tried it and found it's
0:07:19.599,0:07:23.680
not exactly as good as my own one so
@@ -704,7 +704,7 @@ rendering was the trickiest part of this
whole thing because
0:07:31.360,0:07:35.759
-well i decided against using a library
+well I decided against using a library
0:07:34.319,0:07:37.120
not like there would have been any
@@ -722,13 +722,13 @@ file was too expensive it just created
too much garbage and took too long time
0:07:45.120,0:07:49.599
-i then tried creating mutating strings
+I then tried creating mutating strings
0:07:47.360,0:07:52.639
this was either either too expensive
0:07:49.599,0:07:55.039
-just like svgs or too complicated i
+just like svgs or too complicated I
0:07:52.639,0:07:57.280
tried changing svg tiles which created
@@ -737,7 +737,7 @@ tried changing svg tiles which created
gaps between the lines
0:07:57.280,0:08:00.720
-then i tried to create an xpm file which
+then I tried to create an xpm file which
0:07:59.520,0:08:02.400
was backed by a bull vector
@@ -752,7 +752,7 @@ but the image caching effect made it
just every nth frame to appear which
0:08:06.879,0:08:11.440
-wasn't good either then i had the idea
+wasn't good either then I had the idea
0:08:10.000,0:08:13.280
to just use plain text
@@ -770,13 +770,13 @@ this had perfect perfect performance
there were many optimization attempts
0:08:18.479,0:08:21.840
-until i got there and it was
+until I got there and it was
0:08:20.000,0:08:23.199
-very very stressful i wasn't sure
+very very stressful I wasn't sure
0:08:21.840,0:08:26.160
-whether i would ever get to accept the
+whether I would ever get to accept the
0:08:23.199,0:08:28.560
performance at all
@@ -791,7 +791,7 @@ so technically it shouldn't be difficult
to emulate it
0:08:31.280,0:08:34.880
-however doing this is hard because emacs
+however doing this is hard because Emacs
0:08:33.519,0:08:37.200
officially only supports synchronous
@@ -806,7 +806,7 @@ but there's also emax process which you
can launch in asynchronous way
0:08:41.360,0:08:45.279
-so i looked into it and found that
+so I looked into it and found that
0:08:43.519,0:08:46.640
employee has a slave mode and mpv
@@ -815,7 +815,7 @@ employee has a slave mode and mpv
supports listing on the
0:08:46.640,0:08:54.000
-fifo for commands so i've created a pipe
+fifo for commands so I've created a pipe
0:08:50.880,0:08:55.519
started a past mpv in loop mode and
@@ -824,7 +824,7 @@ started a past mpv in loop mode and
always send in pause and pause command
0:08:55.519,0:09:01.839
-to the fifo and that way i could control
+to the fifo and that way I could control
0:08:58.000,0:09:01.839
when to start beeping and stop beeping
@@ -836,16 +836,16 @@ so yeah that's it so far was a very
educational experience
0:09:07.200,0:09:10.320
-i have tried out a bunch of games which
+I have tried out a bunch of games which
0:09:09.279,0:09:12.640
were
0:09:10.320,0:09:14.320
-well i almost say the worst ports of
+well I almost say the worst ports of
0:09:12.640,0:09:15.839
-classic games i've ever tried
+classic games I've ever tried
0:09:14.320,0:09:18.320
it wasn't terribly fun to play them but
@@ -857,19 +857,19 @@ was fun to improve the emulator until
well things worked good enough
0:09:21.760,0:09:25.120
-and i've learned a lot about how
+and I've learned a lot about how
0:09:23.279,0:09:27.760
computers work at this level
0:09:25.120,0:09:28.880
-so maybe maybe i'll in the future make
+so maybe maybe I'll in the future make
0:09:27.760,0:09:31.920
another emulator
0:09:28.880,0:09:34.000
-but uh i'm not sure whether anything
+but uh I'm not sure whether anything
0:09:31.920,0:09:36.560
more advanced like intel 8080 emulator
@@ -887,16 +887,16 @@ because then you could actually have an
os
0:09:39.600,0:09:43.120
-inside emacs and fulfill that one
+inside Emacs and fulfill that one
0:09:41.680,0:09:45.440
specific meme
0:09:43.120,0:09:47.279
-but if i try to do most serious stuff
+but if I try to do most serious stuff
0:09:45.440,0:09:48.000
-i'll probably use chicken scheme which
+I'll probably use chicken scheme which
0:09:47.279,0:09:49.920
is my