<<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)
L11[00:54:25] <Izaya> o/
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
L43[07:23:17] <Inari> :p
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"
L73[08:40:40] <Arcan> oh
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
L97[08:55:15] <MichiBot> Raiko: Here's my inventory: http://michibot.pc-logix.com/inventory
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.
L103[09:17:29] <Inari> https://twitter.com/itanimeirl/status/984506059116052480
L104[09:17:30] <MichiBot> Thu Apr 12 13:58:30 CDT 2018 @itanimeirl: So, apparently Indonesian Ministry of Education decided to put this into the national exam https://t.co/zSU4Vqg0tL https://t.co/yHpG1hU5uf
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
L121[09:27:13] <Temia> .
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!
L127[09:27:50] <Inari> http://ami.animecharactersdatabase.com/uploads/chars/5688-995071308.jpg
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))
L207[11:46:51] <Inari> Temia: https://twitter.com/CuteAnimeGirls_/status/984834053730795520
L208[11:46:51] <MichiBot> Fri Apr 13 11:41:50 CDT 2018 @CuteAnimeGirls_: https://t.co/KC7b3E0MGV
L209[11:48:51] <Wuerfel_21> http://tinyurl.com/ycx6hox8
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
L245[13:13:29] <Inari> https://twitter.com/_Eminya/status/984741105643151360
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)
L260[14:23:49] <Inari> https://i.pinimg.com/originals/31/df/8d/31df8db738f8be36471cfc586778e9e0.png Actually the best :P She's part of my favourite anime couple
L261[14:32:59] <S3> wut
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
L265[14:33:36] <Inari> https://www.youtube.com/watch?v=7_AMG66zAsE best scene of best couple :P (spoilers, obviosuly)
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
L310[15:38:31] <Wuerfel_21> (BTW, here is some ATTiny goodness: https://www.youtube.com/watch?v=d4-kF-MkP0A )
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?
L335[15:48:55] <S3> yes
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
L344[15:52:41] <S3> hmm
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
L377[16:08:20] <S3> https://upload.wikimedia.org/wikipedia/commons/5/56/RGB_12bits_palette_sample_image.png
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
L406[16:16:41] <Forecaster> http://tinyurl.com/yamh6w2a
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
L424[16:21:09] <Inari> https://pbs.twimg.com/media/DasUaGqWkAEiqiq.jpg:large so cute
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
L440[16:27:49] <S3> etc*
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
L464[16:36:16] <S3> http://www.altairkit.com/images/061119-completed_altair_1974.jpg
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
L484[16:41:20] <S3> uh*
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!
L516[16:48:32] <S3> lol
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
L530[16:54:13] <Wuerfel_21> Code Block pastebined https://paste.pc-logix.com/xupoyizeqo
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
L534[16:55:07] <S3> :D
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)
L551[18:10:21] <S3> NO. http://i0.kym-cdn.com/entries/icons/original/000/007/423/RageFace.jpg
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)
<<Prev Next>> Scroll to Top