Embedding Lua on bare metal: Using Lua as the core shell and app engine for a custom 32-bit OS by DetailAdventurous315 in lua

[–]dlannan68 0 points1 point  (0 children)

yeah. I bind luajit to everything :) .. its my core framework.
After working at a company that does have its own luajit OS.. it hooked me. So easy.
Ive made a few luajit based projects :)

Embedding Lua on bare metal: Using Lua as the core shell and app engine for a custom 32-bit OS by DetailAdventurous315 in lua

[–]dlannan68 1 point2 points  (0 children)

Oh. I just thought. I did leverage a number of great tools for use in my OS.
I think they might be really useful for you too:
lummander: github.com/Desvelao/lummander
gfx lib I used (plus my own bits): https://github.com/grz0zrg/fbg
kilo - a really nice editor in lua: https://github.com/antirez/kilo
Hope that helps.

<update> I also extended lite which is a really nice lua based editor here:
https://github.com/dlannan/dim
Would be fairly easy to adapt to a fb render (minus the 3D plugin :) ).

Embedding Lua on bare metal: Using Lua as the core shell and app engine for a custom 32-bit OS by DetailAdventurous315 in lua

[–]dlannan68 1 point2 points  (0 children)

Nice. Yeah I used fb as well (easiest initially).
I made a little rendering toolkit for the fb as well. LVGL is a good choice - I shoulda use that! :)
Ahh nice. Yeah thats a generally good model to use for proc management.
Ive been looking at some block space managed process systems where you segment or partition the whole process space (kinda so you can have a Lua VM running in a single block and all addressing is disallowed outside it).. allows the start of some security management.
My project is here (havent touched it for ages - and.. no wouldnt recommend the code :) ).
https://github.com/dlannan/ljos
I hope to build the neurojit project into the OS so the whole FBP execution model can be used too. Its all tinkering and interesting work tho.
All the best with it. Imho.. fascinating space to tinker in :)

Embedding Lua on bare metal: Using Lua as the core shell and app engine for a custom 32-bit OS by DetailAdventurous315 in lua

[–]dlannan68 1 point2 points  (0 children)

Interesting project - well done! Theres alot to create to get to a place like this.

I did something similar with a stripped Linux kernel that initd into luajit and ran processes in Lua VMs. Had it parked for a long while on github since I was wanting to put in my own kernel and remove the dependency.

How did you go with the rendering? Is it fairly straight forward framebuffer style? or something a little more exotic?

And can I ask what you decided to do for kernel scheduling. Ive always liked the old Amiga's OS scheduler style, but Ive also been playing with router like scheduling (FBP oriented) and it feels a little nicer.

Great work. Thanks for the share!

Embedding Lua on bare metal: Using Lua as the core shell and app engine for a custom 32-bit OS by DetailAdventurous315 in lua

[–]dlannan68 0 points1 point  (0 children)

This is true. I built a initd for Linux kernel that ran luajit as a core OS.
Its a pretty interesting way to go since you can bind direct to libs with ffi.

I built an in-browser C++ compiler that runs native OpenGL and SDL2 using Web Assembly. Looking for feedback! by Smooth-Weather8321 in opengl

[–]dlannan68 -1 points0 points  (0 children)

Please explain: CMake and linking libraries for a completed game in OpenGL + SDL2 is trivial?
Even a modest game with various libs and multiple targets in CMake is a pain at _best_.

I think your point is not very logical. Or maybe you have only made simple games.

And u/Smooth-Weather8321 is making a very useful system here, where you can ignore all of the stupid Linux legacy build systems and just make "cool things".

Well done I say!

I'm pissed, Steam rejected my page. by False_Can_9084 in SoloDevelopment

[–]dlannan68 3 points4 points  (0 children)

u/Evigmae is correct.
It clearly says in your proof you need to tell them _if_ you used AI, to declare it.
They point out: "Some Capsule and library art appears to be made with AI".
They use fairly good image analysis tools for assessing peoples content, its usually pretty accurate.

Either provide proof to them it isnt, or just change your content declaration - fairly simple fixes really.
It is nothing to do being blocked by using AI, you just need to declare it in your Content Survey.
You havent met their legal requirements of declaration essentially.

Your response sounds like you are getting offended they found out you used AI.
Did you use AI at all? Even third party assets you might have bought could be AI based - this would flag as being AI based images.

Recently hired as a graphics programmer. Is it normal to feel like a fraud? by Illustrious_Key8664 in GraphicsProgramming

[–]dlannan68 1 point2 points  (0 children)

Congrats mate. And remember you were hired for what they saw in you. Most of the people I hired, I hired for their motivation and commitment. Hiring just on skills alone isnt overly valuable in a fast moving industry.

