Be advised; this thread is not for serious in depth discussion of weighty topics, this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.
Friday Fun Thread for September 23, 2022
- 74
- 7
What is this place?
This website is a place for people who want to move past shady thinking and test their ideas in a
court of people who don't all share the same biases. Our goal is to
optimize for light, not heat; this is a group effort, and all commentators are asked to do their part.
The weekly Culture War threads host the most
controversial topics and are the most visible aspect of The Motte. However, many other topics are
appropriate here. We encourage people to post anything related to science, politics, or philosophy;
if in doubt, post!
Check out The Vault for an archive of old quality posts.
You are encouraged to crosspost these elsewhere.
Why are you called The Motte?
A motte is a stone keep on a raised earthwork common in early medieval fortifications. More pertinently,
it's an element in a rhetorical move called a "Motte-and-Bailey",
originally identified by
philosopher Nicholas Shackel. It describes the tendency in discourse for people to move from a controversial
but high value claim to a defensible but less exciting one upon any resistance to the former. He likens
this to the medieval fortification, where a desirable land (the bailey) is abandoned when in danger for
the more easily defended motte. In Shackel's words, "The Motte represents the defensible but undesired
propositions to which one retreats when hard pressed."
On The Motte, always attempt to remain inside your defensible territory, even if you are not being pressed.
New post guidelines
If you're posting something that isn't related to the culture war, we encourage you to post a thread for it.
A submission statement is highly appreciated, but isn't necessary for text posts or links to largely-text posts
such as blogs or news articles; if we're unsure of the value of your post, we might remove it until you add a
submission statement. A submission statement is required for non-text sources (videos, podcasts, images).
Culture war posts go in the culture war thread; all links must either include a submission statement or
significant commentary. Bare links without those will be removed.
If in doubt, please post it!
Rules
- Courtesy
- Content
- Engagement
- When disagreeing with someone, state your objections explicitly.
- Proactively provide evidence in proportion to how partisan and inflammatory your claim might be.
- Accept temporary bans as a time-out, and don't attempt to rejoin the conversation until it's lifted.
- Don't attempt to build consensus or enforce ideological conformity.
- Write like everyone is reading and you want them to be included in the discussion.
- The Wildcard Rule
- The Metarule
Jump in the discussion.
No email address required.
Notes -
This week I spent a lot of time on EGA. Namely, putting a lot of the stuff I read last week into practice this week.
It took me a while to fully grock the different EGA write modes and register settings. And then there were the memory latches! Jeeze! I guess I should start at the beginning.
There are 4 bitplanes in EGA that overlap in memory space. One bit out of each of the 4 bitplanes combines to determine the color of 1 pixel on the screen. There are also 4 bytes of latches in EGA that correspond to each of the 4 bitplanes. These latches get loaded when you try to read EGA memory space, and some of it ends up in whatever register you read it to. Then when you write back to EGA memory space, the contents of the latches form the basis of what gets written back, modified in all manner of ways by the write mode and the registers set.
So far as I figure, write mode 0 is the most complex. In write mode 0, many registers effect what gets written to EGA memory. You have the bitmask, which determines which bits of the latches get overwritten by whatever byte you are writing to memory. You have the bitplane masks, which determines which bitplane latches get overwritten by the byte you are writing. You have the function/rotate register which sets if the bits get overwriten, or'ed, anded or xor'ed with the latches, and how far bits get rotated. And then you have the set/reset value/enable registers, which can override certain bitplanes to be set low or high regardless of the byte you are writing to memory says.
Mode 1 just dumps withever is in the latches. You mostly use it for dumb copying from EGA memory space to another spot in EGA memory space.
Mode 2 only uses the bitmask, and the lower nibble of the byte being written corresponds to what gets written to the bitplanes. So basically you can write colors to the screen without having to fuck with bitplane masks or the set/reset registers. I'm told it's good for plotting arbitrary pixels on the screen.
Anyways, as proof of concept I wrote a program to draw 16x16 sprites in a memory format that can easily be written to the screen in EGA. All in assembly, also in EGA screen mode 0x0d. I plan on using it to create artwork I can then load into other games.
Fun things I've found out. Using the mouse when you draw to the screen fucks up your drawing. The mouse stomps all over the EGA registers when you move it. So you either need to set the registers using an overly complicated API in the mouse drivers, so that it can restore them properly when it exits it's interrupts. Or you hide the mouse while you are drawing. Something I swear I remember the old Sierra adventures games like Space Quest III doing.
The heart wants what the heart wants.
Also, i strongly feel modern computing stands on the shoulders of giants. I get curious about what those giants were.
More options
Context Copy link
...or draw mouse cursor yourself... (which, I think, is the preferred way for games)
More options
Context Copy link
More options
Context Copy link