<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:12:16]
<Forecaster>
Role Play Life?
L2[00:12:45] <Izaya> Reverse Polish
Lisp
L3[00:26:17] ⇦
Quits: pwootage (pwootage!~pwootage@new.pwootage.com) (Ping
timeout: 186 seconds)
L4[00:30:53]
<Forecaster>
I wish my phone responded to "hey google" instead of just
"ok google"
L5[00:30:59]
<Forecaster>
:|
L6[00:31:12] ⇦
Quits: Doty1154
(Doty1154!~Doty1154@2601:648:8000:134f:1527:8aea:80fe:f92e) (Read
error: Connection reset by peer)
L7[00:36:16] ⇨
Joins: pwootage (pwootage!~pwootage@new.pwootage.com)
L8[00:45:48] <Saphire> Heya
L9[00:46:14] ⇦
Quits: Xal (Xal!~Xal@S010664777dabacc3.vw.shawcable.net) (Ping
timeout: 383 seconds)
L10[00:50:57] ⇨
Joins: Xal
(Xal!~Xal@S010664777dabacc3.vw.shawcable.net)
L12[00:54:45] *
Saphire flops on Izaya
L13[00:54:51] <Saphire> Hey there
L14[02:17:51]
<Forecaster>
%shell
L15[02:17:51] *
MichiBot loads usb-d into a shell and fires it. It strikes
nxsupert. They take 3 damage. Yarillo and Izaya stood too close and
take 1 damage and 2 damage respectively.
L16[02:17:52] *
MichiBot Usb-d took the blue pill and fell asleep..
L17[02:34:59] ⇦
Quits: Icedream (Icedream!~icedream@has.streaminginter.net) (Ping
timeout: 383 seconds)
L18[02:37:32] ⇨
Joins: Icedream
(Icedream!~icedream@has.streaminginter.net)
L19[03:34:11] ⇦
Quits: Icedream (Icedream!~icedream@has.streaminginter.net) (Quit:
A lol made me boom.)
L20[03:36:11] ⇨
Joins: Icedream
(Icedream!~icedream@has.streaminginter.net)
L21[04:07:27] <Izaya> Since when could
Minecraft do depth mapping?
L22[05:04:37] ⇨
Joins: Vexatos
(Vexatos!~Vexatos@p200300556E187E38064F7DC6B7E9FA26.dip0.t-ipconnect.de)
L23[05:04:37] zsh
sets mode: +v on Vexatos
L24[05:44:12]
<Forecaster>
%juggle 6
L25[05:44:12] *
MichiBot juggles with lewd peace signs, a sense of humor, AmandaC's
pie, dango, a talking, floating doujin, & a pair of
"plot" armour
L26[05:44:13] *
MichiBot drops lewd peace signs which takes 2 damage
L27[05:44:14] *
MichiBot drops a sense of humor which takes 4 damage
L28[05:44:15] *
MichiBot drops AmandaC's pie which takes 3 damage
L29[05:44:16] *
MichiBot drops a talking, floating doujin which takes 2 damage, the
talking, floating doujin ruptures and deflates..
L30[05:44:17] *
MichiBot drops a pair of "plot" armour which takes 3
damage, the pair of "plot" armour vibrates into the
ground..
L31[05:44:18] <MichiBot> #@%&!!
L32[05:47:56] ⇨
Joins: Shidneydd
(Shidneydd!webchat@81.184.66.59.dyn.user.ono.com)
L33[05:50:40] ⇦
Quits: Shidneydd (Shidneydd!webchat@81.184.66.59.dyn.user.ono.com)
(Client Quit)
L34[05:51:17] ⇨
Joins: Shidneydd
(Shidneydd!~shidneydd@static.213-239-213-211.clients.your-server.de)
L35[05:51:38] ⇦
Quits: Shidneydd
(Shidneydd!~shidneydd@static.213-239-213-211.clients.your-server.de)
(Client Quit)
L36[06:45:22] ⇨
Joins: Inari
(Inari!~Pinkishu@p4FC1EE65.dip0.t-ipconnect.de)
L37[07:06:58] ⇨
Joins: Thutmose
(Thutmose!~Patrick@host-69-59-79-123.nctv.com)
L38[07:22:18] <Inari> %give MichiBot
skin-adherent magical rope
L39[07:22:18] *
MichiBot accepts skin-adherent magical rope and adds it to her
inventory
L40[07:22:57] <Skye> Inari, lewd
L41[07:23:15] <Inari> %give MichiBot lewd
skin-adherent magical rope
L42[07:23:15] *
MichiBot accepts lewd skin-adherent magical rope and adds it to her
inventory
L44[07:24:49] <Skye> %give MichiBot lewd
Inari
L45[07:24:49] *
MichiBot accepts lewd Inari and adds it to her
inventory
L46[07:28:48] ⇦
Quits: lordpipe (lordpipe!~lordpipe@66.109.211.167) (Quit: WeeChat
2.1)
L47[07:33:59] <Inari> %fling Skye
L48[07:33:59] *
MichiBot flings Raiko in a random direction. It hits Skye on the
left hand. They take 7 damage.
L49[07:35:43] * Skye
snugs Raiko
L50[07:36:36] ⇨
Joins: Raiko (Raiko!znc@nightfall.moe)
L51[08:01:24] <Skye> Raiko! :D
L52[08:01:34] <Raiko> meep
L53[08:02:34] <Skye> you was flung
L54[08:02:40] <Skye> how is life outside of
MichiBot's pockets
L55[08:03:05] <Raiko> meep
L56[08:20:16]
<Forecaster>
oo magic is a keyword :D
L57[08:22:48] <Inari> %fling
Forecaster
L58[08:22:49] *
MichiBot flings Mimiru's SLA in a random direction. It hits
Forecaster on a small but very important bone. They take 17
damage.
L59[08:30:42]
<Forecaster>
ow D:
L60[08:34:06]
<Forecaster>
%shell inari
L61[08:34:06] *
MichiBot loads a jar of bees into a shell and fires it. It strikes
the ground near inari, tiin57 and AmandaC. They each take 6 damage
(5+1), 4 damage (3+1) and 6 damage (5+1) splash damage
respectively.
L62[08:34:07] *
MichiBot The jar of bees is eaten by a Grue..
L63[08:34:20]
<Forecaster>
ohno, poor bees!
L64[08:39:13] <Raiko> %fling
@Forecaster
L65[08:39:13] *
MichiBot flings instant frames - just add water in a random
direction. It hits @Forecaster on the left hand. They take 3
damage.
L66[08:39:14] *
MichiBot Instant frames - just add water met a Pikachu and was
shocked..
L67[08:39:43] <Arcan> is it just me or did
the item break chance get raised drastically
L68[08:40:03]
<Forecaster>
there is no break chance
L69[08:40:09] ⇦
Quits: fingercomp (fingercomp!~fingercom@fomalhaut.me) (Ping
timeout: 186 seconds)
L70[08:40:23] <Arcan> Forecaster: what do
you mean
L71[08:40:28]
<Forecaster>
when an item is added it has a certain number of uses based on the
string length
L72[08:40:40]
<Forecaster>
each time it's used by a command it consumes a
"use"
L74[08:40:47]
<Forecaster>
when those run out the item is destroyed
L75[08:40:51] ⇨
Joins: fingercomp (fingercomp!~fingercom@fomalhaut.me)
L76[08:40:52] <Arcan> interesting
L77[08:41:01] <Arcan> %give MichiBot
^^
L78[08:41:01] *
MichiBot accepts ^^ and adds it to her inventory
L79[08:41:03]
<Forecaster>
shorter strings have more uses
L80[08:43:34]
<Forecaster>
%fling
L81[08:43:34] *
MichiBot flings free cupcakes in a random direction. It hits ping
in their pride. They take 13 damage.
L82[08:45:16]
<Forecaster>
I've completely forgotten how the use calculation works when adding
items
L83[08:45:52]
<Forecaster>
works
L84[08:49:03] <Arcan> %give MichiBot
supercalifragilisticexpialodocious
L85[08:49:03] *
MichiBot accepts supercalifragilisticexpialodocious and adds it to
her inventory
L86[08:52:19]
<Forecaster>
if you use inv add it gives an approximation of how many uses it
has :P
L87[08:52:21]
<Forecaster>
it doesn't do that with give
L88[08:52:42]
<Forecaster>
I prefer using inv add
L89[08:52:54]
<Forecaster>
also it's more fun if you accidentally add something twice
L90[08:54:30] <Raiko> %inv add a wand of
true polymorph
L91[08:54:30] *
MichiBot summons 'a wand of true polymorph' and adds to her
inventory. This seems rather fragile...
L92[08:54:45] <Raiko> hmm, I imagine it
would be.
L93[08:55:02]
<Forecaster>
%inv add a wand of true polymorph
L94[08:55:02] *
MichiBot watches the summoning misfire and the two identical items
merge into a massive, unidentifiable blob
L95[08:55:09]
<Forecaster>
:D
L96[08:55:15] <Raiko> %inv list
L98[08:56:10] <Raiko> %inv add a plush
dragon
L99[08:56:10] *
MichiBot summons 'a plush dragon' and adds to her inventory. This
seems very sturdy.
L100[08:58:00] <Arcan> <3
L101[09:12:30]
<Forecaster>
%shell
L102[09:12:30] *
MichiBot loads a chicken turbine into a shell and fires it. It
strikes the ground near Neo, Lumien and Bigcheese. They each take 8
damage (6+2), 11 damage (9+2) and 12 damage (10+2) splash damage
respectively.
L105[09:21:48] <Vexatos> Even translated
to English and transcribed to Latin script! How generous
L106[09:22:24] <Vexatos> @Forecaster stop
shooting people
L107[09:22:48]
<Forecaster>
no D:
L108[09:23:26] *
Raiko arrests @forecaster for assault
L109[09:23:58]
<Forecaster>
C) To cheer up Gilbert when he feels tired
L110[09:24:00]
<Forecaster>
obviously
L111[09:24:02]
<Forecaster>
inari
L112[09:24:35] <Raiko> %inv add Forecaster
in a maid outfit
L113[09:24:35] *
MichiBot summons 'Forecaster in a maid outfit' and adds to her
inventory. This seems rather fragile...
L114[09:26:20] <Inari> %whatislove
L115[09:26:20] <MichiBot> Inari: Love
is... pumpkin deodorant, with CSS hate on top!
L116[09:26:54] <Temia> %inv add Massive
Blob
L117[09:26:54] *
MichiBot watches the summoning misfire and the two identical items
merge into a massive, unidentifiable blob
L118[09:26:59] <Inari> %pet Temia
L119[09:27:00] *
MichiBot pets Temia with a naughty Mare. Temia gained 21
health!
L120[09:27:11] <Vexatos> %inv add
PHP
L122[09:27:19] <Inari> :3
L123[09:27:24] *
Temia moves WELL AWAY FROM INARI AND THE HORSE SHE RODE IN ON
D:
L124[09:27:30] <Inari> Haha
L125[09:27:34] <Inari> Not that kind of
mare
L126[09:27:46] <Temia> That doesn't really
make it any better!
L128[09:28:27]
<MalkContent> is mare a name?
L129[09:28:55] <Vexatos> mare is Latin for
sea
L130[09:29:10]
<MalkContent> ah. i should know that.
L131[09:29:42]
<MalkContent> i was gonna ask if that was
one of those strange things like where anime girls are battleships,
just with horses
L132[09:29:53]
<MalkContent> but then i overthought the
"anime" part
L133[09:30:00] <Vexatos> It is also the
anglification of the German word Mahr
L134[09:30:25]
<MalkContent> and wanted to get it down to
the drawing style of manga and anime. and then i didnt know the
word for that
L135[09:31:04] <Vexatos> that is also
where the word "nightmare" comes from
L136[09:31:08] <Arcan> @MalkContent The
dark regions on the moon are called "mares"
L137[09:31:29] <Arcan> they are
"seas" of igneous rock released by massive asteroid
impacts
L138[09:31:33]
<MalkContent> figured as much
L139[09:31:58] <Vexatos> but the Latin
mare is pronounced differently to the mare
L140[09:32:08]
<MalkContent> myself being german and
all
L141[09:32:44] <Inari> Bissmahrkt.
L142[09:32:48] <Vexatos> The English word
[mɛə] and the Latin [ˈma.rɛ]
L143[09:32:55] <Arcan> oh, they're from
long-dead lunar volcanoes, not asteroid impacts necessarily
L144[09:32:56] <Arcan> sue me
L145[09:34:34] <AmandaC> Actually, they're
caused from when the fire-haired girl poked the mon
L146[09:34:37] <AmandaC> moon*
L147[09:35:22]
<Forecaster>
now now
L148[09:35:31]
<Forecaster>
there are probably ones raised by small impacts as well
L149[09:35:53]
<Forecaster>
%s/raised/released/
L150[09:35:53] <MichiBot>
<Forecaster> there are probably ones released by small
impacts as well
L151[10:24:51]
<MalkContent> random question, i'm looking
for a comfy women's t-shirt with a v-neck. anyone got a
recommendation per chance?
L152[11:18:35]
<Forecaster>
how do you express that in pseudo-code?
L153[11:19:42] <Vexatos> @MalkContent step
1: learn sewing
L154[11:19:46] <Vexatos> it's actually fun
:I
L155[11:22:54]
<Forecaster>
ohno
L156[11:24:25]
<MalkContent> i'm actually decent at
sewing
L157[11:24:42]
<Forecaster>
but can you sew _a friend_?!
L158[11:24:55] <Corded> *
<Forecaster> cries
L159[11:24:59]
<MalkContent> :c
L160[11:25:17] <Vexatos> @Forecaster I'll
sew you!
L161[11:25:40]
<Forecaster>
show me what?
L162[11:25:53]
<MalkContent> i don't wanna get a patter
for a v-neck tho
L163[11:26:07]
<Forecaster>
just get a regular one and draw a V on it!
L164[11:26:20]
<MalkContent> finding a good shirt in the
store is probably easier than that
L165[11:26:32]
<MalkContent> she's gonna punch me if i do
that ?
L166[11:26:36]
<Forecaster>
you must venture to a store then!
L167[11:26:43]
<MalkContent> myea :/
L168[11:26:52] <Vexatos> V for
victory!
L169[11:27:07]
<MalkContent> searching for vnecks online
is more challenging than the regular necks from the last
years
L170[11:27:10]
<Forecaster>
although, if you want super fancy shirts
L171[11:27:15]
<Forecaster>
Teeturtle
L172[11:27:27]
<MalkContent> (hehe teet)
L173[11:27:41]
<Forecaster>
Tee-turtle [Edited]
L174[11:27:43]
<Forecaster>
> - >
L175[11:29:43]
<MalkContent> ah. na i'm looking for
blanks
L176[11:29:47]
<MalkContent> thanks tho
L177[11:30:12]
<Forecaster>
ah, well, they're fancy
L178[11:30:25]
<Forecaster>
you should've been more specific >:
L179[11:30:25]
<Lizzian>
oops, apologies to anyone who just got some 502 errors on the
forums
L180[11:31:19]
<Forecaster>
allright, time to get me some booty, by which I mean I'ma pirate
some win10
L181[11:33:24]
<MalkContent> pirating is a grading system
that ranges from 0 to 3.1415926535897932... there has yet to be a
perfect legal score
L182[11:34:49] <Vexatos> pirate linux
:^)
L183[11:35:14]
<MalkContent> i*pi
L184[11:35:17] <Inari> s/inux/olita/
L185[11:35:17] <MichiBot> <Vexatos>
pirate lolita :^)
L186[11:35:29]
<Lizzian>
hmm, there also seems to be a bot crawling the forums...
L187[11:35:48]
<Forecaster>
it's tricky to pirate linux though
L188[11:36:02]
<Forecaster>
I'd have to find someone that actually sells it, then pirate
them
L189[11:36:03]
<Lizzian> i
think i'ma leave it to do it's thing
L190[11:36:04]
<Forecaster>
>:
L191[11:36:41]
<MalkContent> just because they're russian
addresses, doesn't mean that they aren't just an army of slavic oc
enthusiasts
L192[11:37:34]
<Forecaster>
@Lizzian get the bot-spray!
L193[11:38:01]
<MalkContent> that'd be a nice thing to
have in oc
L194[11:38:06]
<Wuerfel_21>
Sony used to sell linux for the PS2
L195[11:38:14]
<MalkContent> to disable rogue
robots/drones
L196[11:38:59] <Vexatos> @MalkContent
those are all on computercraft.ru
L197[11:40:06]
<MalkContent> welp *crumples conspiracy
theory paper* back to square one
L198[11:41:14]
<MalkContent> you know. rogue robots/drones
kinda don't sound half bad
L199[11:41:30] <Vexatos> roguebot
L200[11:41:39]
<Forecaster>
until they murder you!
L201[11:42:30] <Vexatos> rowboat
L202[11:42:37] <Vexatos> Patented cruor
word btw
L203[11:42:51] <Cruor> rude
L204[11:43:46]
<MalkContent> out of the loop there
:x
L205[11:44:00]
<Forecaster>
rowbot
L206[11:46:36] ⇦
Quits: Renari (Renari!~Renari@24.229.185.155.res-cmts.sm.ptd.net)
(Read error: -0x1: UNKNOWN ERROR CODE (0001))
L210[11:49:08]
<Wuerfel_21>
**TM and (R) are trademarks of Nintendo**
L211[11:49:32]
⇨ Joins: Renari
(Renari!~Renari@24.229.185.155.res-cmts.sm.ptd.net)
L212[11:49:41] <Inari> Aaahhh
L213[11:49:43] <Inari> It's my evil
twin
L214[11:49:45] <Inari> %fling Renari
L215[11:49:45] *
MichiBot flings a rebar in a random direction. It hits Renari on a
small but very important bone. They take 12 damage.
L216[11:53:16] ⇦
Quits: Renari (Renari!~Renari@24.229.185.155.res-cmts.sm.ptd.net)
(Read error: Connection reset by peer)
L217[11:54:25]
<MalkContent> previously went by Irani, but
had too much issues with being randomly selected at airport
security
L218[11:56:08]
⇨ Joins: Renari
(Renari!~Renari@24.229.185.155.res-cmts.sm.ptd.net)
L219[11:56:52]
<MalkContent> alright. mods are set up,
here goes another round of actually playing mc
L220[12:00:23]
<MalkContent> JESUSchrist. 2 seconds in and
scared to death by a pig with an almost black skin that snuck up on
me and was on eye level. freaking quark
L221[12:00:45]
<Forecaster>
ninjapig
L222[12:05:49]
<Wuerfel_21>
oink
L223[12:06:17]
<Forecaster>
ninjapigs are silent!
L224[12:08:45]
<MalkContent> i could have sworn it
wispered something like omae wa mou shindeiru, but i don't know
susian
L225[12:09:49] <Arcan> susian?
L226[12:12:43]
<MalkContent> piggish didn't sound like a
language, so i wikipedia'd pig and took the first latin thing
L227[12:12:47]
<MalkContent> and added
"ian"
L228[12:13:26]
<Wuerfel_21>
~~pig latin~~
L229[12:20:51] <Vexatos> @MalkContent the
Latin word for pig is sus or porcus
L230[12:21:02] <Vexatos> it wouldn't be
susian but suian though
L231[12:22:17]
<MalkContent> fair enough
L232[12:22:32] <Vexatos> and that is hard
to pronounce
L233[12:22:58] <Vexatos> suillian would be
the most appropriate word
L234[12:23:12] <Vexatos> (or
porcinian)
L235[12:28:29]
<MalkContent> i am growing suspicious of
your latin prowess
L236[12:28:35]
<Forecaster>
porcelain
L237[12:28:56]
<Forecaster>
%inv add a porcelain sus
L238[12:28:56] *
MichiBot summons 'a porcelain sus' and adds to her inventory. This
seems very sturdy.
L239[12:29:15]
<MalkContent> you a wizard?
L240[12:30:46] <Vexatos> @Forecaster
actually called that because a guy called celaian mixed ground pig
bones with clay to get ceramics
L241[13:06:05] *
AmandaC checks the timeline graph on her spare monitor
L242[13:12:34] <Inari> %pet AmandaC
L243[13:12:35] *
MichiBot brushes AmandaC with a golden boy. AmandaC gained 11
health!
L244[13:12:38] <Inari> Ooooh
L246[13:13:29] <MichiBot> Fri Apr 13
05:32:29 CDT 2018 @_Eminya: ・ 。
L247[13:13:37] <AmandaC> Inari: better
watch out, he likes to "entertain" the lay then
vanish.
L248[13:13:47] <Inari> the lay?
L249[13:14:01] <AmandaC> s/" the
lay/" the lady/
L250[13:14:01] <MichiBot> <AmandaC>
Inari: better watch out, he likes to "entertain" the lady
then vanish.
L251[13:14:09] <AmandaC> I accidentally a
word.
L252[13:14:13] <AmandaC>
s/word/letter/
L253[13:14:13] <MichiBot> <AmandaC>
I accidentally a letter.
L254[13:14:21] <Inari> He does
L255[13:14:24] <Inari> I see you've
watched it :P
L256[13:14:27] *
AmandaC wonders what's going wrong with her speech
synthesis
L257[13:14:35] <AmandaC> Nah, just heard
about it a lot from listicles. :P
L258[13:14:44] <Inari> Ah :p
L259[14:17:15]
⇨ Joins: MajGenRelativity
(MajGenRelativity!uid288574@id-288574.hathersage.irccloud.com)
L262[14:33:19] <S3> you're not talking
about that weird show I haven't even dared to watch called citrus
or whatever right?
L263[14:33:26] <Inari> Nope
L264[14:33:26] <Inari> Gamers
L266[14:33:36] <MichiBot>
Gamers! -
Dark Days (Uehara and Aguri) | length:
2m 44s | Likes:
393 Dislikes:
3 Views:
33,549 | by
ViperAlice |
Published On 21/7/2017
L267[14:37:06] <S3> Inari: So I like anime
because I really appreciate the shading and how well everything
tends to integrate together. That looks like a really nice quality
anime.
L268[14:39:47] <Inari> S3: Well shading
and such is nice. But characters and feelings are greater :D
L269[14:40:55] <S3> I think that the
characters are vry important, the feelings and such are way too
overboard to me, but that's just Japaneese anime culture anyways.
What I really like is how a lot of animes have a lot of thought put
into their plots.
L270[14:40:58] <S3> some not so much
L271[14:41:08] <S3> but a lot of them go
into extreme ammounts of detail
L272[14:41:39]
⇨ Joins: Cervator
(Cervator!~Thunderbi@2601:4c1:4001:1d5d:a0b1:4ba1:3f2:d50e)
L273[15:19:05] <S3> W U T
L274[15:21:04] <Arcan> S3: what?
L275[15:21:17] <S3> I just had an
idea
L276[15:21:37] <Vexatos> Does it involve
Selene :⁾
L277[15:21:55] <S3> it'd be cool if you
could somehow use your own fonts in OC
L278[15:21:59] <Arcan> %slap Vexatos
L279[15:22:00] *
MichiBot slaps Vexatos with CSS hate doing 14 damage
L280[15:22:02] <Vexatos> S3,
L281[15:22:03] <Vexatos> you can
L282[15:22:13] <S3> really
L283[15:22:19] <Vexatos> the font is just
a file in the jar+
L284[15:22:25] <S3> oh yeah no no no
L285[15:22:36] <S3> it'd be cool if I
could like update some sort of registry
L286[15:22:47] <S3> like in the gpu or
something
L287[15:23:20] <S3> btw I just realized a
problem with my homebuilt computer
L288[15:23:36] <S3> right now my video
card has no feature for EEPROM sprites
L289[15:23:54] <S3> such as a 127
character font. That could be useful
L290[15:26:00] <S3> I also need to be able
to flash that eeprom at runtime
L291[15:26:24] <S3> this can be a problem
though, it adds latency if I have to memory map the EEPROM and SRAM
for sprite data.
L292[15:26:48] <S3> not only this, but I
still have no solution for overlapping sprites
L293[15:33:58]
<Wuerfel_21>
S3, what kind of architecture/tech are you using?
L294[15:34:53] <S3> @Wuerfel_21 it is a
custom minicomputer architecture. However, it's not a register
machine like most are used to, it's a lot more intuitive imo.
L295[15:34:58] <S3> a lot simpler
too
L296[15:35:29] <S3> I am not using FPGAs
or arduinos or anything, it is mostly 7400 series logic and ROM
/SRAM
L297[15:35:30]
<Wuerfel_21>
i mean, FPGAs? TTL? Relays? Magic pixie dust?
L298[15:35:53] <S3> here's the issue with
FPGAS, or even an ATTiny AVR:
L299[15:36:07] <S3> If I had one on my
machine it'd be 10x more powerful than the entire computer
L300[15:36:30] <S3> I am using FPGAs for:
logic testing
L301[15:36:33] <S3> that's pretty much
it
L302[15:36:50]
<Wuerfel_21>
ATTinys come in versions with 32 bytes of RAM
L303[15:36:56] <S3> so for example, the
VGA video card circuitry is tested on an FPGA then I built it on
PCB with chips
L304[15:37:05] <S3> it would still be way
overpowered
L305[15:37:07]
<Wuerfel_21>
74xx?
L306[15:37:18] <S3> mostly 74xx yes
L307[15:37:44] <S3> however there are some
things that are condensed into ROM
L308[15:37:48] <S3> such as the ALU
L309[15:37:51]
<Wuerfel_21>
hmmm, how do your sprites work? do you overlay them in real-time or
render to a framebuffer
L311[15:38:31] <MichiBot>
Bit
banger | length:
2m 50s | Likes:
445 Dislikes:
0
Views:
32,623 | by
lftkryo | Published On
13/6/2011
L312[15:39:06] <S3> so for the video
circuit I chose to run with 640x480 with memory configured for use
by the pallette circuitry, housing 8x10 sprites
L313[15:39:12] <S3> er, sprite
circuiry*
L314[15:39:20] <S3> the pallette part is
actually part of the output buffer stuff
L315[15:39:39] <Vexatos> but can it run
Lua :^)
L316[15:39:41] <S3> yeah I've actually
wired up ATTinys before
L317[15:39:57]
<Wuerfel_21>
The question is if you render sprites to a framebuffer
L318[15:40:01] ⇦
Quits: Thutmose (Thutmose!~Patrick@host-69-59-79-123.nctv.com)
(Quit: Leaving.)
L319[15:40:36]
⇨ Joins: Thutmose
(Thutmose!~Patrick@host-69-59-79-123.nctv.com)
L320[15:41:40] <S3> yes I'm getting to
that part, my battery died
L321[15:41:42] <S3> anywyas
L322[15:42:33] <S3> Before a line is drawn
on the screen the portions of sprites in the output buffer arre
replaced with their pallette output and placed in the output buffer
as RGB sequences for the entire line.
L323[15:43:09] <S3> sprites are prepared
for copy for each frame during VBLANK
L324[15:43:23] <S3> and copied into output
buffer during HBLANK
L325[15:44:07]
<Wuerfel_21>
the video is (partially) driven by the CPU?
L326[15:44:51] <S3> the goal is to design
the video circuit so that the cpu only has to copy sprites into
memory initially, then place postion updates, etc during
runtime
L327[15:44:59] <S3> so for example, if I
wanted to make a game 9
L328[15:45:02] <S3> not sure why I
would
L329[15:45:16] <S3> then I could load all
of the sprites for a scene / area in the game into memory
L330[15:45:29] <S3> and then just tell the
circuit where / if to draw them
L331[15:46:49]
<Wuerfel_21>
ahhh, so the video circuit draws sprite lines into a buffer and
then scans that buffer out?
L332[15:47:46] <S3> that's the plan.. the
binary value of the pixel is used to fetch the address of the
pallette buffer
L333[15:48:27] <S3> and that output is
then sent to the output buffer, which is looped through by a
counter during draw time and a pixel clock, into a resistor
ladderDAC to VGA RGB
L334[15:48:37]
<Wuerfel_21>
doesn't that approach give you overlapping sprites by
default?
L336[15:49:09] <S3> but something somebody
asked me is how will you handle transparency, etc
L337[15:49:13] <S3> i.e. a font on top of
a picture
L338[15:50:36]
<Wuerfel_21>
just gate the buffers write-enable with something? I.E a palette
ram bit or a NOR of the sprite color
L339[15:51:25] <AmandaC> %choose yet more
podcasts or anime or YouTube
L340[15:51:25] <MichiBot> AmandaC:
YouTube
L341[15:51:37] <S3> possible, but there's
also the issue of, do you need to reserve a color for
transparency
L342[15:51:42] <S3> or do you use an alpha
channel
L343[15:52:15]
<Wuerfel_21>
alpha is hard, evil multiplaction, unless you use some kind of
lookup table
L345[15:53:03] <S3> so far this project
doesnt even have hw multiply
L346[15:53:33] ⇦
Quits: jackie
(jackie!~jackie@static.213-239-213-45.clients.your-server.de)
(Quit: bye o/)
L347[15:53:33] ⇦
Quits: comfix
(comfix!~comfix@static.213-239-213-45.clients.your-server.de)
(Quit: ZNC - http://znc.in)
L348[15:54:15] <S3> yeah I never even
looked into how alpha channels actually worked
L349[15:54:38]
<Wuerfel_21>
the easiest way would be to NOR the sprite pixel and gate the write
based on that. That would make color zero transparent
L350[15:55:18] <S3> I wonder if it would
be better to do pure white
L351[15:55:30] <S3> because I use black
more than I ever use pure white
L352[15:55:55]
<Wuerfel_21>
is the buffer in palette indexes or RGB?
L353[15:56:13] <S3> oh yeah
L354[15:56:14] <S3> you're right
L355[15:56:17] <S3> I forgot for a
moment
L356[15:56:29] <S3> Sorry I'm taking a DIP
class that's 100% RGB and HSI lately
L357[15:56:43] <S3> so a reserved pallette
index of 0 would work
L358[15:58:27]
⇨ Joins: jackie
(jackie!~jackie@irc.chaosfield.at)
L359[15:58:27]
zsh sets mode: +v on jackie
L360[15:58:40]
<Wuerfel_21>
another option is to use a 64k lookup sram (assuming 8bpp) that
gets fed with the sprite color, aswell as the color already in the
buffer (would be a 2-cycle operation), which would allow limited
alpha/shadows or other wacky effects
L361[15:58:59]
⇨ Joins: comfix
(comfix!~comfix@irc.chaosfield.at)
L362[16:01:13] <S3> Not sure if it's worth
being that powerful
L363[16:01:26]
⇨ Joins: Unh0ly_Tigg
(Unh0ly_Tigg!~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net)
L364[16:02:08]
<Wuerfel_21>
kindof
L365[16:02:30]
<Wuerfel_21>
lots of circuit for not that much gain
L366[16:04:09] <S3> the original plan was
12 bit DAC to VGA
L367[16:04:22] <S3> so 4 bits per
channel
L368[16:05:03] <S3> but the size of the
pallette (not the size of the pallette memory) is unrelated to
that
L369[16:05:30] <S3> I will look at our
notes but it definately wasn't 8 bit
L370[16:05:39] <S3> it was smaller
L371[16:05:53]
<Wuerfel_21>
heh, my current project (damn part lead times) has a single 3 bit
DAC
L372[16:06:12]
<Wuerfel_21>
and some of that is used for sync
L373[16:06:32] <S3> I find 12 bit color to
be rich enough to be pretty for image drawing
L374[16:06:41] <S3> it's almost as good as
16 bit color
L375[16:07:04] <S3> It's not like I can't
see the difference between two colors next to eachother in 32 bit
color models
L376[16:07:20] <S3> but across the room or
just showing image information 12 bit is way more than enough
L378[16:08:21] <S3> example
L379[16:08:42] <S3> there's a big
difference between 9 and 12 bit
L380[16:08:44]
<Wuerfel_21>
TBF, th chip im using does do NTSC modulation to get an Atari 2600
like palette
L381[16:09:10] <S3> however, the pallette
obviously will burden the quality of the image capability
L382[16:09:20] <S3> but the pallette will
save a lot of video memory
L383[16:09:29] <S3> so I thought of doing
NTSC
L384[16:09:34] <S3> but VGA is just way
easier
L385[16:09:44] <S3> and I can easily
convert from VGA to NTSC
L386[16:09:54] <S3> NTSC color is very
picky
L387[16:10:06] <S3> if your timing is just
a bit screwed up it can fuck your color burst and cause a black and
white image
L388[16:10:26] <S3> using a chip to do it
for you helps a lot
L389[16:10:33] <S3> but I was looking into
doing it by hand and I was like meh..
L390[16:10:44] <S3> instead I am doing VGA
by hand
L391[16:10:47]
<Wuerfel_21>
really, the chip just takes care of the color modulation
L392[16:10:58]
<Wuerfel_21>
the timing is all software
L393[16:12:37]
<Wuerfel_21>
(altough the video hardware stalls the cpu when writing pixels, so
the CPU is always in sync with the video output)
L394[16:12:44]
<Wuerfel_21>
a really clever chip, it is
L395[16:13:10] <S3> I am designing a DMA
circuit for my chip that runs at least about 16x faster than the
cpu does
L396[16:13:31] <S3> for example, the cpu
gets a clock cycle after 15 DMA copies
L397[16:14:00] <S3> I can clock DMA at say
16Mhz and effectively get something similar to a 1Mhz cpu clock out
of it
L398[16:14:03]
<Wuerfel_21>
thats a lot of DMA.
L399[16:14:09] <S3> right
L400[16:14:20] <S3> I take memory movement
seriously
L401[16:14:38]
<Wuerfel_21>
if you have some sort of mass storage, that could stream some
decent FMV right in there
L402[16:15:29] <S3> this is a stack
machine with a serial data / address bus. I'm working with some
other EE students trying to figure out how fast we can make the bus
and how many channels we can cram into a single wire before our
signals start having problems
L403[16:15:41] <S3> and how long we can
make the wires without problems
L404[16:16:18] <S3> the idea is that on
the cpu you configure the MMU to IO map devices hidden by DMA
channels
L405[16:16:40]
<Forecaster>
@Vexatos
L407[16:16:45]
⇨ Joins: MalkContent
(MalkContent!~MalkConte@p4FDCE9E5.dip0.t-ipconnect.de)
L408[16:16:56] <S3> the system moves
memory back and forth between IO devices while you do your CPU
stuff asyncronously
L409[16:17:07] <S3> this is trhe same for
talking to other CPUs
L410[16:17:39]
<Wuerfel_21>
so you could just put multiple CPUs on the bus and it would
work
L411[16:18:18] <S3> right, except that DMA
channels can be busy. the idea is that CPUs and end devices have a
similar circuit on them that acts sort of like a mailbox
L412[16:18:26] <S3> it's like local memory
transfer
L413[16:18:38] <S3> you put it there and
it collects it and sends it where it needs to go using DMA
L414[16:18:49] <S3> the more channels you
have the more things you can do at once.
L415[16:19:14]
<Wuerfel_21>
that is clever
L416[16:19:16] <S3> also, every cpu
circuit has its own local memory storage that is not accessible by
other CPUs
L417[16:19:23] <S3> so your working memory
is never shared.
L418[16:19:27] <S3> This poses a HUGE
problem
L419[16:19:58]
<Wuerfel_21>
is there no shared memory?
L420[16:19:59] <S3> The CPU is a stack
machine design, and I want to write a Forth for it. No shared
memory, but what if you want another CPU to have the same Forth
words?
L421[16:20:32] <S3> there is no shared
memory, EXCEPT in the sense that you could write somewhere via DMA
and have another CPU pick it up / modify it
L422[16:20:41] <S3> however I consider
that bad practice
L423[16:21:05] <S3> but the forth
dictionary paradox I call it is a problem
L425[16:21:21] <S3> Being able to modify
your own dictionary is important in Forth
L426[16:23:08] <S3> @wuerfel_21 maybe it
isn't so much of a problem. The machine isn't designed for parallel
processing of the same data
L427[16:23:11]
<Wuerfel_21>
you could dynamically allocate some shared memory for
inter-processor transfers. When one CPU wants to share something
with another, i.e. entering a new word, it allocates some memory
somehow, uploads it and notifies the others
L428[16:23:33] <S3> the idea of having
more than one cpu is to have software simeltaneously running doing
different jobs
L429[16:23:34]
<Wuerfel_21>
the others then pull it into their work ram
L430[16:23:40] <S3> without context
switching
L431[16:23:58] <S3> given that, it
wouldn't be likely for two processors to have the same
nonprimitives would it
L432[16:24:21] <S3> and also exctly what
you're saying there, in those rare occasions I could copy it
over
L433[16:25:23] <S3> the importance is to
construct algorithms to handle everything in a pull network
L434[16:25:26] <S3> not a push
network
L435[16:25:44] <S3> you do some work, drop
it in a box, DMA comes by to pick it up if some other side wants
it
L436[16:26:11]
<Wuerfel_21>
but the other side needs to know that the work is done
L437[16:26:32] <S3> with this solution I
can also add as many processors I want to the system given I will
be increasing message latency to other parts of the system
L438[16:27:14] <S3> not that I care
L439[16:27:48] <S3> yes. so there's a few
ways to note work completion, copy success, ec
L441[16:27:58] <S3> the most well used in
the world today is interrupts
L442[16:28:01] <S3> I'd say
L443[16:28:46]
<Wuerfel_21>
polling and busy waiting are popular, too
L444[16:29:29] <S3> polling wouldn't be
too bad of an option for one reason: the design of this system
takes message passing similar to the actor model
L445[16:29:32]
<Wuerfel_21>
CiP: the parallax chip i am using doesn't have interrupts. only
instructions to wait for conditions
L446[16:29:44] <S3> you can choose to do
nothing until you receive mail in your inbox
L447[16:29:54]
<Wuerfel_21>
But it has 8 tiny processors to make up for that
L448[16:29:59] <S3> if you have stuff to
ship out you put it in your outbox and go back to waiting on your
inbox
L449[16:30:32] <S3> @wuerfel_21 somebody
did tell me this idea I probably won't implement, but thought was
kind of cool
L450[16:30:36] <S3> which used
interrupts
L451[16:31:09] <S3> he mentioned if I
could find a way to detect sprite collision on a particular
"layer ID" or something if I could layer sprites, then I
could send an IRQ as a bounding box physics event
L452[16:31:17] <S3> however this machine
isnt meant for making games
L453[16:31:42] <S3> if I was making a game
console that'd be pretty handy though
L454[16:32:47]
<Wuerfel_21>
most 8 bit video hardware has that: when more than one sprite
generator puts out an opaque pixel at the same time, set flags
and/or fire interrupt
L455[16:33:12] <S3> I haven't played too
too much with them
L456[16:33:19] <S3> I've drawn stuff to
the NES PPU before
L457[16:34:31] <S3> you know if I didn't
worry about space I could use RG-58 (think thinnet) for DMA
channels to reduce crosstalk..
L458[16:35:02] <S3> I don't actually worry
about space
L459[16:35:09] <S3> I'm mounting this shit
in a server rack :P
L460[16:35:38] <S3> I have a feeling you'd
have fun with one of the most expensive parts of the computer
though
L461[16:35:42] <S3> the control
panel
L462[16:35:47]
<Wuerfel_21>
~~But does it have space for a headphone jack~~
L463[16:36:15] <S3> The control panel is
going to be similar to this
L465[16:36:22] <AmandaC> Ah, the courage
port
L466[16:36:34] <S3> you will be able to
talk directly to the local memory spaces to program the computer
manually
L467[16:37:04] <S3> the only pronblem with
this idea is when I introduced the idea of local memory per cpu how
do you handle configuring them
L468[16:37:20] <S3> originally when it was
all IO mapped it was the best idea ever
L469[16:37:51]
<Wuerfel_21>
boot rom that can talk to the panel?
L470[16:38:39] <S3> That's one option. you
know what's scary
L471[16:38:49] <S3> the original design of
the cpu was that the decoder was in RAM
L472[16:39:02] <S3> there would be this
"microcode like table"
L473[16:39:16] <S3> of instructions trhat
do absolutely nothing but move memory around, and the ALU etc was
all io mapped
L474[16:39:25] <S3> so you could sort of
create your own opcodes
L475[16:39:33] <S3> and your own decoder
to point to them
L476[16:39:45]
<Wuerfel_21>
that would be useful to have on any CPU, tbh
L477[16:39:56]
⇨ Joins: lp (lp!~lordpipe@66.109.211.167)
L478[16:40:00] <S3> there were only 3
instructions XD
L479[16:40:10] <S3> load memory, fetch
memory, and immediate
L480[16:40:17] <S3> that itself was the
stack machine
L481[16:40:50] <S3> the idea was that
using a combination of those three instructions and IO mapped
accumulators, etc you could do ANYTHING
L482[16:41:11] <S3> then make your own
opcodes that did more powerful things but it's slow
L483[16:41:18] <S3> and the execution time
of instrructions is very uhg
L485[16:41:23] <S3> inconsistent
L486[16:41:38] <S3> fortunately, stack
machine doesn't really need a pipeline or precise timing
L487[16:42:05]
<Wuerfel_21>
heh, ye olde parallax chip i use does a somewhat similiar
thing
L488[16:42:18] <S3> I see
L489[16:42:27]
<Wuerfel_21>
where each CPU has some 512 words of instruction+work RAM
L490[16:42:57]
<Wuerfel_21>
and more complex programs use bytecode interpreters
L491[16:44:11] <S3> ROM is also becoming
harder to get for use as combination logic, so I've been looking
into the idea of some form of backstage IO mapped memory bus and
using SRAM. I just wish ROM was much easier to get the way I want
it. The idea would be in the control panel you'd have an EEPROM you
could program that would configure the memory decoding and ALUs etc
the way they needed to be set as RAM on boot
L492[16:44:14] <S3> which would be a bit
slow
L493[16:44:18]
<Wuerfel_21>
and access to share memory is horribly slow
L494[16:44:43] <S3> but, maybe there's a
type of ROM out there used now I am unaware of, I just miss the old
burnable PROMs
L495[16:44:47] <S3> one use
L496[16:44:55] <S3> you'd blow fuses and
it'd be good
L497[16:45:17] <S3> EEPROMs cant be used
because they are like wicked latent
L498[16:46:00]
<Wuerfel_21>
yeah, that one is annoying
L499[16:46:35] <S3> I don't want 200ns
fetch times lol
L500[16:46:45] <S3> I need something <
10
L501[16:46:45]
<Wuerfel_21>
there are 45ns ones
L502[16:46:51] <S3> 45 is way too
slow
L503[16:46:56] <S3> here's why:
L504[16:47:08]
<Wuerfel_21>
under 10 is hard even for common SRAM
L505[16:47:11] <S3> despite more current I
can construct a full adder using only NANDs in < 45 ns
L506[16:47:28] <S3> I find 10ns SRAM all
over the place
L507[16:47:33] <S3> I don't need it to be
THAT fast but
L508[16:47:45] <S3> what happens is when
you glue the chips together it adds up
L509[16:47:48] <S3> I don't ned a 100Mhz
clock
L510[16:47:55] <S3> but some things need
to be like 12 or 16 Mhz
L511[16:48:09]
<Wuerfel_21>
the problem with using SRAM that way is getting the data in
there
L512[16:48:13] <S3> and every chio you add
makes it harder
L513[16:48:16] <S3> chip*
L514[16:48:23] <S3> right
L515[16:48:28]
<Wuerfel_21>
chio chips, yay!
L517[16:48:50] <S3> which is why I was
wondering should I have some sort of backstage address bus that is
accessible only by the control panel
L518[16:48:57] <S3> for local
configuration of IO logic
L519[16:49:00] <S3> and stuff
L520[16:49:30] <S3> I found this page on
jameco for PROM chips
L521[16:49:37]
<Wuerfel_21>
simple programmable logic?
L522[16:49:47] <S3> but the thing is, it
doesn't talk much about burning them it looked like you sent in a
punchcard to have it done
L523[16:50:48] <S3> @wuerfel_21 not sure.
I wish PLAs were still big
L524[16:51:14]
<Wuerfel_21>
or for adding and stuff, a 74181?
L525[16:51:25] <S3> PLAs are great for
decoders for memory mapped IO
L526[16:52:09] <S3> I'd rather havemy own
ALU but that's an option if it's fast enough
L527[16:52:52] <S3> oh gross
L528[16:53:01] <S3> @wuerfel_21 it looks
like this ALU is ripple carry
L529[16:53:43] <Vexatos> @Forecaster that
is super cool :I
L531[16:54:46] ⇦
Quits: MalkContent
(MalkContent!~MalkConte@p4FDCE9E5.dip0.t-ipconnect.de) (Quit:
Leaving)
L532[16:55:04] <S3> oh that's nice
L533[16:55:07] <S3> I didn't read that
part
L535[16:56:45]
<Forecaster>
@Vexatos it's next to an awesome river, it's huge, and super
beautiful
L536[17:03:07]
<Forecaster>
and really friggin long
L537[17:04:52]
<Z0idburg> I
decided to get on discord
L538[17:05:11]
<Forecaster>
welcome to the dark side!
L539[17:05:27]
<Forecaster>
%give @Z0idburg cookie
L540[17:05:27] *
MichiBot gives @Z0idburg cookie from her inventory
L541[17:06:33]
<Wuerfel_21>
Be welcomed, stranger
L542[17:06:50]
<Z0idburg>
not a stranger
L543[17:07:34]
<Z0idburg>
playin piano
L544[17:10:40]
<Z0idburg>
whyyyyyyyy
L545[17:10:43]
<Z0idburg>
whyyy must you do
L546[17:16:00] ⇦
Quits: Vexatos
(Vexatos!~Vexatos@p200300556E187E38064F7DC6B7E9FA26.dip0.t-ipconnect.de)
(Quit: Insert quantum chemistry joke here)
L547[17:18:59] ⇦
Quits: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:1948:b851:c5af:810)
(Read error: Connection reset by peer)
L548[17:19:42]
<Z0idburg>
ok. Enough piano playing on the oc discord voice channel
L549[17:19:42]
<Z0idburg>
lol
L550[17:22:23]
⇨ Joins: Dark
(Dark!~MrDark@2607:fcc8:d48b:eb00:50c9:fd83:3452:594)
L552[18:21:29] <Arcan> is 30 Seconds to
Mars any good
L553[18:32:13] <Corded> * <Mimiru>
shrugs I like 'em
L554[18:33:11] ⇦
Quits: Inari (Inari!~Pinkishu@p4FC1EE65.dip0.t-ipconnect.de) (Quit:
'The Uncertainty Principle exists only in the net
split')
L555[18:36:44] <Arcan> ok i'll try some of
their stuff
L556[19:43:35] ⇦
Quits: cloakable
(cloakable!~cloakable@cpc87175-aztw31-2-0-cust202.18-1.cable.virginm.net)
(Remote host closed the connection)
L557[19:43:55]
⇨ Joins: cloakable
(cloakable!~cloakable@cpc87175-aztw31-2-0-cust202.18-1.cable.virginm.net)
L558[20:59:23] <AmandaC> %tell inari I
regret to inform you I've died of an OD of wholesomeness
L559[20:59:23] <MichiBot> AmandaC: inari
will be notified of this message when next seen.
L560[21:43:42] <Temia> rip Amanda
L561[22:04:13] ⇦
Quits: MajGenRelativity
(MajGenRelativity!uid288574@id-288574.hathersage.irccloud.com)
(Quit: Connection closed for inactivity)
L562[23:11:45] ⇦
Quits: Cervator
(Cervator!~Thunderbi@2601:4c1:4001:1d5d:a0b1:4ba1:3f2:d50e) (Remote
host closed the connection)