#💽Programming Chat v2

1 messages · Page 26 of 1

spare quartz
#

also found a bug with string conjunction

#

beyond 15 chars* a GPF is thrown

timid quartz
#

lol

#

ur violating the general protection of your system

spare quartz
#

it's probably an issue with memcpy again

timid quartz
#

but then if you just ignore the interrupt

#

one simple trick OS designers don’t want you to know

spare quartz
#

yeah i tried adding a basic IVT

#

it didnt' work

#

it just threw a gpf while trying to write to 0x0

#

i'll just defer that to protected mode and use an IDT

timid quartz
#

Gotta be in ring zero silly

spare quartz
#

what do you think real mode is 😭

spare quartz
#

also technically since im memcpying acpi i can overwrite that data without any issues

#

the issue is its in the BDA or EBDA (both of which could do bad things since SMM also uses that memory)

#

hm,mm

#

im not very well versed in allocator design so

#

would a compacting gc > a fragmented linked list

timid quartz
# spare quartz it's probably an issue with memcpy again
.section .text
.globl _memcpy

# void *memcpy(void *dest, const void *src, size_t n)
_memcpy:
    pushl %ebp
    movl %esp, %ebp
    pushl %esi
    pushl %edi

    # Load the arguments
    movl 8(%ebp), %edi  # dest
    movl 12(%ebp), %esi # src
    movl 16(%ebp), %ecx # n

    # Copy the bytes
    rep movsb

    # Restore the registers and return
    popl %edi
    popl %esi
    popl %ebp
    ret
#

memcpy LOL

spare quartz
#

i could probably do To_Chunk (1..Length) := From_Chunk (...)

timid quartz
#

(idk if this will work, blame claude ai)

timid quartz
#

memmove

spare quartz
#

well gotta write a new function where i have to guess the signature

timid quartz
#

wdym guess the signature

#

does ada mangle signatures?

spare quartz
#

no but theres a possibility of it being defined by gnat over c

timid quartz
#

yall need #[no_mangle] fr

spare quartz
#

we don't mangle functions

spare quartz
#

let me try void *memmove(void *dest, const void *src, size_t n)

#

would probably be prefixed like __gnat_ though

timid quartz
#

why do you even have to do that

spare quartz
#

wdym

timid quartz
#

like why are you having to guess these functions

spare quartz
#

they're internal functions

timid quartz
#

ok but you're literally writing a kernel

spare quartz
#

yeah but the alternative is reading GCC source code

timid quartz
#

the alternative is write some assembly no?

spare quartz
#

💀

timid quartz
#

cause you're not linking to any libraries

spare quartz
#

i hate assembly!!!!!!!!!!!!!!!!

timid quartz
#

get ai to do it for you...

spare quartz
#

ew

timid quartz
#

or just like idk

spare quartz
timid quartz
#

write a function in ada that works...

spare quartz
#

hmm

#

i wonder if i can just define it as a compiler intrrinsic

timid quartz
#

me when I define you as a compiler intrinsic

spare quartz
#

okay memmove works

#

lemem go read the x86 manual real quick

timid quartz
#

at&t syntax 👻

spare quartz
#

gcc inline asm uses at&t by default yes

#

can actually just use my new functions for out/in since those are inlined

timid quartz
#

orb

#

orb

#

orb

#

orb

#

orb

spare quartz
#

andb reaction

spare quartz
timid quartz
#

gnu assembler is gas

#

🔥

spare quartz
#

alright there

full berry
#

hey guys..

#

what do you think of my revolutionary npm package

#

i didnt see any other package that does this

spare quartz
full berry
#

sooooo

spare quartz
#

might not outweigh the gains

spare quartz
#

thread locked

#

asked to leave node

#

okay

#

reading the bayachao wiki was a mistake

timid quartz
#

lol wut

spare quartz
#

see dms

#

「なんだこれ…フリフリだぞ…」

spare quartz
#

im stuck just looking at it 😭

#

i cant bring myself to wrok on it

timid quartz
#

LAUNCH THE SHELL!!!

spare quartz
#

I NEED TO FINISH THE ACPI DRIVER THEN THE USB DRIVER THEN THE PS/2 DRIVEr

timid quartz
#

then FINISH

spare quartz
#

i made a tiny kernal that just polled inputs but

#

im pretty sure i deleted it a whiel ago...

spare quartz
#

ugughughuguhguuhg

#

check_exception old: 0x8 new 0xd

#

my mouse is dying

#

brb

#

mouse is alive

#

lemme look at more bayachao art before continunign

timid quartz
#

urghh

#

