Skip to content

Umbrella libraries for modern windows development (with fasmg).

Notifications You must be signed in to change notification settings

bitRAKE/fasmg-umbrella

Repository files navigation

Warning

This software is unfinished. Keep your expectations low.

fasmg-umbrella

Umbrella libraries for modern windows development (using fasmg).

The umbrella libraries try to increase consistency in windows development, thru target selection via a single library:

Name Suffix:
	OneCore*
		All editions of Windows 7 and later
	WindowsApps*
		Win11 app development platform, WinUI 3+
	windowscoreheadless*
		Win10+ containers, Nano Server
	mincore*
		IoT

Name Postfix:
	*UAP
		Universal Windows Platform (UWP) editions, Win10+
		Desktop, IoT, HoloLens, but not Nano Server
	*_apiset
		access functions through apiset instead of DLL - same coverage
	*_downlevel
		?minimal support for older windows versions, driver development?

Some things to note:

  • Not all combinations of {suffix}{postfix} exist.
  • Backward compatiblity is not a goal of umbrella libraries.

Getting Started:

The only requirements are a supported windows version, and a command prompt with git along search path:

git clone --recursive https://github.com/bitRAKE/fasmg-umbrella
cd fasmg-umbrella
environment.cmd

Examples:

  • In the \examples directory several small programs can be build with fasmg. A clone of the repository should be sufficient, envionment.cmd from a command prompt establishes the needed changs to the environment. Individual examples can be built or the rebuild.cmd script will build them all.
  • File naming makes a distinction between several types of source code: .asm are main project files, .inc generates code at inclusion, and .g files create abstractions (no code generation at inclusion).

Question & Answer:

  • Q. If {APISET} just forwards to {DLL}, why can't I use all the functions exported by {DLL}?

  • A. The target windows versions of {APISET} don't have a uniform interface to all the functions in {DLL}. Fine-grained exclusion of targets is outside the scope of umbrella libraries.

  • Q. Something.

  • A. Something else.


REFERENCES:

Windows umbrella libraries

OneCore

WindowsApps

Universal Windows Platform (UWP)

Windows API sets


TOOLS:

GitHub repo size GitHub code size in bytes visitors

About

Umbrella libraries for modern windows development (with fasmg).

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages