Line counts for my videogame, so far. #gamedev #FGC #fightingGames #gaming #lowLevel

[Lines Words Chars]
117 371 2118 bobcolor1.0/bobcolor.s
23 63 798 bobfighter1.0/character.s
580 3898 25450 bobfighter1.0/fighter.s
808 5018 33125 bobfighter1.0/fighter:step.s
423 2700 19629 bobfighter1.0/fighter_change_state.s
180 1245 7962 bobfighter1.0/render.s
408 2572 15656 bobphysics1.0/body.s
59 348 1941 bobphysics1.0/render.s
499 2832 14905 bobphysics1.0/world.s
454 1305 8305 characters/Testman.s
203 1036 6313 ctrlr_overlay1.0/ctrlr_overlay.s
175 1595 7622 worlds/debug_world.s
389 1417 9142 BoI.s
217 1126 7364 controllers.s
43 103 513 ctrlr_mappings.s
123 566 4055 player.s
146 743 4238 screen.s
168 1062 6349 temp_horrid_ai.s
167 1056 6298 temp_horrid_ai_2.s
68 354 2427 bobfighter1.0/attack.h
64 548 3477 bobfighter1.0/character.h
222 1112 7335 bobfighter1.0/defaults.h
29 306 2004 bobfighter1.0/defaults_checks.h
223 2145 13788 bobfighter1.0/fighter.h
14 71 486 bobfighter1.0/render_defaults.h
43 155 1021 bobphysics1.0/body.h
50 258 1628 bobphysics1.0/render.h
24 109 661 bobphysics1.0/render_defaults.h
16 28 147 bobphysics1.0/sprite.h
99 363 2455 bobphysics1.0/world.h
17 47 264 ctrlr_overlay1.0/ctrlr_overlay.h
17 21 192 ctrlr_mapping.h
18 37 251 player.h
6086 34610 217919 total
It's being written for #SubSky.
Making 0x00 0x00 a no-op in my ISA was a mistake. I might want to adjust that before I get the #SubSky ISA out of beta.... #ISADesign #ISA

This software I'm making is pretty abstract... I think this particular task qualifies as kernel development ..?

I'm adding support for my object-capability model #Itemsys to my #SubSky computing environment. I plan to [re-]port my emulator Sbse to UEFI.

#OSDev

Black Loops // Cervus @ Minimüzikhol - 04 Apr feat. Black Loops, Subsky

#SESH #BlackLoops #Subsky

https://sesh.sx/e/1919369

RE: https://fosstodon.org/@golemwire/115075076162218775

I'm starting a Fluxer (Discord alternative) group for my #SubSky computing environment :D

Invite link: https://fluxer.gg/I2P03SBv

#ISA #programmingLanguages

@kabel42 @rl_dane #SubSky uses a bottom-left origin ;)
My rationale is that it is more reasonable for a coordinate to *increase* while going *up* rather than for it to *decrease* while going *up*.

Also the math world does it that way (though they also have cursed standards for rotation/orientation.)

Worked on the stdlib for #SubSky , in the reverse-stack branch. Had to rewrite memcpy, since my prior implementation of it did a trick with the stack to copy using less instructions; this trick is no longer viable, as moving the stack pointer can make memory become undefined now (thanks to the improved stack cache rules in the ISA spec).

Made a new memzero function. It's like POSIX memset, but just for zeroing.

#Programming tip: if you want to allocate memory and explicitly tell the kernel you don't want the memory backed until you use it, try mmap(). Really useful.

An example of mmap being used this way. https://gitlab.com/golemwire/subsky/-/blob/master/cpu/util.c?ref_type=heads#L59 (permalink https://gitlab.com/golemwire/subsky/-/blob/0559e32da1e61eb6b50cdd30f080964a603251b4/cpu/util.c#L59 )
This is from my #SubSky emulator.

(p_cpu->p_memory = (uint8_t *) mmap(NULL, (size_t) 1 << 32, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0))

#mmap #kernel

cpu/util.c · master · Ethan Black / SubSky · GitLab

A simple, minimalist, and easy-to-use RISC ISA and computing environment intending to strike a reasonable balance between elegant simplicity and practical power.

GitLab

I reversed the stack direction in my #SubSky #ISA and VM. The original stack order had pushes go towards the high end; the current direction has pushes go towards the low end (like #x86 and many other architectures*). It simplified a number of things, such as accessing variables in the stack frame ("lvalues" are now positive and start at 0 rather than -4 [the word size is 32 bits] ). The heap structuring will be easier to do now, as well.

https://gitlab.com/golemwire/subsky/-/tree/reverse-stack?ref_type=heads

#CPU

Files · reverse-stack · Ethan Black / SubSky · GitLab

A simple, minimalist, and easy-to-use RISC ISA and computing environment intending to strike a reasonable balance between elegant simplicity and practical power.

GitLab

I added a Who This is For section to the README of my personal computing environment project, #SubSky :) https://gitlab.com/golemwire/subsky#who-this-is-for

#ISA #lowLevel #programming #permacomputing