coding painful

#

homework painful

#

gaming getting boring

spare quartz
#

yooo lets goooo

#

bayachao is american (they gave one of their characters a shotgun)

timid quartz
#

oh

spare quartz
timid quartz
#

fack u

spare quartz
timid quartz
spare quartz
#

need 2 shutdown my computer soon

timid quartz
#

get outttt

spare quartz
#

clipboard is stuck

spare quartz
#

yknow bayachao draws A LOT of other stuff aswell so

#

just let me know if i send something bad unintentionally

timid quartz
#

just dont smhh

spare quartz
#

dont hwat...

#

...........hmmmmmmmmmm

#

i feel like making my own vm

spare quartz
timid quartz
spare quartz
#

why they so ourple

full berry
#
Bun

Built-in Postgres client with Bun.sql, built-in S3 object support with Bun.s3, a new text-based lockfile: bun.lock, Express is 3x faster, and a major update on Node.js compatibility.

spare quartz
#

pretty neat

full berry
#

yuuurrr

spare quartz
#

I HAVE HEADPHONES AGAIN

#

‼️

#

i'm using a stupidly low power rtansmitter for it though

#

im dealing with RF that can be blocked by my hair 😭

spare quartz
#

alright

#

i purified my entire RTS

pastel tinsel
spare quartz
#

everything that can be Pure is Pure, everything that can't is Preelaborate, or at least, No_Elaboration_Code_All

#
Pure                      : Package has no side-effects
Preelaborate              : Package will not execute code at elaboration time
No_Elaboration_Code(_All) : No package elaboration code will be generated
#

i can do that???

#

*A special case recognized by the compiler is the specification of a Storage_Size of zero for an access type. This means that no items can be allocated from the pool, and this is recognized at compile time, and all the overhead normally associated with maintaining a fixed size storage pool is eliminated. *

spare quartz
#

i could probably get away without allocators by doing this

#

not sure how though, like casting an Address to an access?

#

this ada stuff is complex

lavish dove
#

llama 3.2

#

I have a rtx 2050 and it generates nearly instantaneously

#

for some reason ollama uses like 200 megabytes of ram so I keep having t oturn it off when im not using it

#

and it doesnt work if I use it when its not on through systemctl

spare quartz
#

holy crap it works

#

unironically really cool

spare quartz
# spare quartz

i think this is roughly equivlent to casting a C void* pointer to x*

#

well okay

#

kinda

#

Address -> PC -> Ptr is more like casting an int to x*

#

got them into a discriminated enum

#

which meannnnnsss

#

i can make it a variant record! without any heap allocations!

#

memcmp

lavish dove
#

I hate debugging asm

spare quartz
#

IT WORKS

lavish dove
#

nice

lavish dove
#

why tf does intel let instructions get slow

#

why do they make instructions that are slow

spare quartz
#

i read that with movs too

#

apparently they let it get really slow but then sped it up again

lavish dove
#

theres also the loop instruction

spare quartz
#

now its fast* (a CPUID bit determines if its optimized or not)

lavish dove
#

its literally just cmp rdi, x jx y and its slower than actually doing cmp rdi, x

lavish dove
#

I swear intel should make a fuckin

spare quartz
lavish dove
#

super x86 mode where every instruction is fast asf

#

though theres less instructions

spare quartz
#

okay ARM

lavish dove
#

and all the old modes are firmware emulated

#

fr

spare quartz
#

even though ARM and x86 are roughly equal in complexity today...

lavish dove
#

bro they should make x86 more complex and faster

spare quartz
#

they should just give us microcode programming

lavish dove
#

true

#

lol

#

computers were fast before microcode!!! raah

#

super x86 mode isnt made with microcode so its very very fast fr fr

spare quartz
#

yeah well now there's like 500 different chips inside a bigger chip controlling what an instruction actually is

lavish dove
#

fuck modern computers

spare quartz
# lavish dove super x86 mode isnt made with microcode so its very very fast fr fr

The control unit (CU) is a component of a computer's central processing unit (CPU) that directs the operation of the processor. A CU typically uses a binary decoder to convert coded instructions into timing and control signals that direct the operation of the other units (memory, arithmetic logic unit and input and output devices, etc.).
Most co...

#

this looks kinda like that

lavish dove
#

yea

#

it is that

#

thats how you make cpu's fr

#

all the old cpu's are made like that

#

instead of having a miccrocode or proccessing or shit they just run the instructions no extra complexity or anything

#

by old I mean like <1990 old