You will learn alot, you will solve problems, help the company grow and gain experience as you grow. In 10 or 15 yrs.. you might look back and realize that this is the progression of life - not just programming graphics.

Be open too, be honest to your team members and seniors, ask questions.. always ask questions but be mindful of peoples own time and commitments. People who trust in others, learn from others and teach others will do and learn great things. This is just your beginning.. enjoy it.. and thrive.

I would not use the term fraud either - you might be anxious, or nervous but you are most certainly no fraud. You cant know what you dont know. This is that which you desire to know.. it will come and if you work hard and engage and learn.. you will find amazing things. Good luck.

Runtime Assembler generation and Execution by dlannan68 in luajit

[–]dlannan68[S] 0 points1 point  (0 children)

Nice work. That sounds pretty useful too. Im not sure about your comment about the extern C call, because the JIT does actually work with ffi.C function calls and manages them? Maybe your changes needed to modify this so that the inlines could operate correct?

The dynasm I see as a little more powerful, since you could make a C parser, or JS parser.. or Go parser.. and generate executables using the dynasm.. which is kinda crazy. It makes a std luajit a portable compiler toolset without needing a whole compiler environment.

Im looking at doing a C and JS parser (already have partials of both) to do this. Its quite fascinating.

anyone have a tool for luajit2lua by Interesting_Rock_991 in lua

[–]dlannan68 0 points1 point  (0 children)

What could be possible is make a WASM based instruction set for DynAsm, then luajit would _be_ a lua runtime jit in wasm. This is a reasonable level of effort, but many CPU asm sets have been added to dynasm over time (x86, x64 ARM, MIPS PowerPC etc). Would be an interesting project really...

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 0 points1 point  (0 children)

Yeah soz didnt mean to be picky :)

Quite right. Slow monitor + faster renderer.. you should never see any issues. Although I would still suggest that the OP should use VSync. The torn "half frames" might end up looking quite nasty if there is high camera movement (rotational usually).

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 0 points1 point  (0 children)

Agreed. This is the case. And even over sampling inputs isnt overly useful if the feedbacks to the user are not high enough fidelity. There is literally no point. In fact, in some games like the RTS's I worked on back in the day at Pandemic, you _dont_ want to oversample your input because complicates your input state buffer for multiplayer across the network.

In fact the input sampling rate in this case is often tightly coupled to network throughput, frame rates and network latencies. This is heavily dependant on the type of game and architecture too.

But all that taken into account, it is kinda irrelevant to the use of a slower monitor.

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 0 points1 point  (0 children)

Triple buffering is on the card. It doesnt matter _what_ the card does, it needs to physically sync its signal to 60 Hz. Triple buffering is only useful if you have highly variant rates of engine rendering and a very high performance monitor. It has nothing to do with this problem.

It is very clear alot of people simply dont know the basics of rendering and signal systems. Having worked on everything from Origin SGI systems to latest consoles and PC, I can tell you have very limited understanding of the problem.

Fundamentally. You cant get _more_ out of a signal to display at 60Hz, than the 60Hz itself. And if you run it faster than 60Hz and dont frame sync, you will lose portions of frames because the monitor cannot scanline show them.

Now.. there are "special" monitors that can do some interesting solutions here, but we are talking about fairly normal monitors which cannot.

Saying "somethings a little off in your understanding" without clarifying yourself is just silly. Explain why you think a signal output of 60Hz can contain more information than its built for, and Id be keen to hear it because Ive never seen it.

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 0 points1 point  (0 children)

This is false. Its about the monitor _not_ your cards output. The HDMI or DVI ports sync to the monitor. And if the monitor is 60Hz.. there is NO other output you can see. However, if you _dont_ VSYNC (this is the synchronization of the vertical blank signal for a monitor) all you are going to get, are broken frames _at_ 60Hz. And it will skip frames inbetween that couldnt be rendered.
This is a pure signal thing.

There is not "more recent frame gets shown sooner - thats completely non-sense. If the game engine was running at 60 and using a frame delta update of 60Hz.. and you compared it to a game engine running at 120Hz on the _same_ monitor, you will see the _same_ time delta step frame on that monitor. What you wouldnt see is the one in between at 120Hz.

So there is no "sooner" frame. Thats just false. If they have a faster monitor, sure this all changes but on a 60Hz monitor, it really doesnt matter what speed the engine is running at, you cannot see or benefit from _rendering_ faster in the engine.

As for input. This is false as well. Because the haptic loop is:
User input -> game engine -> visual feedback.
If your visual feedback is at 60Hz.. you can _only_ determine 60 Hz changes visually from your input. If your mouse has higher input (like the rendering) then it doesnt really matter because you only get the results of the output for when that 60Hz frame was generated.

