VOGONS


The 86Box API

Topic actions

First post, by NT4Boy

User metadata
Rank Newbie
Rank
Newbie

I'm standing up to be knocked down, but here goes anyway.

API (Advanced Programming Interface?) is outlined in the 86Box docs, but what exactly is it?

I was imagining that it would be a system, where its possible to extend the capabilities of 86Box, or change the way the host and the VM interact, but all the conversations I have read, seem to be discussing something completely different, so I have to assume I've got the wrong end of the stick.

Would someone kindly give me a newbies, in simplest form, basic outline.

Thank you.

Reply 1 of 4, by kmeaw

User metadata
Rank Member
Rank
Member

Those are internal APIs - interfaces for writing virtual devices, such as motherboards, chipsets, video cards and so on.

Is there anything specific you would want to implement?

Reply 2 of 4, by NT4Boy

User metadata
Rank Newbie
Rank
Newbie

Sorry, but I guess that means internal to 86Box, and if so what is driving them, or where would you interact with them?

I would like to be able to add a PCMCIA card that is not a Flash memory card, or anything else that's commonly in the VMN settings GUI.

Reply 3 of 4, by kmeaw

User metadata
Rank Member
Rank
Member

Yes, I mean internal to 86Box - virtual devices are typically C modules, linked into the main binary. The interaction happens through function calls and global variable manipulation. Plumbing happens in src/device.c
There are no dynamic loadable module system or interprocess communication protocols to implement a virtual device.
To get a basic understanding, start reading an init function of a machine - it adds the devices that the machine is built of.
Currently I don't see any code that would implement a PC Card host interface, so that won't be an easy task.

Reply 4 of 4, by NT4Boy

User metadata
Rank Newbie
Rank
Newbie

I was reasonably certain I was out of my depth, many thanks for your confirmation.

Problem I have is that this card is a link in a chain from a W95 piece of software, to a complex electrical box running a machine usefully. Currently keeping a stock of period laptops and disk images available, for when the current one dies.
We'd all feel better if we could host it on something current and a VM looked very promising and works well with recognised hardware like NIC and COM ports.
The sponsors would be happy to buy a 'box' that the PCMCIA card plugged into, with maybe a Thunderbolt or USB link to the new PC, but I've no idea who to approach with a view to rewriting the W95 PCMCIA driver to successfully communicate with my imaginary interface, assuming it is possible. I guess somethings cannot be achieved for sound reasons.