#
; eax = lba
; ecx = ammount of sectors
; edi = to
; converted to int 13h so accuracy is lost idk. uses tempsector and memcopies to
; trashes everything
.loopreadlba:
  pop eax
  inc eax
  dec ecx
readlba:
  push eax
  push edi
  push ecx
.h: hlt
  jmp .h
  mov ecx, 64
  div ecx
  mov cl, dl
  mov ch, al
  mov bx, 500h ; temporary storage
  mov al, 1

  xor dh, dh
  mov dl, byte [discsave]
  mov ah, 2h
  int 13h

  pop ecx
  pop edi
  mov ebx, 500h
.loopnxt:
  mov dl, byte [ebx]
  mov byte [edi], dl
  inc ebx
  inc edi
  cmp ebx, 0x700
  jne .loopnxt

  cmp ecx, 0
  jg readlba ; loop through every sector

  ret```
#

fuck me

#

the hlt loop is for debugging

#

.loopnxt is a memcopy

spare quartz
#

i just realized i just made println debugging first thing in my kernel 😭

#

still need 2 write a serial adapter

#

reading this tweet from my backburner

lavish dove
#

im not gonna bother with serial

#

im just gonna go straight to keyboard and amd integrated modesetting

#

(im gonna cry trying to write a diver for amd)

spare quartz
#

if you want to be super lazy just poll ps/2

spare quartz
# spare quartz

The generated function returns a Result containing the field value as a String, or a Box<dyn std::error::Error> if an error occurs.

#

im not a rust user but

#

Box<dyn std::error::Error> doesn't sound right

lavish dove
#

lol

#

wait how does error handing work

#

does it set a flag or something

spare quartz
#

in what context

#

rust?

lavish dove
#

rust sure

#

like in assembly its popular to set carry flag for a error

spare quartz
#

uhh bascially a function that can error returns a container with an enum inside of it

#

which can either be "good" for your actual data or "bad" for the problem

lavish dove
#

dyamn

#

that sounds kinda slow

spare quartz
#

i'm sure it's as fast as the C style of it

lavish dove
#

slower than setting a flag lol

#

yea

#

how tf

#

did my fucking

#

code freeze

#

in the fucking bios

spare quartz
#

did you overwrite a part of bios data or something

lavish dove
#

I wrote to 500h

#

but that should be the bottom

#

of free memory

spare quartz
#

yeah looks good

#

weird

lavish dove
#

lmao we looking at the same website

spare quartz
#

yeah

lavish dove
#

I hate debugging assembly 😭

#

im gonna make my own fuckin language that will happily compile to 512 bytes I swear to god

spare quartz
#

wait i gotta check my linker script

#

i forgot where my kernel is

lavish dove
#

lmao

#

well thats 16 bit space

spare quartz
#

wait

#

iiii need to update my malloc function

#

it's gonna overwrite the kernel

#

ill just set the heap addr to 00000500

#

surprised 'Valid works this well without a stdlib

timid quartz
#

But duly noted

spare quartz
#

aagghh

#

discriminant in constraint must appear alone my behated

#

i don't like this but it has to be done

#

nice

#

now i gotta write it for 64 bit!!!

#

neat

#

got a full console

#

this marks ACPI reading complete

#

since this is really all i need

spare quartz
#

alright

#

added conole scrolling since the page scroll loses too much data

timid quartz
#

store all the lines in a file

spare quartz
#

there is no filesystem yet

timid quartz
#

breadfs

#

oooh call it gluten

spare quartz
#

already have a spec for that actually

timid quartz
#

cause gluten is the structure of bread

spare quartz
#

i imagine it won't be very performant though

#

since it relys on expansiveness

#

e.g. file metadata starts out using ints, but if higher precision is required, longs, long longs, big ints...

#

a LOT of our stuff relys on expansiveness actually

#

we just really like infinite precision

lavish dove
spare quartz
#

this but programming

#

anyone feel me

#

hm,mm

#

i wanna add sound actualyl

lavish dove
spare quartz
#

Channel 1 is unusable, and may not even exist.

lavish dove
#

bruh

#

my thing isnt even reading

#

any data

#

why

#

oh its giving me an error

#

nice

#

the error code is one

#

bruh

#

INVALID COMMAND

#

WHAT!?!?

#

it all looks perfect 😭

timid quartz
#

honestly neat

#

fairly snappy

#

500mb ram

lavish dove
#

I think I got a higher one

timid quartz
#

2060 super so the util jumped to like 85% mid-response but still snappy

lavish dove
#

I wish llama was kinda better

#

and used opencl

#

it will only work if youve got a gpu with enough ram

#

it wont try any paging getup or shit

timid quartz
#

use uh deepseek ¯_(ツ)_/¯

lavish dove
#

and it straightup wont worko n anything that isnt cuda

timid quartz
lavish dove
#

no im talking about the tooll

#

not the model

#

llama3.2 is my favorite liek I told you 😭

timid quartz
#

ollama or llama3.2

spare quartz
lavish dove
#

ollama the tool

spare quartz
#

this is gonna be painful

lavish dove
#

oh dear lord

#

I have 2 pc's from 2012 and 2016 that have a real pc speaker

spare quartz
#

i have a pc speaker in mine rn

timid quartz
#

ah ic ic

lavish dove
#

and another one with pc speaker emulator

spare quartz
#

i bought a pack of 50 for like $3

timid quartz
#

well you could probably rawdog llama3.2 without ollama

#

if you wanted to use opencl

lavish dove
#

mine are inside the actual computers

#

no needed extra setup

spare quartz
#

ah

lavish dove
timid quartz
#

also deepseek-v3 is 404gb 😭

spare quartz
#

mine are just soldered to a header of 4

timid quartz
#

probably need 64gb ram minimum

#

for that

lavish dove
#

yeah tahts what im talking about with ram

spare quartz
lavish dove
#

you cant just get a fast ssd and have a fuck ton of ram

timid quartz
#

uhhh

#

probably ram

lavish dove
#

then throw cpu at the motherfucker

timid quartz
#

but probably need a lot of vram too

lavish dove
#

you haved to have enough ram to hold the entire model

timid quartz
#

ram or vram

spare quartz
#

just make an 800 gb page file

#

👍

lavish dove
#

yeah but ollama wont do that

#

:sob;

timid quartz
#

there's deepseek-v2 with 16b params

#

probably much lighter weight

lavish dove
#

man I want 128 gigabytes

timid quartz
#

ooh deepseek-r1 is also here

lavish dove
#

if its running on the gpu it wont work if you dont have enough vram on the gpu

timid quartz
lavish dove
#

and you cant switch between gpu and cpu

#

im gonna try deepseek

timid quartz
#

the 1.5b params is uh

#

1gb

lavish dove
#

allready downloading

#

💀

#

also the ollama servers are capped

timid quartz
#

wdym

#

ollama runs locally

lavish dove
#

the larger download the larger cap but its still a cap

lavish dove
timid quartz
#

oh

#

wtf

lavish dove
#

look at it

#

download a big model

#

then see its suspiciously locked at a thing

#

like its a pretty generous cap but its a cap nonetheless

#

and this is all free open software they should just torrent it 💀

#

1.5b is kinda shit

#

I prompt it then it is still stuck on when I said hello 5 minutes

timid quartz
lavish dove
#

😭

timid quartz
#

well ok

#

it responds

#

but

#

i tried asking it a logic question and it didn't do anything lol

#

like it said "this is out of my current capabilities"

lavish dove
#

lmao

timid quartz
#

but I asked it on the actual deepseek website

#

and it thought for a whole ass minute lol

#

could try the 7b model

lavish dove
#

wont run on my pc

#

I dont have enough ram

#

well im gonna try it and see if I was lying about the no paging thing earlier

#

omg my internet is slow 😭

#

ill see you in a few years

spare quartz
#

AHAHAHAH

#

IT WORKS

#

lemme rec

lavish dove
#

beeeep

#

my old computer is fuckin quiet

#

the emulated one is like 100 decibels

spare quartz
lavish dove
#

and the new one with beep is also pretty loud

lavish dove
spare quartz
#

i think i can

#

but i need to figure out how to read files first

#

im just gonna attach this to the printing functions

lavish dove
timid quartz
#

neato

#

I'm gonna do the 8b based on llama

spare quartz
#

i really need to figure out how to impl IRQs without it causing a segfault

#

RTC is great but it only works on one vm platform and has a deadful 1000ms resoution

lavish dove
#

dam

timid quartz
#

91% util lmfao

lavish dove
#

yeah my gpu was going like

timid quartz
lavish dove
#

1 word half a secon

timid quartz
#

It's a little slower than llama3.2 3b but not very noticeably

spare quartz
#

does this count

lavish dove
#

yes

#

I love it

#

banger

#

bro has done all of this while im still working on a disc read function 😭

spare quartz
#

dw im catching up to that

lavish dove
#

well IT KEEPS GIVING ME AN ERROR

#

😭

#

im so mad at it

#

cuz im looking at the registers and everything looks perfect

#

oh nice its not erroing anymore

#

and its fucking stuck again 😭

#

what teh fuck did i do to get the error 😭

spare quartz
#

only one com channel and its already 50% of my entire low level pin enum

lavish dove
#

woah it actually wokrs the first few times yay

spare quartz
#

end goal with this os ............... play a bayachao video

lavish dove
#

now im reverting to old versions and it doesnt work

spare quartz
#

neat

#

vmwares serial port is faulty but qemus isnt

lavish dove
#

WHY TEH FUCK

#

IS IT NOT WORKING

#
readlba:
  ; eax (lba) to ecx (chs) only cylinder and sector
  xor edx,edx
  mov ecx, 64
  div ecx
  mov cl, dl
  shr eax, 2
  and eax, 0xC0
  mov ch, al
  inc cl

  xor eax, eax
  xor edx, edx
  mov ebx, 0x500

  mov dl, 0x80
  mov ah, 2
  mov al, 1
  int 13h
  jz err

  ret```
