<Marex> azonenberg: Altera used to use "FPGA from Altera, FPGA from Vendor A (usually was xilinx) and FPGA from Vendor B (unknown, microsemi maybe)"
digshadow1 has quit [Quit: Leaving.]
cr1901_modern1 is now known as cr1901_modern
digshadow has joined ##openfpga
kuldeep has quit [Ping timeout: 244 seconds]
kuldeep has joined ##openfpga
mzpx has quit [Ping timeout: 248 seconds]
mzpx has joined ##openfpga
mzpx has quit [Read error: Connection reset by peer]
<azonenberg> marex: yeah but if you say A and X that makes it pretty obvious :p
<azonenberg> pie_: and yes, i mean silicon vias
<azonenberg> this is a via programmed mux in the coolrunner-2 routing fabric
<azonenberg> switch box configs are slightly different for each row
<azonenberg> (ignore the microscopic dirt particles lol)
<azonenberg> vias are the bright white dots
<azonenberg> They're about 300 nm across
<pie_> azonenberg, neat
digshadow has quit [Quit: Leaving.]
<pie_> how do you get vias by doing a single mask whatever?
<azonenberg> Given a wafer with all of the underlying logic
<azonenberg> you'd spin-coat photoresist just like doing a homebrewed PCB
<azonenberg> then either use an electron beam to write directly onto the photoresist, or make a single chrome-on-glass mask and shine UV through that
<azonenberg> for small and larger production respectively
<azonenberg> Then develop it, stick it in a plasma etcher, and etch holes where you want the vias
<azonenberg> then electroplate copper, sputter-coat tungsten, or whatever your process calls for
<azonenberg> polish off any extra
<pie_> oh wait so that drills through the lower layers as well. makes sense.
<azonenberg> Well you drill through the insulator
<azonenberg> until you hit the next metal layer down
<azonenberg> Typically in ICs, all vias are blind/buried
<azonenberg> and only go down one layer
<azonenberg> (they're also tiny, the diameter of a wire, without an annular ring)
<azonenberg> then if you need to go down several layers you'd stack a couple
<azonenberg> They're also normally one side for the whole chip, everywhere
<pie_> but if youre ding it with something like this you cant really do buried because you have to do this at the end
<azonenberg> if you need more current capacity you put several in a grid
<azonenberg> yes you do
<azonenberg> you do it multiple times, with each layer
<azonenberg> Typically you have one photomask for each metal layer and one for each via layer
<azonenberg> then a bunch for the transistors
<azonenberg> one for the bond pads on the top layer
<pie_> i mean for these mask programmed fpgas, but then i was making an incorrect assumption that they make the base fpga and then add the mask programming on top
<azonenberg> They make the transistor and gate layer
<azonenberg> Then add the user programming to the mandatory power/ground etc vias
<azonenberg> then add standard interconnect on top
<azonenberg> Except for that one spot, you can do the same processing to all customer's wafers
<azonenberg> Doing all of the transistor formation ahead of time saves lead time, you can have stocks of ready-to-go wafers
<azonenberg> then when an order comes in just drop their mask in then do the interconnect
<azonenberg> I'm not sure if the exact layer they do the programming is known
<azonenberg> personally, i'd probably have it be in m2-m3 or even m1-m2
<azonenberg> But probably 2-3
<azonenberg> m1-m2 vias are likely all used for in-cell stuff connecting gates together
<azonenberg> then the higher you go, the harder it is to do fine control of routing and such
<pie_> so how long until you write a textbook? :P
<pie_> but i jest
<azonenberg> pie_: i taught a class on silicon RE, does that count?
<azonenberg> :p
<pie_> yeah i know its why i brought it up :PP
<azonenberg> lol
<pie_> i just wish i had time to look through it already :I
<pie_> anyway time for some math before bed
<pie_> azonenberg, on that note, you ever done any research on whether there are any safer chemicals for decapping? or is that those resins or what are just that strongly resistant?
<azonenberg> You basically have to use a strong oxidizer
<azonenberg> there's not any real way around it
<pie_> makes sense
<azonenberg> it's glass and epoxy
<azonenberg> they're designed to protect the chip
<pie_> yeah
<pointfree> azonenberg: great! I was going to ask for the materials to that course and there it is.
<pie_> im not up to par on my materials science, that fits in the category of ceramics right?
<azonenberg> epoxy is polymers
<azonenberg> the glass is pretty much considered inert during decap
<pie_> ah
<azonenberg> you just eat the matrix around it
<azonenberg> and it washes off in the solvent
<pie_> yeah thats much better than trying to go for the glass i imagine...
<azonenberg> well problem is
<azonenberg> anything that ate the glass in the package would also eat the glass insulator between chip layers
<azonenberg> :p
<pie_> oh
<pie_> well i figured thered be something like that bu i was thinking more along the lines of eating the metal xP
<azonenberg> and as nasty as strong oxidizers are
<azonenberg> they're nothing compared to fluorine-based etchants
<azonenberg> Which is pretty much what you have to use to eat glass and other oxides
<azonenberg> The only way to dissolve an oxide is to use a stronger oxidizer than oxygen
<azonenberg> at least SiO2, you can get lucky in some cases with weaker bonds
<azonenberg> And if you know anything about fluorine or HF, well, they're not exactly friendly chemicals
<pie_> well, ive heard enough from what little ive read about decapping :P
<azonenberg> If you spill HNO3 on you, you get a bad burn
<pie_> which is the reason im asking
<azonenberg> If you spill hot H2SO4 on you, you get a worse burn
<azonenberg> If you spill HF on you, you don't even feel any pain
<azonenberg> there's not enough H+ to damage the skin
<azonenberg> All of the F- ions diffuse through your skin
<azonenberg> Then you meet an agonizing end as your bones turn into calcium fluoride
<azonenberg> and all of the Ca+ ions that your nerves need to function get locked up in solid form
digshadow has joined ##openfpga
<azonenberg> And by the time you feel it, the pain, it's too late to effectively treat
<azonenberg> ask digshadow about his hazmat suit some day if you want :p
<pie_> oh my xD
<pie_> @ hazmat suit
<azonenberg> digshadow: you have that zombie apocalypse pic handy?
<azonenberg> With you in the hazmat suit and machete?
<pie_> haha
<azonenberg> pie_: dig is quite the character
<rqou> one of my professors had HF spilled on him once
<rqou> he lived :P
<azonenberg> rqou: yes it's not universally fatal
<pie_> >spilled
<azonenberg> But it was probably treated quickly
<azonenberg> low concentration
<azonenberg> a small body area
<azonenberg> or all of the above
<rqou> mostly all of the above :P
<pie_> oh well then
<rqou> he said that he immediately smeared the emergency calcium gluconate on it
<rqou> and then went to the university health clinic
<rqou> which made him wait for hours :P
<azonenberg> Lol i'd have gone straight to the ER
<rqou> by the time he got to the doctor
<rqou> the doctor said "several hours ago? you'll be fine" :P
<azonenberg> Lol
<azonenberg> Yeah if its low concentration and you treat it quickly its not likely to be a big problem
<pie_> :I
<azonenberg> This is from back in fall 2010 when me and dig were roommates
<azonenberg> Here he is making dinner
<pie_> thats great lol
<pie_> at first i thought that was a steel plate
<pie_> doin it rite
<azonenberg> here's another shot from a different meal (this was not a one-time deal)
<pie_> permissions
<azonenberg> oops sec
<azonenberg> Fixed
<azonenberg> digshadow: do you still have that gorilla glue shirt btw?
<digshadow> azonenberg: the only time I went overboard was probably on the "whats a shank" question
<azonenberg> it's like the perfect fit for you
<digshadow> actually
<digshadow> I have an *assortment* of gorilla glue t-shirts
<digshadow> and yes, I still have some
<digshadow> but some have been melted by acid
<pie_> azonenberg, cooking meat is dangerous yknow
<azonenberg> cooking meat *with onions*
<azonenberg> or was that for grease spatter? i forget
<pie_> oh
<azonenberg> digshadow: i love this pic btw http://thanatos.virtual.antikernel.net/unlisted/S7309711.JPG
<azonenberg> now that's somebody you dont want to run into in a dark alley...
<rqou> meanwhile this is our apartment making (storing) dinner: https://goo.gl/photos/RQERtKqhtqR8NjFj7 :P
<rqou> (yeah, we're fixing it)
uwe_ has quit [Ping timeout: 256 seconds]
<azonenberg> rqou: you need a furnace
<rqou> why?
talsit has left ##openfpga [##openfpga]
uwe_ has joined ##openfpga
<azonenberg> pie_: yeah thats the pic
<pie_> xD
<azonenberg> pie_: So those pics with the saw
<azonenberg> are from the time we found an old laptop in the dumpster
<digshadow> rqou: we have a large thermal vac chamber at work
<azonenberg> And decided to give it a proper send-off
<digshadow> I keep trying to get them to let me make a turkey in it
<pie_> saw to the face
<azonenberg> there's a video clip somewhere of him grinning maniacally while sawing into it
<pie_> digshadow, wouldnt that end up a bit dry?
<azonenberg> at one point he even has a conversatoin with the thing
<rqou> what i was trying to show in the pic was that our fridge is way way too warm
<azonenberg> rqou: ... oh
<azonenberg> i thought that was house temp, lol
<digshadow> pie_: eh we don't have to use the vacuum bit...but jerky maybe?
<azonenberg> didnt realize the TC went into the fridge
<digshadow> it would allow a precise cooking profile
<digshadow> since its computer controlled
<rqou> fridge should be between 0 to 4 degrees C
<azonenberg> pie_: "Hey Dan, how are you today? I'd like you to meet a friend of mine... Mr. Sawzall! *revs motor* "
<pie_> digshadow, nothing like a scientifically cooked turkey
<digshadow> azonenberg: yeah I cut the bit of the video with the scared housemates for the sake of brevity
<pie_> or a scintifically anything for that matter
<azonenberg> digshadow: lol
<digshadow> but I still have the raw footage
<pie_> the laptop never saw it coming
<rqou> azonenberg: i'm in CA, it can never get this cold :P
<azonenberg> rqou: um... you sure?
<rqou> ok, not in the bay area
<azonenberg> :P
<digshadow> yeah CA is a big place
<digshadow> north CA gets reasonably cold
<rqou> but yeah, i put thermocouples in our fridges because i was wondering why my milk spoiled so quickly :P
<digshadow> rqou: I just discovered why the milk in our fridge was spoiled
<digshadow> but it was mostly due to the housemate moving out months ago
<digshadow> :P
<azonenberg> lol
<rqou> lol
<rqou> anyways, you know you live with engineers if your fridges look like this: https://goo.gl/photos/qkpHRBkFtm8ioQKM6
<digshadow> ha
<pie_> is it full of computers with bad cooling?
<azonenberg> rqou: now if you lived with industrial engineering folks
<azonenberg> you'd have allen-bradley HMIs on the front
<azonenberg> and a rack of PLCs in the back
<azonenberg> and fancy graphs
<azonenberg> exterior buttons to adjust temp up/down
<azonenberg> custom PID ladder logic running the thermostats...
<rqou> we have a PID controller, it just involves me looking at the thermometer and saying "hmm not cold enough" and manually turning a knob :P
<azonenberg> lool
<azonenberg> thats second-order control though right?
<azonenberg> on top of the bimetallic strip controller
<azonenberg> Or are you overriding that entirely :P
<rqou> hmm i guess you're right :P
<pie_> we just covered laplace transforms in math so i can finally get started on control theory :P
<pie_> which seems to like it much
<rqou> i mean, you can solve the differential equations manually if you really want :P
<pie_> :P
<pie_> ok i just hung firefox with the shadertoy browse page again
<rqou> for some reason firefox seems to have tons of shader-related hangs
<rqou> or GPU-related hangs
<pie_> probably just overheated my gpu too
<pie_> well i dont have a fancy graphics card just whatever is built in to this thing
<rqou> i have a good GPU and I get hangs/slowdowns occasionally
<rqou> i once got it to the point where no media files could play until i restarted the browser
<rqou> (granted the browser had been open for around a month at that point)
<rqou> i was mentioning this about a day ago, but mobile firefox (android) is even worse at this
<pie_> heh yeah i get some strange behaviour sometimes
<rqou> just view tumblr in android firefox and the browser will become unusable after a while
<pie_> i dont even know how to describe it..rendering just doesnt happen or something, the entire window turns black at some point and with some fiddling you may be able to get things to render again but at some point it seems to become irreversible and you gotta restart
<rqou> somehow that particular combination of infiniscrolling and media playing just breaks firefox
<pie_> maybe some kind of memory pressure of video buffer insanity or idk
<rqou> on android? yeah that's exactly what i get
<pie_> no on windows
<rqou> i get that mostly on android
<rqou> it's as if it ran out of gpu buffers or something like that
<pie_> also firefox gets really really slow at about 600 tabs
<pie_> (not all loaded)
<rqou> android firefox gets really slow at about 20 tabs
<rqou> i'm really disappointed
<rqou> i was doing more than that on a desktop with less ram
<pie_> i dont know why just having a list of a lot of tabs causes such slowdown
<pie_> i mean to be fair organizing your life with tabs isnt a common use case
<pie_> (not that i do that on purpose)
<azonenberg> pie_: yeah i have a loooot of tabs
<azonenberg> (not all loaded)
<azonenberg> i try to clean them periodically
<azonenberg> they're split across multiple browser windows and mulitiple VMs too
<pie_> firefox should cater better to us crazy folk is theres apparently so may of us ;PP
<azonenberg> lol
<azonenberg> This reminds me, i'm long overdue for a cleanup
<azonenberg> let's see, in my general-browsing VM...
<azonenberg> 112 in first window
<azonenberg> 96 in second
<pie_> do you use qubes or what?
<azonenberg> 145 in third
<azonenberg> 24 in fourth
<azonenberg> no, vmware but similar use case
<azonenberg> So that's 377 total
<pie_> psh. weak.
<pie_> :P
<azonenberg> Then the social media VM doesnt have a tab counter addon and i'm not in the mood to tally by hand
<azonenberg> online banking only has like 2-3
<rqou> azonenberg is lame and uses the _proprietary_ vmware workstation :P
<azonenberg> LAN browsing is closed entirely
<rqou> it doesn't respect his freedoms :P
<azonenberg> rqou: you show me a f/oss hypervisor with good USB and 3D accel and i'll use it
<azonenberg> in a heartbeat
<rqou> i use qemu/kvm with pcie passthrough for 3D accel and accept the flaky USB
* pie_ waits for the openbsd vm for any OS that will never come
<rqou> the USB works well enough to run a usb sound card :P
<azonenberg> i have had virtualbox brick my pickit3
<pie_> so yeah i was going to read some math then sleep :P
<azonenberg> had to ICSP it with a pickit2 to recover
<azonenberg> sooo... :p
<rqou> with qemu/kvm you can pass through the entire USB host controller
<pie_> finally got myself a soldering iron now i just need something to practice on...
<rqou> that works better except you can't share devices with the host
<rqou> somebody somewhere on the internet had a hack where the pass one of the xHCI/EHCI host controllers into a VM and keep the other in the host
<pie_> you could reroute usb to network and reroute network to usb
<rqou> then they use some special setpci command to toggle devices between the xHCI and EHCI mode
<rqou> anyways, I was under the impression that one of the reasons xHCI was invented was to make VM use cases suck less
<rqou> i guess people haven't gotten around to fixing the code?
<azonenberg> Welp that's progress
<azonenberg> Got my first browser window from 112 tabs down to 24
<azonenberg> 22*
<mithro> After there any cplds supported with open tool chains?
<azonenberg> mithro: as of now greenpak4 is fairly well supported by our tools
<azonenberg> Most of the reverse engineering for coolrunner-2 (the smallest device in the family, at least) is done however there's currently no HDL support
<azonenberg> but that's next in line
<azonenberg> cyrozap and pointfree are making good progress REing PSoC UDBs as well
<mithro> I'm mainly after cheap I think, otherwise I can just go that lattice FPGA?
<azonenberg> mithro: greenpak4 devices are down to 35 cents in volume
<azonenberg> 50 in smaller quantity
<azonenberg> but they're one-time programmable
<azonenberg> They do support SRAM programming for development but that has to be in a socket on the devkit, not in-circuit via jtag
<mithro> Definately need reprogramming
<azonenberg> In that case then there's nothing supported yet
<azonenberg> CoolRunner-2 is on the roadmap
<azonenberg> this is how far we got so far
<mithro> Thanks, I'll take a look shortly
<azonenberg> https://github.com/azonenberg/antikernel/tree/master/legacy-trunk/src/crowbar is the source for the library i was using in the demo
<azonenberg> It needs a lot of cleanup and rewriting to get where i want
<azonenberg> But that's the state of the project right now
<azonenberg> I tabled it last year when I graduated because I had reached the point it was stupid to go any further without HDL support
<azonenberg> Yosys did not, at the time, support synthesis to PLA fabric, only LUT
<azonenberg> That has since changed
<azonenberg> so full support is now on the TODO
<mithro> I'm assuming that your working on this in your spare time?
<azonenberg> Yeah
<azonenberg> Among other projects :p
<mithro> I have a talk a lightning talk that I give called "Tim has to many projects" :-P
<azonenberg> And this is on top of work and volunteering with the local wilderness search-and-rescue team lol
<mithro> Any chance you are coming to 33c3?
<azonenberg> When is that again?
<mithro> I see there is an openfpga assembly
<rqou> iirc right after christmas?
<rqou> i will be there
<mithro> Between Xmas and new year
<azonenberg> mithro: zero :p
<mithro> But tickets are hard to come by
<azonenberg> I'm on >25% travel for Q4 2016
<rqou> yeah, idk what happened
<azonenberg> i'm about to fly out for 3 weeks of on-site work at a client office in hong kong
<rqou> i went two years ago and got tickets at the door
<azonenberg> then hosting for xmas
<rqou> this year people in this chan warned me that tickets were hard to get
<azonenberg> sooo there's no way i am going to want to do anythign but sit back and code after that's over :p
<rqou> and someone here set up an openfpga assembly and got me an early ticket
<mithro> More people want to come and the conference centre can't get any cover :-P
<mithro> I'm speaking on HDMI on FPGAs
<rqou> does it involve a particular 40x40 matrix? :P
<pie_> oooh 33c3? ill be there
<pie_> (hopefully)
<azonenberg> weeell, this is interesting
<azonenberg> i seem to have encountered a strange deadlock state
<mithro> rqou: I'm pretty sure your name is on my list of people to meet :-P
<azonenberg> in which the server is blocked waiting for a client to send dependency-scan results to it
<azonenberg> but the client is waiting for the server to respond with the hashes of various files
<azonenberg> Problem is the server has no idea that it's supposed to be responding
<azonenberg> it's pretty reproducible on my current test setup
<azonenberg> somewhere, something didnt go right :p
<rqou> hmm i just noticed that "that 40x40 matrix" is still easily found on google
<mithro> rqou: not sure what you are referring to?
<rqou> so much for takedowns or whatever :P
<mithro> Oh you means hdcp
<rqou> yeah, it used a threshold secret sharing scheme
<rqou> and somebody went through the effort and broke it
<mithro> No, bunnie has that one covered at a c3 a long time ago
<rqou> right, i remember that
<rqou> very interesting hack
<azonenberg> If this is the one i am thinking of
<azonenberg> the demo was hilarious
<azonenberg> "It's illegal to decrypt the content... so we're going to take an overlay, ENCRYPT it, and mux it in with the existing ciphertext"
<rqou> yeah, that one
<azonenberg> thus demonstrating the ability to decrypt content without ever actually doing it
<mithro> That talk is actually one of the reasons my project exists
<pie_> mithro, whats your project
<mithro> hdmi2usb.tv - Open source hardware + firmware for an FPGA based video capture system for recording user groups and conferences
* cr1901_modern doesn't get why the demo's hilarious lol
<rqou> mithro: oh you're behind that project
<rqou> i forgot, does it do 1080p60?
<mithro> rqou: At the moment, no
<mithro> rqou: 1080p30 (or 720p60) on the HDMI ports at the moment (in theory 4k on the DisplayPort ports)
<rqou> why does it seem like 1080p60 eludes all the F/OSS projects?
<rqou> it shouldn't be that hard
<cr1901_modern> Educated guess- RAM speed
<azonenberg> rqou: IO speed
<azonenberg> most cheaper FPGAs can only hit ~1 Gbps on differential IOs
<mithro> rqou: The transceivers on the spartan-6 is only "spec" to ~1300 Mbit/s
<azonenberg> Which isnt enough to hit 1080p60
<azonenberg> 1080p30, 1080i60, 720p60 are all in range
<rqou> oh right, s6 is just barely not fast enough
<eric_j_> you have to play dirty tricks to get it on the commonly used fpga's
<rqou> artix7 should be able to do it iirc?
<azonenberg> i dont know
<mithro> If I stop getting distracted, I actually think I can get 1080p60 to work
<mithro> rqou: Yeah, Artix-7 works fine
<azonenberg> personally i consider HDMI a massive pain in the butt
<azonenberg> i prefer displayport
<azonenberg> if i were to implement my own video interface
<rqou> there's a guy who overlocked an s6 to do 1080p60
<cr1901_modern> I prefer VGA :P
<mithro> NeTV2 is Artix-7 based
<azonenberg> You can do that with a GTP
<rqou> i've been thinking of building a "very azonenberg-esque" video capture card that's just HDMI/DP on one end and 10GbE on the other :P
<cr1901_modern> VGA is a very simple interface to get up and running. Definitely no problems at all debugging it.
<azonenberg> rqou: lol would be easy enough to build
<azonenberg> cr1901_modern: yes but you need ADCs and DACs
<azonenberg> or masses of passives to bitbang one
<rqou> R2R DAC :P
<mithro> rqou: He also has done the 1080p60 on the Artix-7 - http://hamsterworks.co.nz/mediawiki/index.php/Artix_7_1080p_passthrough
<azonenberg> ^ massives of passives
<azonenberg> :P
<azonenberg> masses*
<azonenberg> displayport can be done with nice high resolution and clean signals
<rqou> mithro: yeah i was thinking that project
<azonenberg> using only the GTP
<mithro> And did a DisplayPort on our Opsis board - http://hamsterworks.co.nz/mediawiki/index.php/DisplayPort
<cr1901_modern> azonenberg: I might've just said that I like VGA to elicit a reaction :)
<rqou> i've also been considering doing an analog video capture thingy
<azonenberg> i dont like analog anything
<azonenberg> :p
<cr1901_modern> ... oh... :(
<rqou> that's just analog -> ADC -> FPGA -> 10GbE -> CUDA/OpenCL NTSC/PAL decode
<mithro> rqou: We have a VGA capture board which I've been meaning to finish
<rqou> i wanted to build a "NTSC/PAL/240p/other stupid crap" capture card
<rqou> that doesn't have infinity billion seconds of latency
<rqou> and doesn't crap itself upon being connected to e.g. a NES
<mithro> rqou: You see our Opsis board? https://www.crowdsupply.com/numato-lab/opsis
<azonenberg> cr1901_modern: as far as i'm concerned analog is a messy awkwardness that we have to live with due to digital systems not being able to exist in a vacuum
<rqou> mithro: i have seen it yes
<rqou> i wasn't too happy because it was s6 :P
<mithro> rqou: Yeah - it also came out too expensive
<rqou> azonenberg: but NTSC is great practice for learning about controls and signal processing :P
<azonenberg> rqou: If it was practical to do 4Kp60 with NTSC-esque analog video economically and reliably
<azonenberg> i migth be interested
<cr1901_modern> It's a pain in the ass, and the best site for info on it is so horrifically laid out that I just ask someone else all my NTSC questions.
<rqou> NTSC can't work, but it should be theoretically possible to do 4Kp60 over VGA
<mithro> What in the world would be able to receive it
<cr1901_modern> NTSC is limited to ~250 scanlines, but the horizontal resolution is theoretically infinite anyway lol
<azonenberg> rqou: well the other thing is
<azonenberg> all modern displays are digital in the end anyway
<azonenberg> why go from digital to analog to digital?
<rqou> that's true
<rqou> although modern displays don't expose control signals like RAS/CAS so you can't do too many crazy hacks :P
<azonenberg> Yes it would be nice if you could do regional refresh
<azonenberg> i'd love if they could just memory map the framebuffer
<rqou> yeah that's what i had in mind
<azonenberg> and you could have a nice slow bitbanged interface to draw a little status text
<rqou> (regional refresh)
<azonenberg> Or update a small region at 200+ Hz
<azonenberg> with a cheap MCU
<azonenberg> as long as you weren't doing full motio nvideo
<cr1901_modern> "and doesn't crap itself upon being connected to e.g. a NES" Yea, have fun with that. None of the consoles output to-spec NTSC, but NES is the worst since it's done digitally lol
<cr1901_modern> Though I agree we need *something* besides framemeister for consoles
<rqou> yeah, i don't get it
<rqou> 240p upscaling shouldn't be that hard
<rqou> also, iirc the C64 has a video out that is about as ugly as the NES
<cr1901_modern> Someone (I no longer talk to, so I can't ask) explained it to me once. I'll see if I can find the log.
<rqou> what i recall is
<rqou> it internally generates a really fast clock ~20MHz
<cr1901_modern> Short answer is that the consoles strip parts of NTSC out that analog TVs tolerate, but other equipment doesn't like
<rqou> which is used to create several square waves that are much slower and at different phases
<rqou> and different colors are just generated by selecting one of them with a mux
<cr1901_modern> Correct
<rqou> and also attenuating it various amounts
<rqou> it also doesn't output the half-scanline needed for proper interlacing
<rqou> it's pretty clever how minimal it is though
<rqou> iirc there's a modern implementation of a similar video output circuitry in the parallax propeller
<cr1901_modern> THAT wouldn't surprise me one bit :P
<eric_j_> the horizonal scan rate:color reference ratio is non-standard
<rqou> that too :P
<cr1901_modern> I don't know what that means lol
<rqou> somehow the phases of the color signals and the timing of pixels is nonstandard in a way that causes color bleed
maaku has quit [Quit: No Ping reply in 180 seconds.]
<eric_j_> the phase of the color subcarrier is supposed to vary by 50% between consecutive lines in each field
<eric_j_> the NES varies it by 33% i believe
<rqou> only in PAL i believe?
<rqou> i thought NTSC doesn't change the phase of the color subcarrier?
<rqou> the PAL NES seems to in general have more hacks than the NTSC one
<rqou> e.g. iirc the PAL NES has sprite rendering forced on during vblank
<cr1901_modern> How does that relate to "horizonal scan rate:color reference" *ratio*?
<eric_j_> both NTSC and PAL do it
maaku has joined ##openfpga
<eric_j_> but yeah, the NTSC was definitely designed with NTSC in mind, not PAL
<cr1901_modern> I would hope so :P
<rqou> the NES had a hack where sprite data is stored in DRAM, but there was no dedicated refresh circuitry
<rqou> the DRAM would be refreshed as the PPU accessed it
<eric_j_> if you vary the color phase by 0% from line-to-line, then you have the Apple II's video output, which has the worst color problems of them all
<rqou> but this hack doesn't work for PAL
<rqou> because the vblank time is longer and the capacitors discharged more :P
<cr1901_modern> I'm just wondering why it's called a ratio
<eric_j_> cr1901_modern: by spec, it should have 227.5 cycles of color reference per line
<eric_j_> yeah, it wasn't fully static. old nmos stuff tended to use shortcuts like that
<eric_j_> old systems played fast and loose and put 227, 228, 227.3333, basically whatever they want and they got away with it because the analog circuitry didn't really care
<cr1901_modern> 227.5 cycles at 3.57Mhz doesn't seem like it's enough to be a whole line o.0; But it's been 1.5 years since I last looked at this stuff
<eric_j_> yeah, it's really not a lot! that's how cramped the color encoding bandwidth really was
<eric_j_> now if you have a properly interlaced display, then there's an extra half-line in there, so the relative color phase varies by 25% from field-to-field. which improves things, but using 240p defeats that obviously
<cr1901_modern> Why does varying the phase help anyway?
<eric_j_> the color horizontal resolution is far lower than the luminance resolution, as you noted.. 227.5 cycles per line, so that amounts to a horizonal resolution of only 160-170 pixels or so
* azonenberg thinks most video protocols, especially analog, are terrible
<azonenberg> Just do RGB24 digital everywhere :p
<azonenberg> We have the bandwidth now
<azonenberg> there's no point in cheating anymore
<eric_j_> so when the system tries to transmit luminance information at a higher resolution than that, say 256 or 320 pixels per line, it "runs" into the color subcarrier area and gets interpreted as color informaiton (color fringing)
<cr1901_modern> Right, this is how the Apple II bullshit works
<cr1901_modern> How does varying the phase save you from that?
<cr1901_modern> azonenberg: You'd understand if you liked old stuff :P.
* cr1901_modern puts on rose-tinted Nostalgia Googles
<azonenberg> cr1901_modern: i dont find blurry low-res analog video at all attractive
<azonenberg> I also wish movies would stop with that 24 FPS bs
<azonenberg> 4kp60 all the way
<eric_j_> so in the Apple II, if you tried to draw a white vertical line at a certain offset, one pixel wide, it would be a colored line
<azonenberg> i play enough games that i'm used to 60 FPS constantly
<eric_j_> that's because that horizontal offset has the same relative phase to the color subcarrier
<azonenberg> I can see jittering in movies all the time, especially wide tracking shots
<azonenberg> and it drives me nuts
<azonenberg> we have the technology to do higher framerates, and people are intentionally not using it
<eric_j_> but if the subcarrier varied by 50% each line, then every other line would automatically display as the complementary color
<eric_j_> so instead of a solid purple line, you would get purple/green/purple/green/purple/green...
maaku has quit [Quit: No Ping reply in 180 seconds.]
<rqou> azonenberg: yeah i don't really get 24fps either
<cr1901_modern> Makes sense. So in the context of the NES, how does this help you? If you have a green drawing 2 pixels long, you do green w/ 0 phase offset on one line
<cr1901_modern> and green w/ 50% phase offset on the next?
<rqou> a few days ago my high school friends decided to watch the harry potter spinoff movie (fantastic beasts) and the 24fps motion blur was way way too obvious
<rqou> movie wasn't too good btw :P
maaku has joined ##openfpga
<azonenberg> "is better than the standard 24 fps and is felt "weird" only to people who are not used to watching HFR content. Some even consider the "stuttery" feel of the 24 frames per second format a bigger annoyance than the "soap opera" effect and prefer HFR over the classic 24 fps format"
<azonenberg> yes, this x100
<eric_j_> cr1901_modern: that works because (unlike in the Apple II) there is no need to have "green" associated with a particular horizontal coordinate. the color generator is separate from the video addressing
<rqou> which is interesting because i've in the past never consistently gotten 60fps in the vidya
<azonenberg> rqou: doesnt matter how fast it is, even 30 is better than 24
<rqou> yeah, my vidya used to be around 30fps
<azonenberg> "Film critics have noted that the much sharper image looks akin to video games, HDTV, live theater or a cheap home movie"
<cr1901_modern> eric_j_: that's because that horizontal offset has the same relative phase to the color subcarrier. <-- can we continue this some other time? My brain is failing me tonight. I'm sorry :(
<azonenberg> So you're saying having your movie look worse than live theater is a good thing? :p
<eric_j_> cr1901_modern, yeah just remind me
<cr1901_modern> But the above line, I'll need elaboration on
<cr1901_modern> tyvm
<cr1901_modern> My favorite game is 20fps, and it's a very enjoyable experience. So 60fps. is. not. everything.
* cr1901_modern takes off Nostalgia goggles
<azonenberg> cr1901_modern: you can play solitaire at 2 FPS
<azonenberg> but most movies have, well, motion in them :p
<azonenberg> My hope is that as the older generation stops being involved in film production/criticism
<azonenberg> people who grew up on video games will demand higher framerates
<cr1901_modern> We do not need 60 FPS police. Bad enough a certain game critic sicced his fans to downvote a bunch of 30fps games
<cr1901_modern> b/c well, they were 30fps.
<cr1901_modern> azonenberg: If you want higher frame rates, that's great! I just don't see them as necessary for a satisfactory gaming experience (exception: VR)
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined ##openfpga
<rqou> hmm i've tried my housemate's VR setup and I don't seem to be all that sensitive to lower FPS
<rqou> i definitely notice it
<rqou> but it's not like the people that joke that they need to reach for the puke bucket the instant the FPS drops :P
<cr1901_modern> I can play Virtual Boy for > hr without needing a break. I almost never do tho
<rqou> real Virtual Boy or emulated on 3DS? :P
<cr1901_modern> Real, and this would be the part where I show a picture if imgur wasn't out to lunch
<rqou> wow somebody actually built a flashcart for virtual boy
<cr1901_modern> Yes, I have it
<cr1901_modern> There is more homebrew for VB than there are released games
<rqou> how many of the 14 games do you own? :P
<cr1901_modern> http://imgur.com/XH6O6u1 7
<cr1901_modern> Erm, 7* I think
<cr1901_modern> VB Wario Land (best), Mario Clash (ugh), Pinball (meh), Teleroboxer (cool), Mario's Tennis (good), Golf (it's golf), Red Alarm (really good)
<rqou> i should try some in the 3ds-based emulator
tecepe has quit [Ping timeout: 265 seconds]
<rqou> although iirc setting that up is a huge pain
<cr1901_modern> And I've played Jack Bros (really really good), Virtual Lab (I could code a better game), Bound High (WHY wasn't this released), and Fishbone homebrew (cute).
tecepe has joined ##openfpga
<rqou> no matter how much drama team twiizers attracted due to their anti-piracy stance, they definitely set up a much saner ecosystem than the 3ds people imho
<rqou> e.g. the 3ds still doesn't have a sane framework to patch the kernel
<rqou> it's mostly "hurr durr try this exploit thing maybe?"
<rqou> nobody's fully taken advantage of the "code execution right after bootrom" capability
<cr1901_modern> I've never owned a 3ds lmao
<rqou> the 3ds "scene" has too much legacy baggage, which is a bit ironic
<rqou> someone on the internet claimed that it's because early hacking was a bit too dominated by china-based piracy companies
<cr1901_modern> From my outsider POV, it looks like "smealum does everything"
<rqou> lol
<rqou> based on some twitter stalking of smealum, i've discovered that i must disagree with smealum just on principle :P
<rqou> smealum went to stanfurd :P :P
<rqou> (for those not in the know, UC Berkeley and Stanford have a longstanding rivalry, mostly surrounding football :P )
<cr1901_modern> Or at the very least, he's the "Rock Star" of the 3ds scene. (Let's hope he's not a jerk)
<rqou> smealum is much better than gateway :P
* cr1901_modern doesn't know who that is
<rqou> one of the china piracy companies :P
<balrog> rqou: what was that cfw that uses bytecode patches? Corbenik I think
<rqou> there's one?
<rqou> idk
<rqou> doing a sane one has been on my infinite-length todo list :P
<balrog> is it permissible to link gbatemp here?
<rqou> i mean, i've linked GBATEK here
<rqou> and cr1901_modern has linked the oman archive :P
<rqou> why do people keep doing stupid emunand bullshit?
<rqou> why do you ever need that?
<balrog> wasn't it necessary in the past?
<rqou> yes, but you don't really need it anymore
<balrog> so with all the bans going around... how safe is it to use a 3DS with CFW as a "normal" 3DS -- purchased games online, etc
<rqou> i've been doing that with no problems so far
<balrog> I know they haven't yet banned for just CFW but is there a possibility down the road?
<rqou> let's be honest, nintendo isn't that good at coding :P
<rqou> i heard that all the bans were related to people who played the leaked pokemon sun
<balrog> yes, they were banning everyone who played it early
<balrog> even people using real carts
<balrog> err, played it early online
<rqou> i keep my "main" 3ds mostly piracy-free
<rqou> so it should be quite difficult to detect anything amiss
<rqou> i have a "junk" 3ds that all the piracy and dangerous testing is done on
<balrog> does it have CFW/A9LH?
<balrog> (the primary one)
<rqou> both have A9LH
<rqou> btw this is the state of my "junk" 3ds: https://goo.gl/photos/WvKy12eeDvLBMLsh6
<rqou> everything still works except the microphone where I apparently messed up the connector :(
<rqou> anyways, in my infinite free time i want to do some investigating of the bus bridges that connect the arm7/arm9/arm11/memory together
<rqou> e.g. can you poke holes in it to give gba mode access to the sd card?
<rqou> or "how is the gba save emulation implemented? can you make gba pokemon work without the silly save size patch?"
maaku has quit [Quit: No Ping reply in 180 seconds.]
maaku has joined ##openfpga
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined ##openfpga
digshadow has quit [Quit: Leaving.]
digshadow has joined ##openfpga
maaku has quit [Quit: No Ping reply in 180 seconds.]
maaku has joined ##openfpga
<rqou> yay, UPS rode out a roommate-induced breaker trip :P
<azonenberg> :)
<rqou> apparently it was the dishwasher again :P
<rqou> unfortunately the cable modem and wifi AP aren't on a UPS
<rqou> needs more extension cords :P
<azonenberg> I have my modems on UPS
<azonenberg> Especially the voice modem, since if that loses power we lose 911
<azonenberg> and the probability of needing to do so goes way up if conditions are bad enough that we lost grid power
<rqou> your phone isn't POTS?
<azonenberg> No it's VoIP through the cable company
<rqou> no POTS available or what?
<azonenberg> The POTS wiring in this house is trash
<azonenberg> We tried it a while ago
<azonenberg> You could place outbound calls
<azonenberg> You could accept inbound calls if you picked up the phone when an inbound call was coming, and the call would connect
<azonenberg> But for reasons unknown, the ring voltage never made it through
<azonenberg> I took a cat5e cable and used a couple pairs of that for POTs signaling, crimped an RJ11 onto one end, and plugged that from the voice modem through the crawl space to my patch panel in the switch closet
<azonenberg> then another rj45-to-rj11 cat5 cable from there to the phone
<azonenberg> So the phone wiring is now point to point bypassing the in-wall cable plant entirely
<azonenberg> and works great
<rqou> lol
<azonenberg> I'm not worried about losing phone service at this point
<rqou> the POTS wiring in my parent's place is pretty weird but at least it works reliably
<azonenberg> there's 5-10 minutes of UPS power depending on load, plus ~48 hours of nonstop fuel for the generator
<rqou> my parents are sufficiently paranoid that they're keeping a POTS line on the cheapest possible plan
<azonenberg> Plus a ham radio if it comes to that :
<azonenberg> :p
<rqou> and they also purposely kept at least one piece of crap powered-by-the-phone-company phone
<azonenberg> (I'm KD2HKV in case you didnt know... mostly operate VHF/UHF on the local repeaters b/c I don't have any HF gear, might fix that once I get around to taking the General exam...)
<rqou> I'm KJ6JOV, probably one of the few extras that never operates :P
<rqou> i occasionally try to operate APRS
<azonenberg> you're an extra? lol
<azonenberg> and well, until i get HF gear (or have budget/interest) there's no point
<azonenberg> there's not really any limits to what i can do in VHF/UHF as a tech
<rqou> i took a ham radio seminar class one semester where i needed an extra unit
<rqou> and used that as an excuse to upgrade to extra
<azonenberg> ah ok, i see
<rqou> getting to extra without having ever really operating VHF/UHF must be unusual :P
<azonenberg> lol
<azonenberg> i had my tech for a year before operating at all
<azonenberg> didnt even have a radio
<rqou> i had my tech since 2010 and didn't have a radio either
<azonenberg> My one radio right now is a yaesu vx-6r
<rqou> i got it to troll a friend from high school :P
<rqou> he was one of "those guys" whose father was into radio
<rqou> and he was telling me about how he was studying for the tech exam
<azonenberg> I have a general rule that any gear I expect to count on in emergencies, like my main flashlight, usb power bank for recharging my bike lights, or the radio
<azonenberg> must be IP67 or better
<azonenberg> Because I live in the PNW
<rqou> so i decided to be a huge troll and sign up for the tech exam that was the immediate next weekend
<azonenberg> And you can bet when the SHTF it's not gonna be bright and sunny :p
<rqou> studied for like a day
<rqou> and passed it
<rqou> :P
<azonenberg> lol, nice
<rqou> i probably should do more SHTF prep being in california
<rqou> UCB is right along a fault line
<azonenberg> Yeah i was pretty heavily involved in a big exercise this summer
<azonenberg> Cascadia Rising
<rqou> as in, the fault line is literally along the east side of campus (it was built that way)
<azonenberg> was at city hall manning the radios for the first day then feeding starving civilians later on
<azonenberg> played several parts b/c i am involved with multiple groups
<rqou> you can see how the hayward fault goes right through the stadium :P
<azonenberg> this was during the logistics part of the exercise during a briefing of some sort
<azonenberg> Guy in the all-yellow vest was the unit commander for the drill
<azonenberg> I'm the one just behind the pile of supplies with the yellow-trimmed vest
<azonenberg> as you can see we had some national guard folks involved in the drill
<azonenberg> We had a guy with a bunch of ham radios in his car providing communications support... UHF HTs for in-base chatter, VHF on a car-based radio for talking to county HQ, and a 2.4 GHz HamWAN packet link as well
<rqou> no 5.8 GHz? :P
<rqou> gotta run that VHT80 :P
<azonenberg> it might have been 5, i forget
<azonenberg> i just know it was a big open-frame metal wire microwave dish
<rqou> probably not VHT80 :P
<azonenberg> But yeah
pie_ has quit [Ping timeout: 260 seconds]
wpwrak has quit [Ping timeout: 260 seconds]
kuldeep has quit [Ping timeout: 246 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Ping timeout: 244 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Excess Flood]
kuldeep has joined ##openfpga
kuldeep has quit [Excess Flood]
digshadow has quit [Quit: Leaving.]
kuldeep has joined ##openfpga
digshadow has joined ##openfpga
kuldeep has quit [Ping timeout: 245 seconds]
kuldeep has joined ##openfpga
wpwrak has joined ##openfpga
kuldeep has quit [Ping timeout: 240 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Ping timeout: 268 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Ping timeout: 245 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Ping timeout: 260 seconds]
kuldeep has joined ##openfpga
kuldeep has quit [Ping timeout: 258 seconds]
talsit has joined ##openfpga
mzpx has joined ##openfpga
_whitelogger has joined ##openfpga
kuldeep has joined ##openfpga
pie_ has joined ##openfpga
talsit has left ##openfpga [##openfpga]
talsit has joined ##openfpga
talsit has left ##openfpga [##openfpga]
scrts has quit [Ping timeout: 265 seconds]
scrts has joined ##openfpga
uwe_ has quit [Ping timeout: 248 seconds]
uwe_ has joined ##openfpga
scrts has quit [Ping timeout: 246 seconds]
scrts has joined ##openfpga
uwe_ has quit [Ping timeout: 240 seconds]
tecepe has quit [Remote host closed the connection]
maaku has quit [Quit: No Ping reply in 180 seconds.]
maaku has joined ##openfpga
<pointfree> I just realized that for PSoC vertical routing tiles (namely PI tiles, VS tiles) one can simply mirror the entire byte for upper blocks because the high-nyble contains vs_bot/pi_bot and the low-nyble contains vs_top/pi_top. It is symmetrical about the center of the byte (embarrassing, I should edit the wiki quickly hahas). I can even use the row number to negate coordinate and add that to 0 or subtract from 7, if I want to elimin
<pointfree> ...ate all conditionals.
<pointfree> freenode truncates messages.
<azonenberg> pointfree: Nice
<pointfree> There are 2*16=32 HV bytes per block of routing tiles. There are 8 VS and 24 HS, 8+24=32, so, these must be our 32 connections to the HV block.
* azonenberg really needs to spend some time reading and get familiar with the psoc microarchitecture
<azonenberg> i've been casually following your work but havent had time to really learn the chip intimately
<pointfree> In .route files, vseg's (VS) use the top_b, top_f, bot_b, bot_f suffixes... hseg's (HS) don't use them. Also notice in the TRM that VS registers are vertical registers so they are split into bot and top nybles.
<pointfree> Implementations of top_b, top_f, bot_b, and bot_f modifiers for the VS register addresses. (These words be the key to understanding HV_L and HV_R better): http://hub.darcs.net/pointfree/psoc-routing-formulas/browse/routing.4th#28
<pointfree> *must
<pointfree> azonenberg: The irc log has been doubling as a notebook for final results of sorts. I grep the log sometimes.
<pointfree> I am fairly confident that the top_b, top_f, bot_b, and bot_f words have to do with the patterns in figure 16 and by extension figure 6 in the patent. I have color penciled printouts on my desk. TODO: Do them in gimp and add them to the wiki.
<azonenberg> Lol i see
<pointfree> It lines up doesn't it?
<azonenberg> Plausible, but again i'd have to read all of your old notes to really grok it
digshadow has quit [Quit: Leaving.]
digshadow has joined ##openfpga
pie_ has quit [Changing host]
pie_ has joined ##openfpga
uwe_ has joined ##openfpga
<rqou> hmm just discovered that linode doesn't want to give you multiple ipv6 pools
<rqou> apparently wasting ip addresses is a bad thing? :P
<cr1901_modern> Need to connect all the toasters to the Internet first (inb4 NetBSD toaster jokes)
<rqou> btw my "test" network on my server has a rather "interesting" ipv6 address range :P
<rqou> inet6 addr: 2600:3c01:e000:1ab:0:5465:7374:1/112 Scope:Global
digshadow has quit [Ping timeout: 260 seconds]
digshadow has joined ##openfpga
talsit has joined ##openfpga