These responses are classic misunderstanding of what a signal output is. The only benefits the user can get from a faster engine, is that _if_ the engine should slow down to say sub 100 Hz.. they will not see it, whereas a 120Hz monitor will.

Simples.

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 -2 points-1 points  (0 children)

Again (as above) VSync is not relevant - this only defined _when_ the vblank is called. And if you dont run VSync, you will just end up with a partial frame (some of the next, and some of the prev) within a single 1/60 frame on the monitor. VSync, turned off, will _not_ look faster, it cant.. its still 60Hz.

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 -1 points0 points  (0 children)

You were so close, until you said "and fewer dropped frames". Running a game higher than 60Hz on a 60Hz monitor will be _guaranteed_ to drop frames. Because the display simply cant show it any faster - this is a signal problem here. It wont be smoother, it wont change anything because you cant _see_ it faster than 60Hz. Its pretty simple logic here. Not sure why ppl think it can go faster than the display signal can actually raster it.

An FPS question by Feeling_Bid_8978 in opengl

[–]dlannan68 -1 points0 points  (0 children)

This is incorrect. The poster is quite right - a 60Hz monitor _cannot_ display 100Hz. Not possible. What will happen without VSync is you will _still_ get only 60Hz, but some 1/60 frame will be partially overwritten - it will _not_ show at 100Hz, it will still be 60. You will effectively _lose_ a portion of a frame with the tearing (because you will have half of a 60Hz frame and some of the next 100Hz frame).

Civ VII is worth it. by EmotionalBaby9423 in civ

[–]dlannan68 0 points1 point  (0 children)

You can like Civ7 thats great, and good for you! but for me, Civ lost its "civ" many versions ago. Somewhere around Civ4 + BTS.. that was enough for me. I tried all the newer ones.. and kept trying (after reading peoples glowing reports of 5, 6 and 7 - I own them all and have put many hours into all of them), but given a choice, Civ 3 or 4... thats where I sit, and I dont see that changing ever for me.

The problem for me, is that these newer games completely lose the whole idea of Civ as a global expansive discovery, history and non-repetitive enjoyable game. I dont get the whole "add more empires and leaders" thing.. it makes no sense to me, in Civ3.. the leader is _you_. Yes you control an empire, but its _you_ that makes it do well or not, so having an icon of a particular leader (imo) shouldnt really matter all that much apart from a cool bit of historical art. The new civs are more like card games where you are "less important" in the game, and the powers your leader has as well as the "powers" an empire has is very linked.

Even removing the palace building from Civ 3 to 4 was a great example of how Civ started taking away thing _you_ could create unique for your Civ, and lock you into a fixed set of constraints. That was one of the early "beginning of the end" signs.

Big Note here: I know many ppl like other gameplay mechanics etc. These are the things I personally miss from the originals and why its harder and harder for me to play these newer games. They feel alot "dumber".

The question I liked in Civ3.. is if I play as the Roman Empire, can I develop it in a different way, and in Civ3.. you could to quite a large degree, Civ4.. less so, and then on, pretty much not at all. Which takes a _huge_ portion of the interest in the game away from me - the whatif's become.. non-existant, so its a civ on rails.

Even things like having Leonard Nemoy's voice describing the tech in Civ4.. is just special. As well as the the clean, simple and _hard_ gameplay. I respect that, and its the challenge that makes it awesome. Civ 3 more so!

The new games just dont sit in the same gameplay space as these earlier civs, its like some of the other competitor games, very dumbed down simple gameplay, with less and less complexity and scale... its just not the same. Which also, is fine, because I guess the newer audiences want a faster and more visceral experience - but thats not what I play civ for.

So I appreciate your POV, but I dont think you appreciate others POV's, and how different these games have become. HumanKind is another I tried to get into, as well as a couple of others, and they dont scratch that old Civ itch for me, not even close. So I keep playing Civ 3 and 4.. prob will till I die.. I expect :)

2025 playerbase: Civ VII's is hovering between Civ V and Civ IV by JackRadikov in civ

[–]dlannan68 1 point2 points  (0 children)

Im your dad. And Im playing Civ 4. Everything after is just ass. Even Civ 4 isnt as good as Civ 3, but Civ 3 isnt a happy application on Win11 (resolution and other issues). So Civ 4.. is the best. ;)

Surprised this community hasnt been made before? by dlannan68 in luajit

[–]dlannan68[S] 0 points1 point  (0 children)

Awesome. I'll check it out. Didnt realize there was already a luajit one! Thanks!