#

and its not working like at all

#

even a commit from when it worked doesnt work anymore

#

bruh I was checking jz instead of jc

#

STILL ERROR

#

what teh fuck man

#

all the registers look good

#

its reset

spare quartz
lavish dove
#

I hate this I hate this

lavish dove
lavish dove
#

for some reason it was erroring on a specific sector

#

bruh

#

why is it a random value now

#

it wont read the first sector

#

why

#

and now it doesnt work but is still giving me an error?

timid quartz
#

LOL

lavish dove
#

lmao

lavish dove
#

well now instead of giving an error it wont read the sector at all

lavish dove
#

the working commit doesnt work!?!??!

pastel tinsel
spare quartz
#

something..

proud creek
spare quartz
#

okay that wroks

spare quartz
#

wow

#

this whole time

#

RTC was causing crashes

timid quartz
#

Lol

#

What part

spare quartz
#

i don't know yet

#

i was just stepping through the serial writer cause it looked like that was the issue

#

but something in RTC is bugging out

timid quartz
#

gfg

spare quartz
#

bad game

timid quartz
#

obligatory “if you had written it in Rust…”

spare quartz
#

well you see

#

the RTC uses assembly

#

and no language can really be used there aside from it

timid quartz
#

hmm just…use gcc to generate assembly from Ada

