Hardware / software necromancer, collector of Weird Stuff, maker of Death Generators. (she/they🏳️‍⚧️)

This profile is from a federated server and may be incomplete. Browse more on the original instance.

foone, to random
@foone@digipres.club avatar

it's fun to turn on wireshark and find out your windows machine is broadcasting HTTP requests to a multicast address using Microsoft Edge in the user-agent

foone, to random
@foone@digipres.club avatar

why do I keep hacking 16bit DOS games? do I hate myself?

32bit programs are SO MUCH EASIER to RE, because when you see an address, you know what it means. 0x12345678 always means 0x12345678!

foone,
@foone@digipres.club avatar

16bit games are full of MOV AX, 1234h and it's like, WHAT'S DS AT THIS POINT? WHICH 1234?

foone,
@foone@digipres.club avatar

there's 65536 possible memory addresses it could be!

foone,
@foone@digipres.club avatar

not to mention that there's more than one way to address a given part of memory.

in 32bit and 64bit code, if you see 0x12345678, you know that some code that writes to 0x12335662 doesn't change it.

not so in 16bit games. you have plenty of ways to refer to the same address.

foone,
@foone@digipres.club avatar

This is why 16bit x86 is SO much more annoying than 8-bit computers.
with 8-bit computers, you have 16-bit addresses, because 256 bytes is rarely enough memory. So they work by having some addresses which are longer. simple, right? so instead of an 8bit number, you have a 16bit number.

foone,
@foone@digipres.club avatar

16bit x86 does this as well. 16bits of ram is only 64kb, and that's just not enough. So you expand it to 24bits or 32bits, for "long addresses", right? same as you use in 8bit computers?

NOPE

foone,
@foone@digipres.club avatar

segmented addressing, the solution they use, is not as simple as just adding some more bits. a 16bit segment and a 16bit offset.

so that's just a weird way of explaining a 32bit number, right?
NOPE

foone,
@foone@digipres.club avatar

no, you combine 16bits and 16bits and get... 20 bits.

it's a 20bit address.

foone,
@foone@digipres.club avatar

so what, they ignore all but the bottom 4 bits of the segment?

NO THAT WOULD MAKE SENSE

foone,
@foone@digipres.club avatar

instead the full 16bit segment is used, but it's turned into a 20bit address by shifting it 4 bits over and adding in the offset.

foone,
@foone@digipres.club avatar

So it's the TOP 4 bits that are important, not the bottom 4.

Okay that's fine, but wait, I said adding. Not "replacing".

Yes, all 16bits are used. So the address 0000:0000 is (linear) 0x0, and 0001:0000 is (linear) 0x10

foone,
@foone@digipres.club avatar

which also means that 0001:0000 and 0000:0010 are both linear 0x10.

So you can get pointer aliasing even though both pointers HAVE DIFFERENT VALUES

foone,
@foone@digipres.club avatar

And if that wasn't bad enough, there's also the A20 gate nonsense. Now, the A20 gate was added with the 286, for backwards compatibility with how the 8086/8088 worked, which is that memory wrapped.

foone,
@foone@digipres.club avatar

so not only are 0001:0000 and 0000:00010 the same address, so is FFFF:0020!

foone,
@foone@digipres.club avatar

but don't worry, for the 286 they wanted to add more than 1 megabyte of RAM, which is the max you can address with a 20bit address, so they added the ability to disable address wrapping.

on the keyboard controller.

foone,
@foone@digipres.club avatar

so now your memory wrapping changes based on what you write to the keyboard controller.

BRILLIANT IDEA

foone,
@foone@digipres.club avatar

anyway my favorite part of this A20 line thing is that it was supported by Intel chips up until Haswell, in 2013.

So in 2012 your 8 gigabyte of RAM PC booted up with every other megabyte of RAM mirrored to each other.

foone, to random
@foone@digipres.club avatar

You know those flash drives that have USB-A on one end and USB-C on the other?

I wonder what happens if you plug them both in at once... I'm guessing nothing good.

foone,
@foone@digipres.club avatar

wait
this USB-C/USB-A flash drive... is only 256 MEGABYTES?!

foone,
@foone@digipres.club avatar

what the fuck

foone,
@foone@digipres.club avatar

it also identifies itself as a
"VendorCo ProductCode", with vendor ID of FFFF and product id of 5678.

what butthole of aliexpress did we buy this USB drive from?

foone, to random
@foone@digipres.club avatar

3d printing makes you realize how big a millimeter is, and video game programming and video editing makes you realize how long a second is.

I need to find more hobbies that'll mess up my other sense of units. I've got space and time, what about weight? density? brightness? temperature?

foone, to random
@foone@digipres.club avatar

