#MINTIA (not vibecoded)

1 messages · Page 18 of 1

twilit smelt
#

plus you can do like mfcr zero, scratch0 to reset the nmi masking period

#

or whatever

raven drift
#

rv now has a well defined NMI model

#

NMIs are masked in NMI handlers

#

there is a distinct instruction to return from NMI handlers (mnret)

#

FRED will fix NMIs on x86 by doing pretty much the same (= distinguish between return from NMI and return from interrupt)

twilit smelt
#

@icy bridge basically just don't worry about nmis lol

#

they aren't used by xrstation for anything functional

icy bridge
#

Like the whole nmi extension only affects M mode

raven drift
#

well, NMIs are only taken into M mode but there is a mechanism in SBI to forward them to S mode (not forward the literal NMI but forward an event that corresponds to an NMI)

#

it's called SSE

#

Supervisor Software Events

icy bridge
#

ah

dense vigil
#

@icy bridge btw u probably want CONFIG_SLOB instead of slub

#

Iirc it's designed for very low memory amounts

icy bridge
#

i'm not doing any config changes until it works with this current one but noted

dense vigil
#

Slub might oom quickly

#

But not sure

icy bridge
#

eh i can increase mem up to 256M in the emulator

dense vigil
#

Wait really

icy bridge
#

i highly doubt it'll need that much

#

yeah

dense vigil
#

Why is 256 the max

icy bridge
#

on the default 4M ooms in the bootloader lmao doesn't even get into the kernel

dense vigil
#

Lol

icy bridge
#

each ram bank is placed at a 32M boundary regardless of the capacity of the previous one (even if the previous one has 0 capacity) and there are 8 ram banks

dense vigil
#

Interesting

icy bridge
#

neither of those numbers can be increased since it'd break the firmware's abi:

  • the boot info contains a static array whose size is the number of ram banks
  • the boot info only contains a total amount of memory and the size of each ram bank, so everything that interfaces with the firmware has the 32M interval thing baked in
twilit smelt
#

yeah and this is all fairly typical for like 1989 workstation

#

including the weirdly specific firmware interface

#

they'd just write new firmware

#

lol

icy bridge
#

luckily neither of those things will be compiled into linux since the bootloader translates the firmware-provided info (including memory map) into a dtb

dense vigil
#

That's good

icy bridge
#

one weird thing that isn't because of an architectural limitation though: the emulator seemingly tries to spread out the given amount of memory evenly over the 8 ram banks

#

so if you specify like 64M you get 8 banks with 8M each

#

which might cause problems in the future for linux since even if the total amount of memory is sufficient to load the kernel there might not be enough contiguous memory

twilit smelt
#

Yeah that's for testing purposes to make sure the system software deals with non contiguous physical memory right

icy bridge
#

for now it's fine since the kernel image is ~3.5MiB including bss which is less than the minimum amount of space per memory bank

#

but if that grows too much it could become an issue very easily

#

especially considering this is a minimal config of the kernel

#

i might have to switch out the boot protocol to a paged one in the future for this reason

#

where the kernel can be noncontiguous physically

dense vigil
#

In the config

icy bridge
#

but idk how much linux code (if any) assumes physically contiguity

icy bridge
#

i started with an empty config and added stuff until it compiled

#