#

Or C if you really have to

spare quartz
#

im pretty sure whatever inline assembly is being used is not being contained safely

timid quartz
#

Write some high level language code

#

Generate assembly from it

#

Use that generated assembly instead

spare quartz
#

oh you're saying use objdump

timid quartz
#

No I’m saying gcc -S

spare quartz
#

thats way too complex

#

objdump --disassemble=<symbol> is easier

proud creek
timid quartz
#

typical ada user preferring the more verbose answer

spare quartz
#

its not verbose if its already done for me ...

timid quartz
#

you don’t understand

spare quartz
proud creek
#

pretty mych

timid quartz
# timid quartz you don’t understand

you: "oh my hand-written assembly memcpy is broken"
steps:

  1. nano my_memcpy.c
  2. create memcpy in C
  3. gcc -S my_memcpy.c
  4. Copy from generated assembly and paste into rts
timid quartz
#

because the code you made earlier was broken

#

and why fully compile just to objdump

spare quartz
#

because this isn't isn't within a complete file of assembly

#

it's a bunch of small in/outs which are inlined

#

it's easier to just look at the completely disassembled function w/ the inlined code at least for me

timid quartz
spare quartz
#

687

#

i can count

#

x86 isnt real

#

NO

#

NO WAY ITS A MEMMOVE ISSUE

#

wait no i just used c

#

fml

#

okay it crashes here

#

the first exception is "INVALID_OPCODE" so

#

hmm

#

i think i need to tell it not to vectorize

#

looks like that fixed it

#

aha

#

that also fixed the 15+ byte crashes on strings!

#

so im NOT a bad coder

lavish dove
#

I am 😭

#

I literally plugged in the registers manually

#

and it STILL ERROR'S

#

like

#

im pretty sure its a problem with qemu now

spare quartz
#

probably is

#

i was gonna ask if you've tested it on other vms

#

cause there can be a lot of diff behaviors

lavish dove
#

yea

#

im gonna try it with different accelerators first because theres no fuckin way its a problem with qemu

#

bruh it works with qemu+kvm but not just normal qemu

spare quartz
#

thank god im no longer limited

lavish dove
#

wait were you using like xmm registers for strings somehow

spare quartz
#

yeah GCC was trying to use xmm for large (15+ bytes) string concat

lavish dove
#

dyamn

spare quartz
#

since i haven't added CPUID yet, kernel doesn't know my qemu doesn't support fp so