My robot girlfriend walks in with the crop, I'm already tied to the bed. "what's the safeword?", she asks. I respond by saying the letter "A" for 90 seconds straight followed by a short hex string.
calc.exe opens up on her eyes. Finally, a PoC!
Shouldn't have used fixed length buffers without bounds checking, babe. This is a rookie C mistake.

foone, to random
@foone@digipres.club avatar

So I ran memtest86+ on my desktop.
It didn't error!
or succeed. It just... hung, 25 minutes in.

that's probably not a good sign

foone,
@foone@digipres.club avatar

No issues after running for 4 hours!
I'll leave it on overnight but this seems to be functional

foone,
@foone@digipres.club avatar

The only thing that's not back in is the two m.2 drives, which I doubt will make much difference.
We'll see!

foone,
@foone@digipres.club avatar

It turns out the GPU wasn't in use so I can't be sure it's not still a power problem.
So I fixed that, put in the m.2, and started again

foone,
@foone@digipres.club avatar

Memtest didn't complete, but for a very silly reason: I have my computer up on the desk and plugged into a different outlet for this testing, which means there's a power cable crossing the doorway.
When I left the room, moving the cable so I could go under it slid it out of the power supply and it shut off

foone,
@foone@digipres.club avatar

memtest completed and now I'm going full on stress testing: playing fullscreen video, 3D games, processing a bunch of shit in the background, some VMs. you know, the usual stuff I do on an average day

foone,
@foone@digipres.club avatar

I probably shouldn't try to run the VM that has 16gb of RAM allocated to it, though

foone,
@foone@digipres.club avatar

Well that lasted all of 30 minutes before the system hung.
Fuck. It's not just the RAM.

foone,
@foone@digipres.club avatar

So, it's probably one of motherboard, cpu, or PSU. At a stretch, it could be the GPU.

I have another spare GPU I could swap in. I have a near-identical CPU that I could swap in (it's in use, but I can temporarily borrow it).
PSU and mobo are trickier.
So, I'll have to try the easy ones first. Swap the GPU and see if windows still hard crashes like that, then the cpu, then start working on the others.

foone,
@foone@digipres.club avatar

If you'd like to help me get back online (and gay cats, of course), donations would help. I'm kinda broke and not having a working computer is not going to help.

https://ko-fi.com/fooneturing

foone,
@foone@digipres.club avatar

okay today's first test: I yanked out my GPU and I'm running on just the internal GPU. I'm gonna load up some videos, VMs, 3D games, and a bunch of browser tabs. See if this falls over too

foone,
@foone@digipres.club avatar

I am not getting a large number of frames, and I only have one game running at the moment.

foone,
@foone@digipres.club avatar

somehow I got my youtube video playing over my actual speakers but one of the games playing out the HDMI and the little speakers on the monitor. that's weird.

foone,
@foone@digipres.club avatar

I AM STRESS TESTING THIS MACHINE AT NOT A LOT OF FRAMES A SECOND

foone,
@foone@digipres.club avatar

okay I've made it an hour running sans-GPU. That doesn't mean it's the GPU though. This machine is using way less power without the GPU... so it could still be a PSU related problem.

foone,
@foone@digipres.club avatar

so after running fine for about 3 hours with no GPU, I've gone out and bought a new... power supply.

yeah I don't think it's the GPU. And a flakey PSU could easily fail with the GPU and not without, since the power usage is way lower without a GPU in there

foone,
@foone@digipres.club avatar

okay new PSU is in. That took way longer than it should.
Apparently between the RM650x and the RM850x, Corsair redesigned their modular cables, so I couldn't just swap the PSU and reuse the cables. So now I have a cable management nightmare, but it's running. Let's put the stress-testing pants on

foone,
@foone@digipres.club avatar

the worst part is that I forgot to double-check that the new PSU would come with the right cables to let me hook up my floppy drives. Thankfully, it did.

foone,
@foone@digipres.club avatar

that could have been a disaster

foone,
@foone@digipres.club avatar

well my 3.5" floppy drive is working. That's a good test

foone,
@foone@digipres.club avatar

changing my PSU seems to have confused Satisfactory into thinking I'm a different person and now I'm sitting on the floor of my own base. WHO ARE YOU?

foone,
@foone@digipres.club avatar

CRASHHANG.

foone,
@foone@digipres.club avatar

sticking in a different GPU.
Swapping out my Asus Gegorce RTX3070 for an EVGA GeForce GT 1030

foone,
@foone@digipres.club avatar

ran an hour and 30 minutes on the other GPU with no crashes.

god damn it, IS it my GPU?

foone,
@foone@digipres.club avatar

taking a work meeting from the system under test
this is known as "living dangerously"

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • Ask_kbincafe
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines