Hussein
but in the case of a bios there isnt any operating system
an interupt is a call to the bios or OS to perform an action that regular programs cannot perform (writing to the disk, play music on sound card ..etc) there are bios interupts or uefi functions used to manage access to devices and there are operating system interupts that simplifies bios interupts and help programs access them more efficiently
Gionny
no, it doesn't work
Gionny
Because I don't actually have a main, Myfunction is a function that is called by an external program
Gionny
so I have to pass it two values, but obviously it doesn't read them😢
Gionny
So x and y would be fixed, the function will always call it differently with different values ​​from the other program
Gionny
Yes, another program call functions
Gionny
And I would like this program to be able to pass on the values
Gionny
I cannot send the images otherwise I would explain myself better
Gionny
Using mutation tests the code is changed and I don't know why but the function is also changed
Gionny
How?
Nafish
I am just starting today...can anyone suggest me a tutorial for c?
Gionny
I create the mutations through Milu, do you know any other software?
Gionny
For do mutation testing
Gionny
I am doing a thesis for the university regarding mutation testing in c
Gionny
With mutation testing I evaluate the goodness of the tests created to test my function
Gionny
The question was whether it was still possible to pass arguments to it with a function of the generate
Gionny
I probably have to change my method
Anonymous
have anyone build a function hooker before
Anonymous
in windows 32bit
Anonymous
yes i took a look at it
Anonymous
but did u see my quest
Anonymous
yes
Anonymous
have u done it before ?
Gionny
All the X and Y in the function?
Gionny
int Myfunction(int, int){ return *x + *y; } int main(){ Myfunction(5,6); } Like this for example?
Gionny
I am not very experienced in c, I am studying it for the thesis😅
Pavel
is it valid statement int *ptr=(int *)200; i mean assigning ptr adderess 200 ?
https://stackoverflow.com/questions/51083356/does-the-c-standard-permit-assigning-an-arbitrary-value-to-a-pointer-and-increme
Pavel
So x and y would be fixed, the function will always call it differently with different values ​​from the other program
C++ is compiled language with static typing. When you compile a function there will be tight assembly code generated for it and sometimes it can be generated for a specific call even (function call inlining) In this case it will probably pass two values through the processor registers and return the value through a register. You cannot modify the function or change how it's called at runtime, because you need to preserve that binary interface that was generated. You can change which function to call at runtime using pointers to functions, or virtual functions is C++, but not how to call it. I'm still unable to understand what you want to achieve, if you can describe what these mutation test should do to us in simple language, maybe we can figure out what you can use instead.
Gionny
Mutation testing is a technique for evaluating the goodness of the tests generated for a function. for example: I have a function like this Int max(int x, int y){ If(x>y) return 1; If (x<y) return -1; return 0; } And to test it I create a test of this type in another file: Int test01(){ If (max(5,2) ==1) return 1; return 0; } Int main(){ If (test01() == 0) Test failed! } Mutation testing to see if the test is good takes the initial function and creates mutants in this way Int max(int x, int y){ If(x==y) return 1; If (x<y) return -1; return 0; } Then the test is performed and if this returns an error it means that it has noticed the mutation and is therefore a good test
Gionny
The mutants generated are more than one, and they are created by Milu (a tool)
Gionny
I therefore have an error because when Milu generates the mutants it removes the parameters from the functions and this does not allow the compilation and therefore the execution of the tests
Gionny
I hope I have explained😅
Anonymous
Hiii is there anyone who familiar with using POSTMAN for api testing
Anonymous
The mutants generated are more than one, and they are created by Milu (a tool)
Don't use Milu. It is not under active maintenance and the issues that were raised 4 - 5 years back have still not been addressed. Use Mull instead. https://github.com/mull-project/mull
/
it sucks, and you have to do a lot of reverse engineering to do that
So in the bios to make the GUI they use the graphic card driver
Hussein
So in the bios to make the GUI they use the graphic card driver
the bios has to give programs a way to send data to devices on the system drivers are libraries you will use to send the right codes that you should send to the gpu to calculate where each pixel should be located (linear algebra stuffs) then you will write these pixels to the video memory without drivers you don’t know what codes should be sent to the graphics card to do your calculations
/
In the settings
Hussein
So how the bios make it's ui
for simple ui elements it is possible to do it on the cpu
Hussein
So how the bios make it's ui
basically you just need to write values to the video memory
Hussein
And how you access it
https://stackoverflow.com/questions/6808647/how-to-draw-square-in-assembly-language#6808764
Hussein
And how you access it
I think this will help you
Hussein
If i understanded well the answer says to use opengl
I don’t think this is possible on bare metal, you have to use an operating system to use an implementation of that specification if I’m not mistaken
fuck cpc
dose anybody know how to parallel decompress zip file in Linux ,the unzip is so slow,and the pigs not support zip file
Hussein
Yes but the bios havevnot an operating system
on VGA-compatible adapters you can program on VGA
Hussein
the link I sent you earlier was for real mode bios in protected mode (which is better) there is no graphics mode interupt so you have to use VGA the links below might help you 👇 https://stackoverflow.com/questions/21955406/enter-graphics-mode-without-interrupts-in-assembly
Hussein
Yes but the bios havevnot an operating system
I was wrong u can use graphics capabilities but you can’t use opengl... sorry
Hussein
I found a better tutorial https://wiki.osdev.org/VGA_Hardware
osdev.org seem to provide better explanation for developing operating systems it might help you
Hussein
What is graphics mode interrupt
in assembly you have to set some particular registers then call an interupt the bios will check the values set to the registers and perform an action accordingly in bios there is two modes graphic mode and text mode in text mode you get a something like command-line interface while in graphics mode you get to draw shapes (ui elements in your case) and design your own gui
Hussein
What is graphics mode interrupt
I found this online: https://wiki.osdev.org/How_do_I_set_a_graphics_mode
Hussein
What is graphics mode interrupt
why don’t you use uefi bios is no longer flashed on PCs
Hussein
only on old computers
/
why don’t you use uefi bios is no longer flashed on PCs
But i am not asking to use a bios or a uefi
/
only on old computers
I am asking to know how they create shapes on the screen
Hussein
I am asking to know how they create shapes on the screen
yeah the previous links I sent you go over those topics
Anonymous
how can i make like a gui library without using opengl
You want to know how you can draw on the screen without using opengl and using system calls. There is no direct system call as you would expect. What you should be looking at is a framebuffer. You work with it by typically manipulating a device like /dev/fb0. This is just like a system call because writing or reading from that device sends messages to the kernel. You can read up the documentation at https://github.com/torvalds/linux/tree/master/Documentation/fb to learn more about it. Check out framebuffer.rst and api.rst in the link above to understand how you can work with it.
Anonymous
how can i make like a gui library without using opengl
There are lots of tutorials on how to manipulate the framebuffer. Search for it online. Here is one : https://kevinboone.me/linuxfbc.html?i=1
/
especially this one
Methods for drawing via the BIOS Drop back to real mode, then call the BIOS. The easiest solution, but also the most ugly. Be careful to restore everything to real-mode values when you do. Use Virtual 8086 Mode. The most common good solution for protected mode. This way you can run the BIOS from a virtual machine style environment, thus maintaining control over the process. Virtual 8086 mode is however not available from Long Mode. Write/use an emulator. The slowest and most intensive approach, but has the advantage that it will work under any condition, including long mode and other platforms. You mean this?
Anonymous
Hello everyone i want to ask a question, I know maybe it’s not meaningfull for this group but, i have some doubts. Do I need to graduated from software engineering field to do software project? Associate degree is not enough?
Dima
It doesn’t really matter a lot, practice more instead
Anonymous
Yes but when a computer have not an operating system it can't use the Linux kernel
Your original question was how to draw graphics without using opengl and using system calls. If you want to do it on a bare metal system then why mention opengl or system calls in the first place?
André
Yes but when a computer have not an operating system it can't use the Linux kernel
search for your micro-controller name + gui, example: - TX19A + gui: first result should be Toshiba's own dev environment; - STM32 + gui: first result should also be STM own site