#

it goes kaboom

lavish dove
#

waa

spare quartz
#

i love segmenting

#

holy CRAP ada interrupts are complex

#

it gave up

lavish dove
#

why does it haved to be

#

like

#

increments of 16

#

and its such a cool idea then they plaster it and throw it away in even protected mode

spare quartz
#

im such a good programmer fr

#

alright

#

i think this is good enough

#

changed 0x107DFE to 0x007DFE and yup

#

shocking

#

oh right

#

gotta clobber the flags since TEST sets ZF

spare quartz
#

nice

spare quartz
spare quartz
#
WAV

Waveform Audio File Format (WAVE, or WAV due to its filename extension; pronounced or ) is an audio file format standard for storing an audio bitstream on personal computers. The format was developed and published for the first time in 1991 by IBM and Microsoft. It is the main format used on Microsoft Windows systems for uncompressed audio. Th...

#

TODO

spare quartz
#

おきつねマンガ描きました

timid quartz
spare quartz
#

that was written by bayachao silly

timid quartz
#

o lmao

spare quartz
#

anyways GDT is still beating my ass

#

and ive made this strange type to cap them

timid quartz
#

Bayachao didn’t write a 100% grammatically correct sentence

spare quartz
#

oh my god

timid quartz
#

It’s common to omit some particles and bayachao omitted one, which while technically not wrong isn’t completely right either

spare quartz
#

keep talking i've jusut got an idedae i need to write down

timid quartz
#

For your sake you need to know

#

The completely correct sentence would be
おきつねマンガ****描きました

#

The を explicitly denotes the direct object

#

But it’s common to omit that particle especially when speaking more casually

spare quartz
#

noted noted

spare quartz
#

sorry i just got reminded of the book you sent i have sitting in downloads i haven't read yet due to kernel stuff

#

i wanna try reading it on my kernel

#

aw crap i gotta do art stuff for modding soon

spare quartz
timid quartz
#

OH

#

lol

spare quartz
#

AAAASS

#

i dont have high hopes for this code

#

but here goes nothing

#

seems to have worked?

#

lemme add a divide by zero

#

uhmmm

#

it should've written an excception..

#

i guess not

#

GDT= 00000500 00000020

#

hey!!!

#

it worked!!!

#

by default it'd be
GDT= 00000000 00000000

timid quartz
#

x3

spare quartz
#

can't do

#

the gdt is two values

#

my assembly works!!!

timid quartz
#

far

#

more like fard

spare quartz
#

idk what to name it

#

since it's ... far

#

no exceptions thankfully

#

update i forgot to actually run the code

#

uh oh!!!

#

ohh

#

it wants a SELECTOR

#

not an address

spare quartz
#

hm

#

so for some reason the reloading is causing a segment not present exception

#

but the GDT is being implemented and read fine

timid quartz
#

an @spare quartz database?

spare quartz
# timid quartz an <@516049910622191626> database?
#

go to my school

#

ooowwwwwwwww

#

okay soooo

#

0 00 xxxxxxxxxxxxx ...

#

hmm

#

i should just shift it to the .... left? 3 bits?

#

no that didnt owrk

#

私あなたを殺す!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#

ええ、きみ!!!!!!!!!!!!!!

spare quartz
#

did thisssss make sense

spare quartz
#

i understand why the interrupts were failing last time now

#

i was in protected mode implicitly by the BIOS, which doesn't support the IVT

proud creek
#

Intermediate value theorem?!?!

spare quartz
proud creek
#

Learn calculus smh

spare quartz
#

no

#

what has calculus ever done for me

#

IDT is being set...

timid quartz
lavish dove
timid quartz
#

You could also omit that entirely and leave it inferred that you will be doing the killing

spare quartz
#

LETS GOOOOOO

#

the interrupt handler work!!!

spare quartz
#

bad news is i cant erturn out of it cause it corrupts my stack

spare quartz
#

I GOT INTERRUPTS ACTUALLY WORKING :3

#

rn it goes into a trap handler which is bad but im gonna try to fix that

spare quartz
timid quartz
spare quartz
#

these are super sensitive

#

printing causes the IP to totally shit itself

#

and by the end of the handler ... its at the bootloader

timid quartz
#

Yeah cause printing needs an IO interrupt wheeze

timid quartz
spare quartz
#

printing doesn't need any cpu I/O ops

spare quartz
#

on the INTERRUPT ISRs iret does do something ... but it throws a GPF afterwards (probably not accounting for a datum)

timid quartz
spare quartz
timid quartz
#

oh ic

