Andrew Imm

137 posts

Andrew Imm

Andrew Imm

@setimmediate

Building things at the triangle factory. Packing Next.js at Turbo speed.

Tham gia Kasım 2013
26 Đang theo dõi954 Người theo dõi
Andrew Imm
Andrew Imm@setimmediate·
What's the flyest Z80 assembly instruction? "POP AF"
English
0
1
3
0
Andrew Imm
Andrew Imm@setimmediate·
Wrote more about my DOS-Compatible OS, talking about how the kernel and DOS API are structured: @andrewimm/writing-a-dos-clone-in-2019-part-2-the-kernel-e9cc6a12f4de" target="_blank" rel="nofollow noopener">medium.com/@andrewimm/wri… There was a lot of inline assembly and register juggling to jump in and out of the system calls. Learning how to use QEMU's debug monitor was critical here.
English
1
0
6
0
Andrew Imm
Andrew Imm@setimmediate·
Currently implemented: about half of the INT 21h DOS APIs, most of a FAT12 filesystem, disk and console drivers, and a COMMAND .COM prompt that can list directories and run other programs. Lots to still do!
English
0
0
1
0
Andrew Imm
Andrew Imm@setimmediate·
During some recent leave from work, I built a DOS-compatible OS that can run programs originally written for DOS. It's been an exciting project that's wayyyy outside my wheelhouse and comfort zone. I've started writing about the process as well: @andrewimm/writing-a-dos-clone-in-2019-70eac97ec3e1" target="_blank" rel="nofollow noopener">medium.com/@andrewimm/wri…
GIF
English
5
2
21
0
Andrew Imm đã retweet
Julia Lam
Julia Lam@JuliaLam·
10+ years ago I fell into a $10M investment fund when I worked at @facebook. It did pretty well and we ended up as the 1st investors in @lyft (IPO-ed last week). A few thoughts about seed investments & how diverse investment teams really make a difference. bit.ly/2CZu5KC
English
4
27
160
0
Andrew Imm
Andrew Imm@setimmediate·
Using a rural internet conn is always good for empathy, but this current time made me realize how many sites are using iconfonts. When we talk about FOIT or FOUT, we should also be concerned about FOUC - Flash of Unknown Character - boxes with Xes errwhere
English
1
1
3
0
Andrew Imm
Andrew Imm@setimmediate·
@atul_jindal While we use a native version of React VR at Oculus, it's not available to external devs yet because it has a lot of Oculus-specific nuances. We do hope to one day let people write React and publish apps to the store, though!
English
0
0
0
0
Atul Jindal
Atul Jindal@atuljindal01·
@immediatedelay I am looking to build Oculus App, and interested to know about using ReactVR to develop App that installs via Oculus Store. Based on understanding should I use ReactNative to do custom build. Any ideas to use ReactVR on non-browser apps.
English
1
0
0
0
Andrew Imm
Andrew Imm@setimmediate·
Started a new wasm emulator using the same WebGL2 memory-mapped-graphics methods from my GB one. Brought up both the CPU and basic rendering in a single night!
Andrew Imm tweet media
English
1
1
1
0
Andrew Imm
Andrew Imm@setimmediate·
@alfredofrlp SDF rectangles for all Views, instead of tessellation. We've always had SDF text, though we're about to make text rendering configurable so people can use different fonts with more ease.
English
1
0
2
0
Andrew Imm
Andrew Imm@setimmediate·
As we support more internal use cases at Oculus, React 360 is actually becoming a powerful "React Native for WebGL" core with some 3D/VR functionality layered on top... I'm excited about the new, way-fast, SDF-rendered Views landing soon
English
1
8
53
0
Andrew Imm
Andrew Imm@setimmediate·
Oculus Go early adopters! If you're planning to transport your sweet new headset a lot, I recommend investing in a bag designed for photographers. They're designed to protect lenses, and have removable inserts that can snugly nestle your HMD.
English
0
0
7
0
Andrew Imm
Andrew Imm@setimmediate·
If you host a webassembly demo on a github.io page, Ublock Origin is gonna block it 😭
English
1
0
1
0
Andrew Imm
Andrew Imm@setimmediate·
First part of my series on building a Game Boy emulator in #WebAssembly : @andrewimm/writing-a-game-boy-emulator-in-wasm-part-1-1ba023eb2c7c" target="_blank" rel="nofollow noopener">medium.com/@andrewimm/wri… Talks about why I chose WASM, how I handled JS interop, some of the lingering challenges. Up next, a piece on implementing the CPU and basic I/O. Code coming soon!
English
2
10
33
0
Andrew Imm
Andrew Imm@setimmediate·
@TheLarkInn Single wasm module, no webpack here. I wanted to make sure I really understood how things work. Heck, my JS isn't even Babel'd.
English
1
0
2
0
Andrew Imm
Andrew Imm@setimmediate·
Gameboy emulator in #WebAssembly, written in Rust and WebGL 2.0! Still have some audio bugs to track down and underused features to build, but I'm impressed with Wasm's perf. Runs smoothly on PC and mobile with a lot of idle time per frame.
English
27
311
977
0
Andrew Imm
Andrew Imm@setimmediate·
@MaxValenko @WasmWeekly Will have posts soon. Either Wasm can call into JS to draw, or it can export data that can be drawn. I used to have Wasm pass a scanline buffer to JS 144 times/s, now WebGL fills uniforms and data textures directly from Wasm's linear mem each frame. That's why I needed WebGL2
English
0
0
0
0
Andrew Imm
Andrew Imm@setimmediate·
Update: Removed some old rendering code from Rust that was filling a scanline buffer 144 times a frame. Literally cut the CPU usage by 50+%
English
1
0
19
0
Andrew Imm
Andrew Imm@setimmediate·
Perf capture, lots of idle time per frame
Andrew Imm tweet media
English
1
2
9
0
Andrew Imm
Andrew Imm@setimmediate·
@Tojiro @mkeblx That's what I assumed. I guessed it might be something related to accessing the VRDisplay itself, though not sure why. I'm seeing sporadically slow behavior when I add `if (this.vr.display.isPresenting)` to my rAF callback, but still trying to narrow down a consistent repro
English
0
0
0
0
Andrew Imm
Andrew Imm@setimmediate·
One #WebVR anecdote I picked up last night adding VR to the emulator: VRDisplay.isPresenting is surprisingly expensive on Chrome for Android – don't call it every frame, it'll slow things down to a crawl
English
1
1
5
0
Andrew Imm
Andrew Imm@setimmediate·
@hochsays The audio bugs are mostly of my own making. Audio is pretty simple, 4 channels: 2 oscillators, one noise, one that plays samples from memory. Most of the orchestration comes from the Rust side trying to tell the JS how to adjust gain / freq, and this is where I need to fix things
English
1
0
0
0
Hongchan Choi
Hongchan Choi@hochsays·
@immediatedelay For audio, perhaps ScriptProcessorNode is being used? You might want to consider AudioWorklet if you're getting glitches when the main thread gets busy.
English
1
0
0
0