arch Kconfig: ```

SPDX-License-Identifier: GPL-2.0-only

config XR17032
def_bool y
select GENERIC_ATOMIC64
select THREAD_INFO_IN_TASK
select HAVE_PAGE_SIZE_4KB
select ARCH_SPARSEMEM_ENABLE
select GENERIC_IOREMAP
select FUNCTION_ALIGNMENT_4B
select GENERIC_IRQ_SHOW

config MMU
def_bool y

config GENERIC_CALIBRATE_DELAY
def_bool y

config GENERIC_HWEIGHT
def_bool y

menu "Kernel features"

source "kernel/Kconfig.hz"

endmenu

#

and defconfig is literally just an empty file

dense vigil
#

Probably doesnt need sparsemem

icy bridge
icy bridge
dense vigil
#

Since its only 256 mib and the ranges are next to each other the vmemmap can be contiguous one blob ig

icy bridge
#

it's just the overall system design of xrstation that limits it to 256M

#

I know that xrstation is most likely the only configuration of xr17032 that will ever exist but I wanted to be able to deal with theoretical other configs as well

dense vigil
#

A qemu backend could not have this limitation

#

Theoretically

icy bridge
#

Yeah exactly

#

Which is actually something I'm interested in exploring

#

Maybe I'll even port OVMF to xr17032 (probably not)

dense vigil
#

Yeah that would be cool af since it comes with tons of devices

#

And a jit

icy bridge
#

And gdbstub support which would be very useful considering xremu's builtin debugging is very limited

night needle
#

how does the dtb for this look like

icy bridge
#

it's generated at runtime give me like a minute to dump it

night needle
#

oh nice

icy bridge
#

this is in the 32M ram 1 cpu configuration

night needle
#

very nice

mortal thunder
#

if not, then how come you dont have missing symbols for those

icy bridge
#

it's just a header full of static inline functions

#

but yes though i am not certain they are fully correct

dense vigil
#

did u use the builtin header which flattens all levels but 2?

#

other than that it should be just a few inlines yeah

#

and a vm prot to pte prot or whatever

icy bridge
dense vigil
#

probably that

icy bridge
#

annoyingly even with that header you have to define some pmd stuff

dense vigil
#

also whats kinnowfb?

icy bridge
#

it's xrcomputer's video card

#

it's just an 8-bit static palette framebuffer

dense vigil
#

ah

icy bridge
dense vigil
#

that should be fun to expose as a drm fb

icy bridge
#

love how the register interface for kinnowfb supports 4095x4095 resolution setups

#

4k on my late 80s workstation

dense vigil
#

1 fps/hour KEKW

icy bridge
#

still

twilit smelt
#

concept: guy who says "hi" whenever he opens a discord channel and "bye" before he clicks to another one

#

@icy bridge still playing silksong

shadow ridge
#

port hollow knight to mintia

twilit smelt
#

hi

#

bye

shadow ridge
#

hi

shadow ridge
#

because i just check unread messages in rapid succession before deciding which ones to engage in

dense vigil
ocean valley
shadow ridge
#

though i didnt bother to check until i messaged in here

#

and saw it was will

queen torrent
#

@twilit smelt mr hyena man did you spin in your old pushlock implementation before sleeping and if so what was the optimal number of spins

twilit smelt
twilit smelt
#

but like no i dont think i did, i do spin in my turnstiles impl

#

theres a law whose name i forget where if youre spinwaiting for a while to avoid a costly transition (such as blocking and selecting a new thread and a context switch)

#

its optimal (for some statistical reason) to spinwait for about half the amount of time the transition would take

#

so figure out how long your full circuit scheduling path tends to take and cut that in half and try to spin that long

queen torrent
#

I see, thanks for your wisdom hyena man

dense vigil
#

This is a Liam

twilit smelt
#

Wanted to shake things up

dense vigil
#

Ohh

shadow ridge
#

so you have to be iam

#

not liam

#

(if you're dropping the will)

queen torrent
#

Gotta have half of the l, 'iam

mortal thunder
#

@twilit smeltspotted in the wild: Windows NT Modified Page Writer car

twilit smelt
#

wel there's a blacked out letter

#

That could say anything

#

It could say NT SUCKS IM A HUGE LINUX FAN MPW

#

Had a dream about working on mintia and woke up feeling very bad I've barely done any work this year

mortal thunder
shadow ridge
#

sometimes.. i dream about mint

icy bridge
#

@twilit smelt are non-wired tb entries architecturally guaranteed to persist as long as they aren't overwritten by a tb handler or should i treat them as ephemeral at all times unless backed by the page tables

#

for context i am doing the unpaged-to-paged transition and i was wondering if this was possible by manually adding a non-wired itb entry that identity maps the page containing the jump to the proper virtual addresses

#

if non-wired tb entries should be treated as emphemeral at all times i would need to back this itb entry in the page tables which i would like to avoid

#

or just use a wired tb entry ig but that feels icky

twilit smelt
#

then theres no reason it would disappear

icy bridge
#

yeah i can guarantee that

#

thanks

twilit smelt
#

but theres no guarantee about the replacement policy for example

icy bridge
#

i was just wondering if things like speculative execution might mess it up

twilit smelt
#

perhaps

#

but not in 1989

icy bridge
#

fair enough lol

icy bridge
icy bridge
#

i can't really think of a reliable way to do speculative tb fills with software tb

#

do they just abort speculation if a speculative tb lookup misses?

twilit smelt
#

yes

icy bridge
#

fair enough

twilit smelt
#

thats one of the reasons software tlb refill disappeared i think

icy bridge
#

yeah thatd make sense

icy bridge
#

btw how's the implementation of adr going? for now i'm perfectly fine without it (the kernel itself doesn't need pic) but once i start doing userspace stuff it'll very much be a necessity

twilit smelt
#

Jk

#

I could do it in like 5 min at any time I've just been super busy and when im not busy im tired

icy bridge
#

thats fair yeah

#

i was in a situation like that for months with my kernel

dense vigil
#

imagine upstreaming the xr port

#

that would be funny

icy bridge
#

it would

dense vigil
#

like pretend to be some crazy rich croporation with a new arch KEKW

icy bridge
#

anyway, update: the kernel successfully executes C code! it now gets to the __builtin_trap() in my setup_arch stub

#

not much to see for now but hopefully that will change tomorrow because i am going to try and figure out earlyprintk

#

if everything goes well then i should get the first real linux output because this executes before setup_arch

azure tinsel
#

is there a c compiler for xr?

icy bridge
#

yes, i ported gcc to it

#

note that while the compiler does work and seems relatively reliable i haven't done any super robust testing (beyond "make stuff with it until a bug is found") and libgcc does not compile yet

azure tinsel
#

cool, might check it out when i'm done hurting clang

icy bridge
azure tinsel
#

cool

queen torrent
dense vigil
#

But great work

#

Or well nothing prevents you from registering a console as the first line I guess

heady bobcat
icy bridge
#

that was much easier than i thought lol

#

it's very temporary code and you can tell (it just uses a wired dtb entry with a constant vaddr to get access to the registers so that it doesn't have to rely on early_ioremap)

#

but it works!

dense vigil
#

lol nice

icy bridge
#

does xrcomputer have any timing facilities with sub-millisecond precision? the only time stuff i can find is the rtc which only deals with milliseconds

#

i don't need interrupts that often ofc but being able to stall for less than a millisecond would be nice

twilit smelt
icy bridge
#

just general delay stuff

#

linux wants udelay

#

rn i'm just doing a loop-based thing (where the speed of each loop is calibrated during boot) but it'd be nice to base it on an actual timer instead of execution speed

twilit smelt
#

Sadly you'll have to just do that

icy bridge
#

fair

dense vigil
#

i mean old x86 hardware also just used the in instruction for delays or whatever

#

which guaranteed at least 1 us or something?

icy bridge
#

also means CLOCK_MONOTONIC will just be jiffies so userspace can say goodbye to precise timing ig

dense vigil
#

probably not true for current hw

#

yeah vdso will be useless as well

twilit smelt
icy bridge
#

i mean yeah but the ibm pc from 1981 had a microsecond-precise timer

#

it's not like that level of precision was unheard of in the late 80s

twilit smelt
icy bridge
#

some questions about i/o caching and ordering:

  • do dcachectrl writes just invalidate modified cache lines or do they also write them back into memory?
    • if they do, how do you ensure that after a noncoherent dma read (device -> memory) the newly read data isn't overwritten by the cache flush?
    • if they don't, how do you ensure that before a noncoherent dma write (memory -> device) the cache lines are written back to main memory?
  • can accesses to uncached memory be reordered wrt one another? (aka do you need memory barriers between device register accesses)
  • can accesses to uncached memory be reordered wrt normal accesses? (aka do you need memory barriers for coherent dma)
#

oh and for noncoherent dma, does the dcachectrl write function as a memory barrier or do you need both

twilit smelt
#

Not writeback

#

For questions 2 and 3 the answer is no and yes

icy bridge
#

alr ty

#

and I suppose the memory barriers drain the write buffer

raven drift
#

the first bullet (how do i ensure that newly read data isn't overwritten by the cache flush) is usually not an issue on mainstream archs

raven drift
#

You'd expect a writeback to also clean the cache (i.e., move the cache lines into a state != Modified)

#

I don't know of any arch that has a writeback-but-keep-dirty instruction

twilit smelt
icy bridge
raven drift
#

you just writeback+clean before and after the transfer

#

For example, that's how you need to do it with non coherent memory on x86

icy bridge
#

what if userspace writes to the cache line during the operation (this can happen with e.g. O_DIRECT i believe)

raven drift
#

that's simply not supported

icy bridge
#

fair enough

twilit smelt
#

whats the status of things right now, where are you at @icy bridge

icy bridge
#

haven't done much since getting earlyprintk output, just looking over the various stuff I've put in the headers to see if it's actually consistent with architectural behavior

#

once that's done I'll start actually filling out the init sequence

twilit smelt
#

should be interesting writing a disk driver and stuff

#

and interrupt controller support and so on

#

are you planning on actually supporting SMP

icy bridge
#

probably yeah

queen torrent
#

When xrstation linux works send a message here from it 🔥

twilit smelt
#

xrstation has no networking so that would be tough

#

i was gonna design a fictional NIC when i got there in mintia

#

i guess he could do some strange kind of ethernet over serial or something

icy bridge
#

Maybe yeah

#

also, maybe i'm doing something wrong, but -serialrx and -serialtx seem to be no-ops for some reason?

#

oh wait it's for serial port b not a

#

nevermind

twilit smelt
#

yeah

icy bridge
#

that's better

#

that'll help with ethernet over serial if i get there

#

9600 bps ethernet sounds like a pain though

twilit smelt
#

i mean its in principle infinitely fast as long as you dont supply -asyncserial (which should probably be called -seriallatency instead or something)

icy bridge
#

ah ok

#

or I could just add an xr17032 target to qemu (which I am interested in doing anyway) and use some PCI ethernet card

#

or virtio

#

not as fun though

safe hollow
#

SLIP is really period accurate too

#

was already widespread in 1988 according to Wikipedia

twilit smelt
sterile frost
queen torrent
#

Fr

sterile frost
#

btw have you considered making a separate repo for linux instead of it being a single patch?

icy bridge
#

considered yes but having everything incl. jinx recipes in a single repo makes it easier for now

#

mostly because I'm effectively porting 3 things at once: binutils, gcc, and linux

icy bridge
#

just to confirm, xr17032 has the same "dependent loads can be reordered" thing as alpha, right?

twilit smelt
icy bridge
#

yeah but like architecturally

twilit smelt
#

ill say no

icy bridge
#

alr ty

twilit smelt
night needle
#

car

shadow ridge
#

if i had the time i would write an SDL backend for mintia

#

would be interesting to see how it would turn out i think

#

@twilit smelt xrstation emulator doesnt have an audio device currently right

#

i think it would be really cool to flex standard frequency audio playback

twilit smelt
shadow ridge
twilit smelt
#

i was gonna do it double buffered with buffer refill interrupts

#

2 sample bufr

#

I WAS GONNA DO IT DOUBLE BUFFERED WITH BUFFER REFILL INTERRUPTS.

#

2 SAMPLE BUFR.

#

GOD!!!

shadow ridge
#

slay

#

by 2 sample you dont mean 2 audio samples right

#

do you mean 2 channels

#

i think mintia should support 7.1 surround sound setups

#

only supporting stereo is some weak unix clone shit

#

you dont want xr station to be one of those "enables a20 line, loads gdt and idt + page table support!!" projects do you

#

anyways if it cant mix multiple 44100 hz 24 bit audio files real time, it'll be a very uncool project that is very not cool at all

twilit smelt
#

2 (sample buffers)

#

there are sample buffers

#

two of them

#

its not 2 channle

#

thats per channel

#

two buffesr per bchahenl

#

the buffer swould contian liek idk like 0.5 sec ond s of audio each and they woudl then be like yeah

shadow ridge
devout geyser
shadow ridge
#

somehow

shadow ridge
twilit smelt
#

it could do like 40 megabytes per second iirc at 20mhz

#

you can map the sample buffers writecombine like a framebuffer

shadow ridge
#

so you need to mix a shit ton of buffers at interrupt time

twilit smelt
#

not at interrupt time

shadow ridge
#

well you could do it async

twilit smelt
#

you can do it ahead of time

shadow ridge
#

and copy from a buffer at interrupt time

twilit smelt
#

yes that

shadow ridge
icy bridge
twilit smelt
icy bridge
#

oh fair

mortal thunder
#

it ran at 1,193,182 hz

dense vigil
#

@icy bridge btw any progress on the port?

icy bridge
#

not since friday, haven't been working on it since then

dense vigil
#

ah

icy bridge
#

actually I don't think I sent an update then? it currently gets to successfully parsing the dtb

dense vigil
#

damn

#

where does it die atm

icy bridge
#

at panic("TODO: setup_arch")

dense vigil
#

ah

icy bridge
#

also I'm pretty sure this is the only linux port where the kernel image is not physically contiguous which is interesting

#

it used to be but I changed the boot protocol due to the xremu ram spreading behavior

shadow ridge
#

ram spreading??

icy bridge
#

it spreads the given ram size over all banks (with at least 4M per bank)

#

so if you specify 32M ram you get 8 banks of 4M

shadow ridge
#

ah

icy bridge
#

which is problematic because each bank's starting offset is determined only by its index

#

so you get a bunch of small regions with lots of space between them instead of one big contiguous region

icy bridge
#

32M

shadow ridge
#

so you get 8 4M banks with 28M padding?

#

wtf

icy bridge
#

yep

#

and considering an extremely barebones nonfunctional version of linux already has a ~3.6M kernel image I figured making the kernel image physically noncontiguous was important

#

right now the boot protocol involves the bootloader creating page tables and passing them to the kernel without enabling mmu itself

#

so the kernel is free to set up the tlb however it wants before enabling paging

#

but this does mean that the pre-paging part of the entrypoint isn't allowed to cross a page boundary (right now I just use the first 256 bytes of the exception block for this)

shadow ridge
#

cant believe we're getting linux on limnstation before mintia 2

queen torrent
#

hi slow

twilit smelt
#

asshole.

queen torrent
#

where I dont see any

shadow ridge
#

liamstation

twilit smelt
#
kdebug> threads
            name  thid  team cpu state     sem
   idle thread 1     1     2   0 rdy
   psycho_killer     2     2   0 rcv
   kernel_daemon     3     2   0 slp
    1 idle angel     5     2   0 wai debug idle thread 1(29)
         dprintf     6     2   0 slp
           dgets     7     2   0 wai request for input(48)
              sh     9     3   0 RUN
#

report of the threads command on BeOS's built in kernel debugger

#

i like the psycho killer thread and the kernel demon and idle angel

mortal thunder
#

They were having fun

twilit smelt
#

@icy bridge this might be a pain but do you think you can write out a list of all the stuff you pointed out to me

#

For example the mistakes in the book, the changes in jalr signedness, and ADR

#

I think one reason I haven't gotten around to any of this is laziness about getting all these things together

icy bridge
# twilit smelt <@938223886439436320> this might be a pain but do you think you can write out a ...
  • docs+emu: ADR instruction (ADR RA, IMM16, Reg[RA] = PC + (IMM16 << 16), immediate operate format, opcode = 0x30, RB field is ignored or MBZ)
  • docs+emu: JALR instruction should zero-extend instead of sign-extend
  • docs: instruction summary for LSH, RSH, ASH, ROR list registers in incorrect order (RA, RB, RC instead of RA, RC, RB - detailed description lists them correctly)
  • docs: LSH/RSH/ASH/ROR should mention that operand is masked with 31
  • docs: MTCR pseudocode names incorrect source register (should be RB instead of RA)
  • docs: MB and WMB descriptions should probably be rewritten to match #1322494605819908156 message
  • docs: PAUSE function code is listed incorrectly in hexadecimal (but binary is correct)
    iirc this is everything but i might be forgetting some stuff
dense vigil
#

Btw any new progress?

icy bridge
#

been too busy to work on it

twilit smelt
#

Embarrassingly huge number of docs errata

twilit smelt
#

it was indeed helpful to put it all in one spot, thank you

dense vigil
#

Did you add the instruction monkuous was asking for?

twilit smelt
#

yes

#
static void XrExecuteAdr(XrProcessor *proc, XrIblock *block, XrCachedInst *inst) {
    proc->Reg[inst->Imm8_1] = inst->Imm32_1;
    XR_NEXT();
}

static XrCachedInst *XrDecodeAdr(XrProcessor* proc, XrCachedInst *inst, uint32_t ir, uint32_t pc) {
    inst->Func = &XrExecuteAdr;
    inst->Imm8_1 = (ir >> 6) & 31;
    inst->Imm32_1 = pc + (ir & 0xFFFF0000);
    return inst + 1;
}
#

very shrimple

dense vigil
#

nice

twilit smelt
#

Not
Interesting or
Cool
End your project now

#

thats pretty mean

dense vigil
#

ill say that when xr gets acpi support

twilit smelt
#

it wont but mintia2 for amd64 will use uacpi

dense vigil
#

interesting and cool then

twilit smelt
#

in like 2027 probably

dense vigil
#

but a madt extension for xr would be funny too

twilit smelt
#

wait 2027 is actually pretty close now

#

thats been my go-to "impossibly far off" year for like 10 years

dense vigil
#

yeah

#

lmao

twilit smelt
#

im 23 and i already feel like my youth is far behind me and my life is coming to a close

#

my mental age is like 60

mortal thunder
twilit smelt
#

someone once called me "the oldest young person [they] ever met"

#

and that was like 4 years ago when my mental age was only 40

dense vigil
twilit smelt
#

i mean

#

it was true

#

they were saying that primarily cuz i was a very long time member of a community they were relatively newer in and i had stories from like 7 years earlier that id tell like a village elder with the kids gathered around the campfire despite being 19 and most of the newer people being much older than me lol

dense vigil
#

lol

#

23 on this server is very old

#

but im even older sad

twilit smelt
#

cant believe i started mintia when i was 18

dense vigil
#

most people are like 15

#

here

twilit smelt
#

when i was 18 i was suffering about how long mintia kernel was taking before anything interesting would happen

#

im now 23

#

sufferinga bout how long mintia2 kernel is taking before anything interesting will happen

dense vigil
#

wait u started mintia2 at 18?

mortal thunder
#

mintia 1

dense vigil
#

that was old mintia right

twilit smelt
#

yeah

#

old mintia was 2020-2023

#

almost the entirety of 2023 and first part of 2024 was spent on the new toolchain

#

mintia2 started in summer 2024

dense vigil
#

2020 feels like it was a year ago lmao

twilit smelt
#

the new toolchain did NOT need to take that long

#

i got seriously demotivated

#

i still am

#

i have yet to recover the motivation levels i had during old mintia

dense vigil
#

yeah i can see that

twilit smelt
#

at the final old mintia pace i think mintia2 kernel would be literally done by now

#

since i already know how to do everything this time

#

it would have gone much faster

dense vigil
#

for old mintia u would have 12 hour sessions where u would implement 999 things

twilit smelt
#

i had like an all consuming hyperfixation with it which is no longer present

dense vigil
#

thats less healthy i guess

twilit smelt
#

no i liked it better when i had the hyperfixation

mortal thunder
twilit smelt
#

i liked when every few weeks id run stress tests and spend like 10 hours straight fixing like 40+ bugs

mortal thunder
#

which means i can get a new project "released" in about 2 months

twilit smelt
#

old mintia still has no known bugs

mortal thunder
#

thats very cool

twilit smelt
#

"known bug" was not in my vocabulary

#

if there was the slightest whiff of a bug i would drop everything and fix it

#

mintia2 has been the same so far to the extent possible with a like 20% done kernel

#

i think thats the only way to do it if youre a one-man team working on something of that scale

#

if you allow a "bug backlog" to build up itll collapse under its own weight pretty fast

twilit smelt
#

so ive confirmed my brain is still capable of entering that mode lol

raven drift
#

You pretty much have to accept the existence of bugs when you run on a diverse set of real hardware though

mortal thunder
#

or "important enough"

twilit smelt
#

i disagree with generic code

#

like scheduling, filesystems, etc

#

most vmm logic

raven drift
#

well yeah

mortal thunder
twilit smelt
#

i think korona is saying theres always gonna be some weird hardware that your driver doesnt quite work well with even though you followed the spec perfectly

dense vigil
#

only then u can know that it works everywhere

mortal thunder
#

no?

dense vigil
#

yeah thats how hardware is

mortal thunder
#

if you encounter a bug in real hardware that is replicable you can fix it

#

if it's not replicable then it may stick around for a while, sure

#

but still fixable

dense vigil
#

regressions are a thing

mortal thunder
#

that's just another bug

#

or a bug resurfacing

dense vigil
#

hence the need for CI

mortal thunder
#

no

dense vigil
#

otherwise u have no way to prove that a given piece of code works everywhere

mortal thunder
#

sure

#

but those bugs arent "known bugs" 😛

#

if you dont know of a bug it's not a "known bug"

dense vigil
#

works on my machine trl

mortal thunder
#

exactly

mortal thunder
dense vigil
#

that would mean the hardware is broken

#

either mine or theirs

twilit smelt
#

wonder how many man hours are in my project

#

i think it could be 10k+

dense vigil
#

what if you count the time u spent thinking about it

twilit smelt
#

then it becomes the majority of my waking moments for the last 7 years

mortal thunder
#

how was it mined? it takes like 7 seconds to break one piece of obsidian with a normal diamond pickaxe and probably still like 3 with an enchanted netherite pickaxe and haste

acoustic sparrow
twilit smelt
#

that was survival

#

lol

acoustic sparrow
#

yeah obviously lol

mortal thunder
#

so my guess was right

acoustic sparrow
#

but yk

mortal thunder
#

oh even with haste 2 and an efficiency 5 netherite pickaxe it still takes 1.6s to mine

#

must have a lot of patience

acoustic sparrow
#

you dont have to mine the obsidian though?

mortal thunder
#

to place it?

acoustic sparrow
#

yeah

#

you can create it in place

twilit smelt
#

but placed by hand

acoustic sparrow
mortal thunder
#

well you could use lava buckets instead but buckets are not stackable so you need to pick up some lava, then swap to an empty bucket, pick up some more lava, etc

acoustic sparrow
#

right lol

#

im stupid

mortal thunder
#

and you can only have a couple thousand lava buckets at most

#

thats a damn big ocean

twilit smelt
#

been doing lots of high res renders lately

#

theyre fun

#

this one is normous

#

in particular

#

open in browser or download it

raven drift
#

Sure, it's theoretically possible but not in practice

mortal thunder
#

sure

raven drift
#

We were talking about keeping the system bug free in practice though, not only in theory

icy bridge
queen torrent
dense vigil
#

26

queen torrent
#

Damn

dense vigil
#

Yes

teal trench
#

old man

mortal thunder
tiny swallow
#

is there any sign of dwl's whereabouts

dense vigil
#

Turkey

tiny swallow
shadow ridge
pastel flume
dense vigil
#

Very

pastel flume
#

Is that allowed here or

shadow ridge
#

it's ok it's only 14% racist

#

the rules say you cant go above 15%

dense vigil
shadow ridge
#

ewww whaaaat

pastel flume
#

In that case I hate Bosnians!

#

Balija fucks

#

Cevapi munching

shadow ridge
#

this is what american influence does to people

dense vigil
#

He lives in America iirc lol

shadow ridge
pastel flume
#

I’m Balkan

#

I just know that shit don’t always fly around here

shadow ridge
#

dont worry most westoids only care about shit like racism/bigotry if it's against the minorities they approve of

pastel flume
#

To je smiješno

pastel flume
#

Westoid is funny

shadow ridge
shadow ridge
pastel flume
#

That’s why I avoid Balkan farts in this server

#

Balkan culture is insane

earnest zenith
#

this is literally the Nazi's wet dream

golden meteor
earnest zenith
#

where people can say "Israelis are occupying our government" without fear

golden meteor
#

but most pro-palestine people are anti-israel/israeli

#

at the more common extreme at least

earnest zenith
#

like

#

uh

#

Candance Owens

#

Anna Kasparian

#

Nick Fuentes

golden meteor
earnest zenith
#

and is parroting ZOG and "Israel did 9/11"

earnest zenith
#

another left-wing antisemite is GDF

twilit smelt
golden meteor
#

sometimes, but it's also common that they literally think there is a shadow government of israelis controlling every world government

twilit smelt
#

like aipac exists this stuff isnt even secret or a conspiracy theory

#

its done in the open and called good

earnest zenith
#

we're not talking about any influence, we're talking about literal occupation of the government

twilit smelt
#

also i understand there are antisemitic connotations to ZOG bc the term was in use by the alt right for a long time

#

but it is denotationally true that america's government seats are occupied by zionists and thats probably why leftists started saying it

#

the only mainstream political opinions in the usa that you can possibly be elected under contain zionism

#

this is just true

earnest zenith
#

still wouldn't explain the 9/11 shit

#

She also said: "Our country is occupied and controlled by the Israelis."

#

note not

#

zionist politicians

#

but THE Israelis

twilit smelt
#

which is weird and bad

#

theres been some total israeli PR victory among the older generations

golden meteor
twilit smelt
#

younger generations on both sides are increasingly questioning the state of israel though so this might change in the coming decades

earnest zenith
#

she's basically claiming that Israeli nationals somehow knew about 9/11 ahead of time

#

and were celebrating

twilit smelt
#

lol

golden meteor
earnest zenith
#

see?

twilit smelt
#

its just braindead to imagine that "israeli nationals" as a whole would have special foreknowledge lol

#

secret israeli info distribution network where their millions of citizens receive special knowledge about mossad ops and they all stay quiet about it

#

somewhat insane anybody could believe that

#

it doesnt stand up to 2 seconds of thinking

earnest zenith
#

yup

#

And why would she think that if not antisemitism or trying to signal to far-right people?

twilit smelt
#

if you want to point out individual israelis who were celebrating 9/11 after the fact and use that to say "maybe they arent such good friends of ours after all"

#

thats different

twilit smelt
#

she may be antisemitic

glass sparrow
#

kasparian is like a grifter

#

not much interesting about her

earnest zenith
#

TYT is so weird

#

they produced Cenk, Ana, Hasan, and Dave Rubin

glass sparrow
#

TYT didnt produce as much as the money that people paid to their pundents

twilit smelt
#

thoughts?

twilit smelt
#

@earnest zenith at least youre not a "antizionism is inherently equivalent to antisemitism" person

earnest zenith
#

Yeah

glass sparrow
#

she grifted away

glass sparrow
#

not because I hate jews or anything, I think jewish people are really cool

#

it just seems like a bad colonial project that we cannot pull out of

twilit smelt
#

there was no real reason for it to exist to begin with

#

and one of the most dangerous mistakes humanity has ever made especially was allowing that weird evil apartheid state to get nukes :((((

#

if ever interventionism was justified it would have been to blow up the reactor at dimona like jfk wanted

#

sadly many average americans are in a religious hysteria about israel and think its actually a command from god that we unconditionally support them

glass sparrow
#

I mean my personal take is there should be a kilometer wide line of blue helmets between every IDF soldier and every palestinian like we went into bosnia for way less, its pretty interventionalist

#

and idk we can see what to do after that

#

not that theres gonna be much palestinian to put behind the km wide line at this rate if we take much more

twilit smelt
#

ideally IDF would be disbanded and its commanders put on trial for genocide and hanged (including netanyahu and ben gvir and others)

#

government of israel dissolved and put under temporary UN control

twilit smelt
#

stuff like that

glass sparrow
#

idk I kinda feel thats second degree priorities, but I second the sentiment

#

first degree priorities being you know stopping it

twilit smelt
#

if ireland could borrow the entire american navy for 10 days this is probably what theyd do

#

what i described

#

lol

glass sparrow
#

this is what we need to facilitate

#

just do 1800s level corsair politics and have 3 aircraft carriers lower the US flag for no flag

earnest zenith
maiden lance
#

like explain how the US, EU and most EU members can look at the genocide happening before our eyes and not actively oppose Israel if they are not dependent on them be it politically or financially or whatever

#

also on the question of Israeli nationals vs zionist politicians the zionist machine has done good and hard work to convince its people that all Palestinians from young to old and all neighboring Muslim citizens want to kill them

#

this is all to establish support for an apartheid regime and to one day realize the dream of great israel a la nazi germany

earnest zenith
#

simple: it's not in their national/political interest

maiden lance
#

Darfur conflict?

#

wrong reply

earnest zenith
maiden lance
#

send troops

#

intelligence operations

#

for the "good" side

#

not sure if they've done sanctions but that's often the first thing thing that happenes

earnest zenith
maiden lance
#

yeah

#

and french troops

#

well the french troops helped the genocide but

#

it was active involvement

earnest zenith
#

UNAMIR was deployed before the genocide and didn't do shit

#

And as you said, the French did the opposite of stopping it

maiden lance
#

it is a shame that the UN has a big history of failing to prevent genocides despite active deployment

#

in the case of Israel UN members are just letting them do their colonial dirty work passively supporting with intelligence and arms

maiden lance
#

and as if Jesus would have ever stood for any zionist policy

earnest zenith
maiden lance
#

anyway these last 10+ messages will get me interrogated if I ever visit a US airport

earnest zenith
#

And anyway, that's incredibly far from running the country

#

There are tons of lobbies

#

The gulf states could probably massively outspend the pro-Israel lobby on that issue if they wanted to

maiden lance
#

fuck all lobbies

#

I don't believe Israel runs the US either

#

just that Trump is the least independent president in a long time

tiny swallow
#

aint no way dwl's whereabouts triggered this convo

mortal thunder
#

Like he does absolutely nothing about foreign threats

#

And basically other people do the work for him like P. Bondi, S. Miller, K. Patel etc

mortal thunder
#

i forgot his name

#

isaac i think

#

nvm ignore this

maiden lance
warm mural
twilit smelt
#

ok I think that's enough of that. @icy bridge please linuxpost more.

twilit smelt
#

does anyone even remember what i was supposed to work on next

#

i still dont have time to but it would be nice to be reminded.

shadow ridge
# twilit smelt does anyone even remember what i was supposed to work on next

docs+emu: ADR instruction (ADR RA, IMM16, Reg[RA] = PC + (IMM16 << 16), immediate operate format, opcode = 0x30, RB field is ignored or MBZ)
docs+emu: JALR instruction should zero-extend instead of sign-extend
docs: instruction summary for LSH, RSH, ASH, ROR list registers in incorrect order (RA, RB, RC instead of RA, RC, RB - detailed description lists them correctly)
docs: LSH/RSH/ASH/ROR should mention that operand is masked with 31
docs: MTCR pseudocode names incorrect source register (should be RB instead of RA)
docs: MB and WMB descriptions should probably be rewritten to match ⁠progress-report⁠MINTIA
docs: PAUSE function code is listed incorrectly in hexadecimal (but binary is correct)
iirc this is everything but i might be forgetting some stuff

shadow ridge
#

wtf

#

dont have the time my ass

twilit smelt
#

all of that took me like 1 hour

#

total

#

lmfao

#

if you actually read it youll see its very shrimple tasks

#

correcting a few typos and adding a new instruction to the emulator and toolchain

twilit smelt
#

i am supposed to

#

have the bootloader load all of the driver config files

#

so they can be used to initialize the IO catalog in the kernel with a set of all known drivers present at boot time

#

which can then be used to dynamically load the needed ones

#

im supposed to be doing something else but i guess ill just get that over with rn

#

oh god thats not a good sign

#

im stumbling over jackal syntax a bit

#

I MADE THE LANGUAGE!

shadow ridge
#

i have a relatively incomplete one for my language but if i need syntax help i can look at it

twilit smelt
#

no bc thatd take effort and people who already know C seem good at figuring it out by just reading whats already there

#

@warm root is rewriting fox32os's file browser in jackal rn

shadow ridge
#

if this were the 80s, how good would this project be overall compared to competition

#

(in its finished state)

twilit smelt
#

unrealistically good

#

if you mean mintia2

shadow ridge
#

yea

golden meteor
#

you should port it to alpha....

twilit smelt
#

dont wanna

#

alpha didnt have 8 or 16 bit loads and stores

shadow ridge
#

add virtualization instructions and run mintia within mintia

twilit smelt
#

so compilers would synthesize 8 and 16 bit stores from 32 bit read-modify-writes

#

which made them silently no longer atomic

#

requiring extra locks in places no other architecture needed them

shadow ridge
#

wait arent you doing most atomic ops on 32 bits anyways

twilit smelt
#

no i mean like

#

just storing a byte

#

is now racey

#

just by compiling a program for alpha

#

racey with all other bytes in the same aligned 32 bits

#

like it doesnt even need to be something youd usually consider explicitly "atomic"

#

you might have a packed set of booleans which are each 1 byte and are modified under different locks

#

thats now broken

twilit smelt
#

the sorta open source windows fat driver from microsoft

#

yep

#

that lock is taken only on alpha because that 16 bit write is racey only on alpha

#

thats so scary they kept it around decades after they dropped alpha support just in case it ever rises from the dead

#
            //
            //  We need extra synchronization here for broken architectures
            //  like the ALPHA that don't support atomic 16 bit writes.
            //
#

lmao i hadnt noticed that

#

they call it broken

shadow ridge
#

wait until sigma rolls along and has a native word size of 37

twilit smelt
#

alpha actually added 8 and 16 bit memory accesses later but like

#

it was an extension that was only implemented in the very last chips

#

which there are almost none of and which arent emulated even in commercial emulators ppl use to run old versions of VMS and stuff iirc

#

interestingly we have an early build of Windows XP for DEC Alpha

#

and it uses the new 8 and 16 bit access instructions

shadow ridge
#

didnt u get that one running or soemthin

#

or was that another project

#

i remember you getting some early windows build running on an emulator

twilit smelt
#

meaning they were serious about Alpha development

#

they didnt drop Alpha because they wanted to either. Compaq bought it and unilaterally ended its development

#

it was still seen as a viable workstation and server architecture til they did that

#

and MS was fully committed to supporting it for at least a few more years

twilit smelt
#

still the earliest build we've yet seen

#

its so early it has a "balance set" like VMS in the kernel still

#

by the next one we have (september 1991) thats gone

shadow ridge
#

maybe microsoft has some tapes lying around somewhere that contain an earlier version

twilit smelt
#

the released versions of NT for MIPS ran on the 64-bit MIPS architecture (R4000 and up) and basically pretended the upper 32 bits didnt exist

#

so this fully 32 bit version was unique

#

NT ran on R3000 internally but that port was dropped before release

twilit smelt
#

someone probably still has an i860 build of the kernel on a floppy disk in their attic somewhere

#

i have extensively emailed around and stuff trying to track these things down

#

i860 NT is my lost backyardigans pilot

shadow ridge
#

wtf is a backyardigans

golden meteor
#

a kids show from a while back

#

like teletubbies

#

well i guess its not that old

twilit smelt
#

if it ever drops NT/860 on the internet or i otherwise find someone willing to share a copy i hope it doesnt happen in the middle of a semester because im going to forget school exists for a full 2 weeks while i spend 12 hours a day writing a Dazzle emulator to get it to boot

#

thats what happened with the R3000 NT build and that wasnt even half as exciting

#

i remember after a full week of working on it i was suddenly like "wait... im in college...... uh oh"

golden meteor
#

where can I find information about it? docs, blog posts, books, etc

twilit smelt
#

about what

golden meteor
#

i860 nt

twilit smelt
#

i mean its just NT but really early and for the intel i860

#

kind of explains itself

golden meteor
#

yeah but I mean, do we have any info on nt from that time period?

twilit smelt
#

some

#

mostly from my labors

golden meteor
#

i assume its earlier than the r3k port right?

twilit smelt
#

yes

shadow ridge
twilit smelt
#

i havent gone to a real analysis lecture since the second one which was like 4 weeks ago now

#

the midterm is on friday

#

im still in it

#

unfortunately

shadow ridge
#

hahahahaha

#

go to the complex analysis lecture instead

twilit smelt
#

dont think thatll help

shadow ridge
twilit smelt
# golden meteor i assume its earlier than the r3k port right?

the rough timeline as ive gathered it is:

summer 1988:

  • the PRISM architecture is cancelled at DEC
  • Dave Cutler leaves DEC and takes most of the PRISM and Mica OS team with him to try to create a new workstation startup
  • intel is about to come out with the RISC i860 and wants to make it the PC platform of the future, to replace elderly CISC x86. they call up Microsoft to try to arrange that a portable OS be prepared on their end that will be able to run on the new i860 PC platform
  • a project at microsoft called Psycho begins, headed up by Nathan Myhrvold, intending to research the feasibility of using Mach as a new kernel for a portable version of OS/2. the "Portable Systems Group" (PSG) is founded

fall 1988:

  • Myhrvold hears that Cutler is on the market and convinces Bill Gates to call him up and try to get him to join the PSG (Cutler was famous as a hyper competent OS guy due to his work on VMS). Gates does and Cutler isn't initially interested in PC software.
  • Ballmer takes Cutler to breakfast at Denny's and manages to change his mind.
  • Cutler's team settles in at the PSG at Microsoft with Cutler taking the role of director
  • design begins for the NT kernel, taking heavily after a flattened version of Mica
  • an i860 toolchain distributed by intel (pictured below) is acquired, containing a simulator, runtime library, compiler (written by Metaware), and other tools

march 1989:

  • NT is being written for a simulator using a convoluted build process ive described elsewhere
  • first code written for NT, in the Ke subcomponent (exception handling & the scheduler). Ke is almost completely finished by the end of march

mid 1989:

  • first Dazzle and Frazzle (i860 server and PC reference platform, respectively) boards are manufactured by Olivetti and development switches to these

late 1989:

  • problems with the i860 are apparent by now
  • port to a MIPS R3000-based version of the Dazzle board known as "Jazz" begins

early 1990:

  • port to i386 begins
  • i860 port is dropped

mid 1990:

  • NT is ported to new R4000-based Jazz

late 1990:

  • direction is officially switched from "NT OS/2" to "Windows NT"
  • port to R3000-based DECstation 5000 begins, worked on by Alexandre Bronstein

late 1991-early 1992?:

  • R3000 port dropped along with DECstation 5000 port

early 1992:

  • DEC Alpha port begins
#

alexandre bronstein demos the DECstation 5000 port to Bill Gates and Dave Cutler:

#

i860 Dazzle development board:

#

yes im autistic.

#

@golden meteor this is the broad strokes of what ive learned about early NT over the last few years

golden meteor
#

awesome, I'll be reviewing all of that Shortly™

#

and anything else you feel like sending

#

ideally related to early NT and the platforms it ran on, but if you just feel like talking about newer NT thats fine too

twilit smelt
#

i got an autistic fixation on NT because its early history is underappreciated and shockingly fascinating

#

i think what first caught my eye about it was like

#

hang on this was a brand new OS being written for a brand new platform using an incredibly shitty buggy simulator and toolchain. thats kinda like what im doing.

#

nobody ever talked about NT so i assumed it was boring and stupid and lame and then one day i got curious and googled it and i was like WOW! THIS ISNT BORING, STUPID, OR LAME!

twilit smelt
#

5000 coincidences had to align at the same moment in late 1988

#

aspect of it

#

it is one of the unlikeliest things to exist

#

feels a little homeric

#

or preordained...

cunning mortar
#

idk maybe you find this interesting

twilit smelt
#

ai generated cover image is sus

#

makes me suspect the entire thing is gonna be ai

cunning mortar
#

techie people generate images with AI

#

it just is what it is at this point

twilit smelt
#

this is the paper that blog post cites

#

since its now behind some weird intranet login page

#

THEY CITED WIKIPEDIA!!!!

cunning mortar
#

death

shadow ridge
twilit smelt
#

i dont think the "dont cite wikipedia" thing was common at the time this was written (2006)

#

i think people citing wikipedia was what led to "dont cite wikipedia" rather than that always having been the attitude

#

so thats probably why they boldly cited wikipedia

#

it wasnt seen as a problem

#

yet

twilit smelt
#

anyone know how people tend to implement speedy userspace condvars

#

given that userspace mutexes are usually managed entirely in userspace when theres no contention

#

using atomics

#

and youll want to pass this to your condvar for release that is atomic with waiting

raven drift
#

When wikipedia was new, its content was seen as unreliable

acoustic sparrow
#

another pretty reasonable solution is to implement your primitives on top of a "add an unpark token to thread X, if they don't have on already" / "consume my unpark token, possibly blocking to do so" pair of primitives

raven drift
#

Aka a binary semaphore

twilit smelt
#

bootloader loads all driver config files in preparation for initializing the IO catalog later in the kernel

#

thats the next thing ill have to work on

#

omg mintia2 io system real???

night needle
#

fake

twilit smelt
#

2026 will be the year of the mintia2 desktop

#

if im not mounting a filesystem by january 2026 i will drop out of uni and become homeless

twilit smelt
#

sometimes feels incredibly bleak that i started old mintia when i was 18 and im now 23 and i still cant mount a filesystem. i mean i could like 4 years ago. but now i cant again

#

this shit is taking toooooooo looooooong

#

wasted almost the entirety of 2025

#

in 9 months in 2025 there have been 193 commits

#

in 6 months in 2024 there were 347 commits

#

in 2023 there were 625 commits on old mintia

#

i considered that a very inactive year too

#

because i had stopped working on it in favor of the jackal toolchain

#

thats gnarly

#

ive lost the juice

shadow ridge
night needle
night needle
#

what's the difference

tame phoenix
#

XR/server/320 when?

#

😄

twilit smelt
#

XR/station is a particular model implementing it

#

There is no "XR/system" that's XrSystem which is the mintia2 ISD (integral system driver) for XR/computer, basically the module that contains all of the drivers for devices that are invariant (ie the chipset)

#

There will also be FoxSystem

#

And I suppose PcSystem

#

later

twilit smelt
#

I have a message in my discord from like April 2023 where I estimate the new toolchain will be done and mintia rewritten by the end of the year

#

toolchain alone wasn't even done by the end of the year

#

Finished that in February of the next year or so

#

After taking my sweet ass time on it (that was another period of very low motivation)

#

Thing is in hindsight this was impossible but I literally could have had the toolchain and mintia2 DONE by the beginning of THIS year if I'd kept a pace consistent with work on old mintia the entire time

#

Could have finished the toolchain in probably 4-6 months and mintia2 in another year and a half

#

Easy

#

Annoying to look back on

shadow ridge
#

i dont really regret not doing shit when i had negative motivation levels

#

because you literally cannot do something unless you have motivation

twilit smelt
#

Also I predicted it could kill the project

#

I knew there were gonna be huge motivation issues

#

Here's another prediction where there's parity with old mintia by January of this year

#

This was doable if I worked on it manically like I thought I would

warm pine
#

do you think yourself more productive in jakla at least?

#

vs dragonfruit

craggy spire
#

Can you though just in theory be more productive with dragonfruit

twilit smelt
#

I got Stockholm syndrome toward dragonfruit

#

I miss it

#

Jackal is too sterile

#

the zaniness is gone

blissful smelt
#

jackal 2.0 now messier than ever with direct df backwards compatibility

queen torrent
#

create a variant of C ez

twilit smelt
warm pine
#

NOTHING and such

#

the macros

blissful smelt
twilit smelt
warm pine
#

a bit loud frankly

#

CONVERT_ARITHMETIC to cast between integers for instance

twilit smelt
#

yeah

#

I mean I have a CONTAINEROF keyword

#

my casts are CAST expr TO type

warm pine
twilit smelt
#

Also im probably being silly being so upset that my third OS in a custom language wasn't done by the time I was 23

#

MOST people have only done one, maybe two.

#

by that age

blissful smelt
#

one upping mintia2 seems like quite the endeavor

blissful smelt
#

mintia3: "It's basically NT 5.2 in a different programming language"

twilit smelt
blissful smelt
#

will u plan to make a fourth one

twilit smelt
#

It will never need to be rewritten because it is now in a state where there is nothing stopping it from evolving eternally or at least as far as any of the modern kernels have gotten

#

It's in an acceptable language and will be ported to real hardware

blissful smelt
#

final form

queen torrent
#

fourth one will be aisix2

blissful smelt
#

aidsix

queen torrent
#

after like 10 years you should add a 64 bit xrstation

#

to simulate hardware getting better over time

blissful smelt
#

and add custom cores for dedicated AI compute and add Mintia Recall as a necessary feature

heady bobcat
#

I realised yesterday that there's "NT" in "MINTIA".

blissful smelt
twilit smelt
#

thank god im not hyenasky if i were itd be weird i just made a self-referential joke as if i were another person

twilit smelt
#

god you can just see the unspoken "... unlike fucking MIPS." here

#

so much hatred.

#

its funny that all the other riscs made sure to put their "zeroth-level" exception vectors in untranslated memory especially the TLB refill traps

#

and in xr17032 i just make them virtual as well. including, yes, the TLB refill handler

#

how? thats a secret. patent pending. this WILL be the greatest architecture of 1990

#

im not letting sun get their grubby little fingers on my trickz

mortal thunder
#

I have a lot of stuff I need to implement, but just not the motivation to do it

shadow ridge
#

if you dont have motivation it's because it's not fun anymore

#

go do a few side projects

#

and come back when you're feeling it

mortal thunder
#

Okay, maybe I misspoke. I do have some motivation, but not enough to have 12 hour coding sessions like I did at the start of every large scale project of mine

shadow ridge
#

12 hour coding session is insane

mortal thunder
#

That's what happens when I start a project

#

Emphasis on start

shadow ridge
#

still insane

twilit smelt
#

when i got that R3000 NT build booting i was pulling 20+ hour sittings

mortal thunder
#

because I want something to work as soon as possible

shadow ridge
#

if you dont code 40 hours a day are you even a programmer

twilit smelt
#

i had never known how badly that could actually wreck your body until i did that a few days in a row

#

parts of me were sore that had never been sore before

mortal thunder
#

my monkey brain likes to get validation and I kinda got used to it with my relatively recent projects

twilit smelt
shadow ridge
#

can you say the artist name and album name cuz my discord is broken with spotify links

twilit smelt
#

death's dynamic shroud - ill try living like this

shadow ridge
#

thx

twilit smelt
#

actually a very good album if i hadnt ruined it by listening to it probably 50+ times

shadow ridge
#

wtf is this

mortal thunder
#

which is crazy

shadow ridge
#

bad as in not that it's a bad song it just sounds dirty af

twilit smelt
#

thats my least fav song on the album

shadow ridge
#

i can tell lol

twilit smelt
#

also its all kind of an acquired taste

shadow ridge
#

the scat is insane

#

love it

twilit smelt
#

this one was probably my favorite

#

after the intro

#

also this one has a beat switch at about 2:30 thats extremely pretty

#

experimental music is worth listening to the only issue is sometimes the experiment fails.

#

but sometimes it works

#

which is why its worth listening to

shadow ridge
#

you should make AI songs about mintia and xr station

twilit smelt
#

never say those words in that order again

shadow ridge
twilit smelt
twilit smelt
#

so it seemed appropriate

#

er startup sound

#

tell me if u can hear it

twilit smelt
#

not there

shadow ridge
#

still sounds 4:4

twilit smelt
#

at 4:55

#

or a bit after that

shadow ridge
#

still in 4/4

twilit smelt
#

wdym 4/4

#

thats not what i meant by beat switch

#

i meant like

#

the beat

#

changes

#

not

#

the rhythmic meter changes

#

or whatever

shadow ridge
#

oh like

#

the uh

#

drum track or whatever u call it?

twilit smelt
#

listen to the NT 4.0 startup sound and then go to like 5:00 in that song and tell me if u can hear it

shadow ridge
#

i dont hear it

twilit smelt
#

my cousin is like a music production guy and he said something like "yes thats either a heavily edited sample of that sound or it sounds remarkably like it in a 1 in a million coincidence"

shadow ridge
#

it does have the same vibe

#

do you mean exactly 5:00

#

or before

twilit smelt
#

not exactly

#

a little after maybe

#

more like 5:05

shadow ridge
#

if thats what they're sampling, it's extreeemely edited

twilit smelt
#

well yeah it would be

#

this song is cool from the beat switchup around 1:10 until a while later

#

think that part sounds cool

#

this is an artist where i mostly only like "parts of" their songs lmao

#

their songs are full of switchups

#

i was a like top 0.01% listener for them in 2022