spare quartz
#

default_interrupt_handler applies to ALL interrupts which is why it hlts instead of iret

timid quartz
spare quartz
#

no_op does the same cause i cant return not knowing whats on the stack

timid quartz
timid quartz
spare quartz
#

ah, probably need a popw

spare quartz
#

probably was inserting a popd or popb

#

this should be good

#

oh right

timid quartz
#

I think you wanna pop and then popw

spare quartz
#

wait no thats correct

spare quartz
#

its just the vector number

timid quartz
#

well if you wanted to do it in the correct order

spare quartz
#

oh i see what you mean

timid quartz
#

It would be better to add 16 to rsp

#

So you can preserve eax

spare quartz
#

esp in this case but yeah

#

awit

#

ughgugh

#

don't need the pop

#

ignore me im a little stupid sometimes

#

check_exception old: 0xffffffff new 0xd
1: v=0d e=f9ec

#

gpf..

spare quartz
#

making a pr

#

*Before the ret, this code is executed, to tell the PIC that it's OK to send any new or pending interrupts, because the current one is done. The PIC doesn't send any more interrupts until the cpu acknowledges the interrupt: *

#

okay so theres still a gpf in no_op

#

gonna go into gdb and check out why

#

BUT FIRST
makefile modfiications

spare quartz
#

it's so ugly

timid quartz
#

You mean BEAUTIFUL

spare quartz
#

timid quartz
#

makefile ❤️

spare quartz
#

uhhhgh

#

is there a way to make qemu run

#

but NOT wait for it to exit

#

and jump into gdb

timid quartz
#

uh

#

qemu -g I think

spare quartz
#

qemu-system-i386: -g -d: Option not supported for this target

timid quartz
#

-s or -S by bad

spare quartz
#

that just enables gdb debugging, not opens gdb

#

-S pauses execution

timid quartz
#

Yeah so you have to use -s

spare quartz
#

i am

timid quartz
#

And then gdb attach

spare quartz
#

okay but

#

makefile is pausing waiting for qemu to run

timid quartz
#

oh lmao

#

Put an ampersand after the qemu run

spare quartz
#

okay that worked

#

thank you :3

timid quartz
#

Yeah it just backgrounds the qemu process

spare quartz
timid quartz
#

you can get it into the foreground with fg

spare quartz
#

yay it even runs the remote well

#

just need to make it go into layout asm too

timid quartz
#

GNU needs their own executable format called GNOME

spare quartz
timid quartz
#

GNU NOrmalized Multipurpose Executable

spare quartz
#

OK

#

note to self

#

REDIRECT QEMU TO A FILE

#

god gdb is so easy to segfault its insane

timid quartz
#

oh?

#

u sure it’s not just ur kernel rot

spare quartz
#

its gdb segfaulting so yeah i'm sure

#

like i can just unhook qemu, run it again, target remote and it has a 50% chance of segfaulting

#

making me have to do file, remote, layout, break all over again

timid quartz
#

well dont unhook qemu

#

ez

spare quartz
#

how else do i reload it 😭😭 its locking me filse...

timid quartz
#

u press C to continue duh

spare quartz
#

that doesn't reload the kernel dolt

#

kids these days ...

timid quartz
#

no but if it’s locking you out

spare quartz
#

no like

#

filesystem lock

timid quartz
#

oh L_

#

bad kernel

spare quartz
#

YOU'RE an l

#

NO

#

my kernel won't have fs locks 😎 itll uhmm

#

itll do the presidential elections everytime a handle is aquired

timid quartz
#

Hell naw your computer gonna vote for Trump

spare quartz
#

😭

#

there

#

am i a real programmer yet

spare quartz
#

what teh fuck

#

windwos

#

no

timid quartz
spare quartz
#

IM PLAYING A BAYACHAO GAME

#

.... that i pirated cause i cant afford it :<

timid quartz
#

make ur own bootloader u cant afford multiboot or grub

spare quartz
#

but grub is free 🥺

spare quartz
#

ugfghuguhguuh

spare quartz
#

oh yeah

#

everyone hates me in this game :<

proud creek
spare quartz
spare quartz
full berry
#

@pastel tinsel (or anyone else who knows) what's the name of that one open source service to make online documentation for your projects

#

like for code and shit

full berry
spare quartz
#

i could also recommend gnatdoc but... thats not applicable to you!

rustic vine
#

mkdocs is good too I've heard

#

doxygen for cpp if you want api docs

rustic vine
full berry
#

maybe

#

im not sure we'll see

rustic vine
#

I think vitepress looks good

#

if you're undecided

