C++ pointers

Started by
6 comments, last by Ron AF Greve 14 years, 8 months ago
What's the easiest way to find out which of my computer's memory addresses do what, and all of the appropriate opcodes and other ASCII values, etc. that I can use in them? Is there a manual with a chart and/or appropriate Appendix I can purchase. I am most interested in using the visual and audio related addresses to write music software.
better living throughprogramming
Advertisement
If I understand you correctly what you are referring to is Memory Mapped IO which is not available when running code in user mode. If you are interested in graphics/sound you will have to use the various libraries/APIs available for your platform.

Hope this helps.
Quote:Original post by conejo5991
What's the easiest way to find out which of my computer's memory addresses do what, and all of the appropriate opcodes and other ASCII values, etc. that I can use in them?


Unless you wish to develop hardware, this is mostly redundant.

Quote:Is there a manual with a chart and/or appropriate Appendix I can purchase. I am most interested in using the visual and audio related addresses to write music software.


On Windows, video and audio is covered in DirectShow (I think it's still called that, these names keep changing), which deals with multimedia in general. There are also various sound specific APIs, such as OpenAL, but those deal primarily with playback.

There is no need (or even realistic possibility) to deal with direct hardware access.

On Linux, as far as multimedia goes, you are in a world of pain. On Mac, I have no clue.
I don't think people really do it that way any more (as far as I know it's not even possible from within modern operating systems). Though yes, it would be kind of fun in a hackish sort of way (though you could satisfy your need for such fun by picking up an old Commodore 64).

A couple low-level APIs will give you full control to do whatever you want: OpenGL(visual) and OpenAL(audio). To use these you'll also either need to use your Operating System's API (the hard way) or some other slightly higher-level API which sets up a window/context for you (the easier, often portable way). I like GLFW, but SDL is also popular.
Quote:Original post by Antheus
Unless you wish to develop hardware, this is mostly redundant.

Or write your own OS, which is why webpages dedicated to writing your own OS would be the most likely place to find this kind of information online. Throw "writing your own operating system" or "how to write an operating system" in your favorite search engine to get some pages to look at.
Quote:Original post by Antheus
On Linux, as far as multimedia goes, you are in a world of pain. On Mac, I have no clue.
The Mac is pretty well set with regards to multimedia support:
  • Quicktime offers a very simple high-level interface to all kinds of multimedia.
  • CoreAudio and CoreVideo offer *very* complete (albeit fairly low-level) multimedia pipelines.
  • OpenAL and OpenGL are installed by default, suitable for most game needs.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

There's a standard plugin SDK from Steinberg which is used for many virtual instruments and effects.
From the time we actually had to program chipsets like video cards, time chips etc. I allways liked a book called 'Assembly language programming the IBM pc' (SAMS) (more than 20 year old so probably not published anymore) but maybe second hand. But I am not sure that stuff still works. It might if you write your own boot program.

You might also look pcgehttp://www.geocities.com/SiliconValley/2151/pcgpe.html

BTW did a quick google for the book:

http://www.amazon.com/8088-Assembler-Language-Programming-IBM/dp/0672224003

and lastly look on the intel site for assembly manuals for intel processors:

Have fun.
Ron AF Greve

This topic is closed to new replies.

Advertisement