10:27:26
Colleen
shinmera: i was thinking we need to come up with a new build scheme
10:27:26
karlosz
shinmera: i was thinking we need to come up with a new build scheme
10:27:48
Colleen
i took a look at the trial nx stuff and the stubbed at c runtime looks good
10:27:48
karlosz
i took a look at the trial nx stuff and the stubbed at c runtime looks good
10:27:58
Colleen
but i don't think it makes sense to have +nx on make-host-2
10:27:58
karlosz
but i don't think it makes sense to have +nx on make-host-2
10:28:10
Colleen
we want to prebootstrap everything on arm64 linux
10:28:10
karlosz
we want to prebootstrap everything on arm64 linux
10:28:25
Colleen
so the idea is we bootstrap a core with all the stuff first on arm64 linux
10:28:25
karlosz
so the idea is we bootstrap a core with all the stuff first on arm64 linux
10:28:55
Colleen
then we use the headers produced by that and use that to build the c runtime
10:28:55
karlosz
then we use the headers produced by that and use that to build the c runtime
10:29:16
Colleen
i'm not sure how many things like page_size differ between nx and linux
10:29:16
karlosz
i'm not sure how many things like page_size differ between nx and linux
10:29:56
Colleen
but anyway we get editcore to produce .s and .o files, then we take the runtime and link it with that
10:29:56
karlosz
but anyway we get editcore to produce .s and .o files, then we take the runtime and link it with that
10:30:10
Colleen
we might have to fix up some differing parameters but we can also stub out missing c symbols
10:30:10
karlosz
we might have to fix up some differing parameters but we can also stub out missing c symbols
10:30:17
Colleen
anyway this is all stuff we talked about before
10:30:17
karlosz
anyway this is all stuff we talked about before
10:30:23
Colleen
just committing it to the chat log
10:30:23
karlosz
just committing it to the chat log
10:30:37
Colleen
i guess we can script this pretty easily
10:30:37
karlosz
i guess we can script this pretty easily
10:31:16
Colleen
so the only stuff to potentially fix up is differing os parameters (should be page_size basically)
10:31:16
karlosz
so the only stuff to potentially fix up is differing os parameters (should be page_size basically)
10:31:44
Colleen
there's the signals related stuff too which can just be stubbed out to error - we'll modify the sbcl source code to use soft card marks and be not interactive
10:31:44
karlosz
there's the signals related stuff too which can just be stubbed out to error - we'll modify the sbcl source code to use soft card marks and be not interactive
10:32:13
Colleen
although what kind of input do we have if not stdin? it would be good to get a repl that we can interact with somehow on the switch backed by fasteval?
10:32:13
karlosz
although what kind of input do we have if not stdin? it would be good to get a repl that we can interact with somehow on the switch backed by fasteval?
10:33:14
shinmera
iirc you can connect a keyboard to the nx via USB
10:33:22
shinmera
and SDL2 would give us input from that
10:33:31
shinmera
but that requires integrating with SDL2 and alla that.
10:33:38
shinmera
I don't know a shorter path to input at this point.
10:34:54
Colleen
alright, we'll keep that in mind
10:34:54
karlosz
alright, we'll keep that in mind
10:35:08
Colleen
as long as we can print something to a screen we can track how far along it gets
10:35:08
karlosz
as long as we can print something to a screen we can track how far along it gets
10:35:17
Colleen
also i assume the debugger is pretty advanced
10:35:17
karlosz
also i assume the debugger is pretty advanced
10:35:24
shinmera
the NX console gives us stdout.
10:35:30
shinmera
err, the target manager thingy.
10:35:35
shinmera
so getting output is no issue.
10:35:54
shinmera
I already adjusted the groveller to use this to get the target platform constants from the NX itself.
10:38:38
Colleen
maybe i should look into getting soft card marking working first before trying to merge on top of trial nx
10:38:38
karlosz
maybe i should look into getting soft card marking working first before trying to merge on top of trial nx
10:38:54
Colleen
although i do really want to see something running on the nx already
10:38:54
karlosz
although i do really want to see something running on the nx already
10:39:15
shinmera
Let's just try to get something running.
10:39:33
shinmera
Getting an automated build working will also help a lot in the long run.
10:39:51
shinmera
I did start somewhat on something like that in the nxdeploy directory.
10:40:09
Colleen
it will take me a bit of time to understand the build system i think
10:40:09
karlosz
it will take me a bit of time to understand the build system i think
10:43:04
Colleen
i expect the following two things to happen: the linker will complain about the .o file for being ELF and not NSO (hopefully that is remedied by changing the magic number if they're so similar)
10:43:04
karlosz
i expect the following two things to happen: the linker will complain about the .o file for being ELF and not NSO (hopefully that is remedied by changing the magic number if they're so similar)
10:43:29
Colleen
and then after that the NX will die because it can't relocate the heap because that entails modifying the text section (we still need to hear back from nintendo about that)
10:43:29
karlosz
and then after that the NX will die because it can't relocate the heap because that entails modifying the text section (we still need to hear back from nintendo about that)
10:43:40
Colleen
and i have an idea to fix that already which im pretty sure will work
10:43:40
karlosz
and i have an idea to fix that already which im pretty sure will work
10:51:00
shinmera
Meanwhile, https://mastodon.tymoon.eu/@shinmera/110423273143586946
14:08:36
Colleen
shinmera: wait so uh is trial-nx with git submodules or what?
14:08:36
karlosz
shinmera: wait so uh is trial-nx with git submodules or what?
14:08:43
Colleen
i can't figure out how to actually start a rebase
14:08:43
karlosz
i can't figure out how to actually start a rebase
14:09:29
shinmera
submodules would be a nightmare.
14:10:11
Colleen
okay, im not familiar with subtrees
14:10:11
karlosz
okay, im not familiar with subtrees
14:14:22
shinmera
It fuses the history into the main repo, making it easier to keep local patches and push them back upstream.
14:16:20
Colleen
how would i go about starting a merge or rebase then?
14:16:20
karlosz
how would i go about starting a merge or rebase then?
14:16:31
Colleen
do i add the remote and do business as usual?
14:16:31
karlosz
do i add the remote and do business as usual?
14:18:43
shinmera
you should be able to do something like git subtree pull --prefix sbcl sbcl master
14:18:54
shinmera
assuming sbcl is a remote
14:19:49
shinmera
the --prefix sbcl points it at the sbcl directory in our monorepo
14:21:31
Colleen
says unrelated histories
14:21:31
karlosz
says unrelated histories
14:22:05
Colleen
i guess because it was squashed?
14:22:05
karlosz
i guess because it was squashed?
14:22:51
shinmera
yes, you should be able to do something like --allow-unrelated-histories
14:23:45
Colleen
hm, that's not an option
14:23:45
karlosz
hm, that's not an option
14:24:39
shinmera
according to some other stackoverflows you might need to add --squash to the command instead
14:27:10
Colleen
though this might not be the best way to go about it - i can resolve the merge conflicts but that doesn't update the copied runtime files
14:27:10
karlosz
though this might not be the best way to go about it - i can resolve the merge conflicts but that doesn't update the copied runtime files
14:27:47
shinmera
well, yeah, but that's always gonna be an issue
14:29:16
Colleen
yeah, hence why i was debating to do all the upstream relevant stuff first to avoid merging like this, but we'll see how broken things are after this merge
14:29:16
karlosz
yeah, hence why i was debating to do all the upstream relevant stuff first to avoid merging like this, but we'll see how broken things are after this merge
14:50:48
Colleen
shinmera: are you able to test the merge builds?
14:50:48
karlosz
shinmera: are you able to test the merge builds?
14:54:44
shinmera
not right now, I'm extremely tired
14:54:51
shinmera
but I can turn on my workstation in a bit
14:55:42
shinmera
was there much that needed resolving in the merge?
14:57:57
Colleen
just some stuff in shell scripts related to android conditionals being added
14:57:57
karlosz
just some stuff in shell scripts related to android conditionals being added
14:58:08
Colleen
so it was actually pretty easy
14:58:08
karlosz
so it was actually pretty easy
14:58:35
Colleen
although im worried we'll lose the overview on the nx specific stuff that was added
14:58:35
karlosz
although im worried we'll lose the overview on the nx specific stuff that was added
14:58:52
shinmera
the repo history should still cover that
15:00:01
Colleen
yeah though the full diff is easier to parse when everything is rebased on top of upstream
15:00:01
karlosz
yeah though the full diff is easier to parse when everything is rebased on top of upstream
15:00:06
Colleen
anyway not a big deal right now
15:00:06
karlosz
anyway not a big deal right now
15:00:30
shinmera
I suppose you could revert the merge commit and use git subtree pull with rebase instead?
15:00:44
Colleen
i don't think it supports rebase
15:00:44
karlosz
i don't think it supports rebase
15:00:51
Colleen
i read the man page really quickly
15:00:51
karlosz
i read the man page really quickly
15:09:19
shinmera
I tried patching a dll to make multiple sessions work, but apparently my dll version is too new or something
15:12:41
Colleen
i can ping the vm but can't actually rdp into it
15:12:41
karlosz
i can ping the vm but can't actually rdp into it
15:14:24
shinmera
the remote desktop service wouldn't launch for whatever reason
15:18:23
Colleen
shinmera: by the way it seems like you have a bunch of unstaged changes
15:18:23
karlosz
shinmera: by the way it seems like you have a bunch of unstaged changes
15:18:32
Colleen
in the trial-nx directory
15:18:32
karlosz
in the trial-nx directory
15:19:09
shinmera
ah, that was just me testing stuff out.
15:23:30
Colleen
anyway ill just make a new clone so i have permissions and stuff
15:23:30
karlosz
anyway ill just make a new clone so i have permissions and stuff
15:23:44
Colleen
goal right now is just being able to build it myself and maybe deploy
15:23:44
karlosz
goal right now is just being able to build it myself and maybe deploy
15:27:43
Colleen
well, that didn't get very far... https://paste.gnome.org/0TxRT5ovI
15:27:43
karlosz
well, that didn't get very far... https://paste.gnome.org/0TxRT5ovI
15:28:22
shinmera
I did run a successful build prior to the merge.
15:28:40
Colleen
i guess i can reset to before the merge and try
15:28:40
karlosz
i guess i can reset to before the merge and try
15:29:29
Colleen
right the merge breaks everything
15:29:29
karlosz
right the merge breaks everything
15:29:46
Colleen
i guess i'll just delete the merge then
15:29:46
karlosz
i guess i'll just delete the merge then
15:30:03
shinmera
I did a quick google and there may be a way to rebase after all
15:30:23
shinmera
so maybe see if you can get that working?
15:30:48
shinmera
https://stackoverflow.com/questions/12858199/how-to-rebase-after-git-subtree-add
15:32:07
Colleen
i keep forgetting to ask chatgpt for the answers
15:32:07
karlosz
i keep forgetting to ask chatgpt for the answers
15:32:08
shinmera
worst case you could make a new branch from the initial squash merge, merge upstream, then rebase master onto that?
15:32:32
Colleen
or maintain a separate sbcl-nx repo if it really gets too confusing
15:32:32
karlosz
or maintain a separate sbcl-nx repo if it really gets too confusing
15:33:17
Colleen
ok we got much farther before the merge commit
15:33:17
karlosz
ok we got much farther before the merge commit
15:33:20
Colleen
C:\msys64\home\karlosz\trial-nx\sbcl\src\runtime/wrap.c:113: undefined reference to `realpath'
15:33:20
karlosz
C:\msys64\home\karlosz\trial-nx\sbcl\src\runtime/wrap.c:113: undefined reference to `realpath'
15:33:27
Colleen
get this when compiling runtime though
15:33:27
karlosz
get this when compiling runtime though
15:33:57
shinmera
I *know* I compiled successfully. On different systems, too.
15:34:07
Colleen
maybe i forget to put os=nx
15:34:07
karlosz
maybe i forget to put os=nx
15:36:18
Colleen
now how do i execute this...
15:36:18
karlosz
now how do i execute this...
15:36:35
shinmera
in the deploy directory, just run `make sbcl`
15:37:05
shinmera
if it fails with the runontarget step, you'll need the nintendotargetmanager and connect to it there
15:37:29
Colleen
[Error] Invalid format .adf file. At least one file must be included in the data region.
15:37:29
karlosz
[Error] Invalid format .adf file. At least one file must be included in the data region.
15:38:21
Colleen
ok im outta time for now. gotta go to class
15:38:21
karlosz
ok im outta time for now. gotta go to class
15:38:28
shinmera
alright, I'll have a look later
15:38:33
shinmera
enjoy the class, as much as one can :)
15:45:11
shinmera
ah, looks like you just need to create a random file in the data/ directory.
15:49:32
shinmera
and I mean literally any file
15:49:57
shinmera
as in, mkdir -p nxdeploy/data; touch nxdeploy/data/test
16:57:15
shinmera
karlosz: also, payment made.
18:07:52
shinmera
what are you gonna do with alla that dosh? :)
18:14:15
Colleen
first time i've heard dosh
18:14:15
karlosz
first time i've heard dosh
18:14:26
Colleen
ah, it's british, figures
18:14:26
karlosz
ah, it's british, figures
18:14:38
shinmera
I'm well versed in dumb vernacular
18:15:00
Colleen
i should really get a new phone... but they don't have physical buttons anymore!
18:15:00
karlosz
i should really get a new phone... but they don't have physical buttons anymore!
18:15:31
Colleen
maybe once the lightsabers get too annoying
18:15:31
karlosz
maybe once the lightsabers get too annoying
18:23:43
Colleen
so i got make sbcl to work
18:23:43
karlosz
so i got make sbcl to work
18:23:54
Colleen
i assume i need to execute the nsp file?
18:23:54
karlosz
i assume i need to execute the nsp file?
18:26:30
Colleen
ok, i managed to get the stack trace
18:26:30
karlosz
ok, i managed to get the stack trace
18:26:40
Colleen
so mission accomplished for today, getting the executable to run
18:26:40
karlosz
so mission accomplished for today, getting the executable to run
18:26:58
Colleen
i guess next is to rebase and then figure out how to use the debugger
18:26:58
karlosz
i guess next is to rebase and then figure out how to use the debugger
18:27:04
Colleen
there is a way to step through the code right?
18:27:04
karlosz
there is a way to step through the code right?
18:27:25
shinmera
I'd consult the NX docs for that.
18:27:30
Colleen
yeah i can't imagine there not being one
18:27:30
karlosz
yeah i can't imagine there not being one
18:27:37
Colleen
oh it's probably integrated with visual studio somehow\
18:27:37
karlosz
oh it's probably integrated with visual studio somehow\
18:27:51
Colleen
the one for the playstation was really good i remember
18:27:51
karlosz
the one for the playstation was really good i remember
18:28:28
Colleen
yeah i don't know if i ever tried visual studio with sbcl, have to figure that out too i guess
18:28:28
karlosz
yeah i don't know if i ever tried visual studio with sbcl, have to figure that out too i guess
18:28:44
Colleen
i suppose if i print to stdout i can also do print debugging?
18:28:44
karlosz
i suppose if i print to stdout i can also do print debugging?
18:28:56
Colleen
this is where the real fun begins
18:28:56
karlosz
this is where the real fun begins
18:29:17
shinmera
standard sbcl VS is completely useless
Wednesday, 24th of May 2023, 18:29:20 UTC