spare quartz
rustic vine
spare quartz
#

IT IS TIME

#

TO DECODE

#

RPGMAKER FILES!

#

EXPLORER CRASHED!

spare quartz
#

:33333333333

spare quartz
#

its a nice game

#

HOLD THIS

spare quartz
#

ALRIGHT!!!!! !! !! !

#

its back to cod ing

#

and art

proud creek
#

@spare quartz a you database

spare quartz
proud creek
#

die

spare quartz
proud creek
#

smh

spare quartz
#

im gonna post furry art

#

pls ignore

proud creek
spare quartz
rustic vine
#

@spare quartz yo did you see that F-35 that crashed in Alaska

#

I just saw a video about that now

spare quartz
rustic vine
#

up above?

spare quartz
#

in dms

rustic vine
#

oh alr

spare quartz
#

commander of the division for the fighter jet came out and said it was some in-flight malfunction

#

during the landing

#

pilot ejected safely but... idk what made it fail so weirdly

rustic vine
#

ye looked like it was just doing like in place rolls and falling

#

thats so weird lol

#

its like it wasn't flying

#

and just falling instead

spare quartz
#

engine was still on too

#

its so weird

rustic vine
#

oh really?

#

huh

spare quartz
#

you can hear it

rustic vine
#

oh yea

#

so not really any info atm I assume

spare quartz
rustic vine
#

ig we'll find out sometime in the future

rustic vine
spare quartz
#

obv not the original jet since it was probably totally obliterated but

#

funny image nonetheless

#

if it was a programming issue i blame it on C/C++

#

should've used SPARK

rustic vine
#

disaster

#

well glad everyone is ok

#

super interested to find out more when that comes out

spare quartz
#

not the engineers 👍

rustic vine
#

LOL

spare quartz
#

well actually one set of engineers is happy

rustic vine
#

but idk how much we'll get so

spare quartz
#

the people who made the ejection seat get to increment a counter

rustic vine
#

theres prob one set of engineers that found this bug but got ignored

spare quartz
#

i wonder how they push these updates out

#

the computers they use on jets is super weird

#

(and relatively limited since they're shielded + from ~2006)

rustic vine
spare quartz
#

their twitter account did

rustic vine
#

actually idek how their versioning works

#

or if theres versioning

spare quartz
rustic vine
#

🙏

#

goated

spare quartz
#

honestly wish i could buy one of those seats w/o the rocket booster

#

looks comfy

#

some replicas come in at thousands though

spare quartz
#

they probably just flash them though

rustic vine
#

do not unplug jet from ground power until the update is complete

timid quartz
#

lmfao I watched DeepSeek get censored in real time

#

I turned on the thinking model and saw it mention something about Taiwan during the thinking

spare quartz
#

yeah I’ve had it do that a lot

timid quartz
#

and it was mid-response when it suddenly got censored lmao

#

augh deepseek ddos moment

#

cmonnnn

#

@spare quartz it's getting ddosed sadge

spare quartz
#

local model :3c

timid quartz
#

ughhh I don't wanna turn my windows pc back on

#

and my macbook absolutely fucking chugs cause it has no decent gpu

spare quartz
#

Well

timid quartz
#

google gemini it is

spare quartz
#

I’m on bed…

#

And it’s working for me

timid quartz
#

ok but ur laptop has gpu

spare quartz
#

I have a phone idiot

#

My laptop is from 1998

#

😭

timid quartz
#

and you're running a model on your phone?

#

or do you have an interface b/t your phone and pc

spare quartz
#

Noooopeee

#

The web model is working fine!!

timid quartz
#

it's down for me

spare quartz
#

Odd?

#

Only like

#

The search feature is broke

timid quartz
#

website inf loading type deal

spare quartz
#

Yeah for me it loads fine

#

Occasionally it drops out mid req but

#

Overall it can think

timid quartz
#

it's not my college blocking it either

#

it's actually getting attacked lmao

spare quartz
#

Also…

#

Unfortunately I learned my first Japanese word on accident :<<<

timid quartz
#

either that or I have been disconnected from deepseek by the CCP

spare quartz
#

latter, you’re too weird for them…

#

Harry get a pass for aera

timid quartz
#

no doesn't load on my other phone

#

it's legit down

spare quartz
#

Ooooookay

#

It dropped for me too

#

🙏

#

OpenAI is really trying to make their money count

#

Wa…ta…shi

spare quartz
#

SIGHHH

spare quartz
#

rote memorization or whatever

timid quartz
#

spare quartz
#

I heard it so much I had to get its meaning in my head

#

I