{"id":19297216,"url":"https://github.com/lkundrak/dev86","last_synced_at":"2026-02-21T03:02:17.351Z","repository":{"id":921509,"uuid":"685881","full_name":"lkundrak/dev86","owner":"lkundrak","description":"C compiler, assembler and linker environment for the production of 8086 executables","archived":false,"fork":false,"pushed_at":"2023-09-15T08:21:34.000Z","size":1701,"stargazers_count":169,"open_issues_count":14,"forks_count":48,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-02-14T04:44:33.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://v3.sk/~lkundrak/dev86/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lkundrak.png","metadata":{"files":{"readme":"README","changelog":"Changes","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-05-25T19:26:50.000Z","updated_at":"2026-02-13T12:22:58.000Z","dependencies_parsed_at":"2024-06-19T01:44:18.359Z","dependency_job_id":"989ffb08-88d2-4ebb-ba69-fa77d0d7cf78","html_url":"https://github.com/lkundrak/dev86","commit_stats":{"total_commits":70,"total_committers":5,"mean_commits":14.0,"dds":0.3571428571428571,"last_synced_commit":"80d485b8014cbb926ce8a00cb87b2ca923c5618c"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/lkundrak/dev86","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkundrak%2Fdev86","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkundrak%2Fdev86/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkundrak%2Fdev86/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkundrak%2Fdev86/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lkundrak","download_url":"https://codeload.github.com/lkundrak/dev86/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkundrak%2Fdev86/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29461411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T22:42:09.113Z","status":"ssl_error","status_checked_at":"2026-02-14T22:42:05.053Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T23:01:48.170Z","updated_at":"2026-02-21T03:02:17.336Z","avatar_url":"https://github.com/lkundrak.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"This is a development environment for ELKS-86 and standalone 8086 code.\n\nAll you need to do is 'make' from the top directory and the main parts\nof the package will be made. These can be tested by using the 'ncc'\nprogram from the newly created bin subdirectory. (ncc is a varient of\nthe bcc driver program that doesn't need to be installed to be used).\n\nUse 'make install' to install them.\n\nSome other bits can be built by 'make other' and installed with\n'make install-other'.\n\nNote the the make files for the libraries can only be run using\nGNU-make but version 3.82 has a bug (No. 30612) that prevents this\nworking properly.\n\nIf you want it to install under /usr/local instead you can specify\nthe prefix on the first make ie: 'make PREFIX=/usr/local' this is\nremembered until 'make.fil' is rebuilt. \n\nThe manual pages in the man subdirectory are matched to these programs,\nthere are also some hints for using as86 well.  The tests and bootblocks\ndirectories give some example code.\n\nThe bcc command defaults to using /usr/lib/bcc/include and /usr/lib/bcc\nthe libraries _and_ include files are copied to these locations by\ninstall.  This can be changed by overriding 'PREFIX=/usr/...' or\n'LIBDIR=/usr/...' on the initial make. Also available in the\nsame way are the BINDIR, INCLDIR, ASLDDIR, MANDIR and ELSESRC.\nThe 'ELKSSRC=/usr/src/elks' variable can be altered if you have ELKS on\npath different from the default or ELKSSRC=/dev/null uses the supplied\nELKS headers. The ASLDDIR variable can be used to move as86 and ld86\ninto the LIBDIR with 'ASLDDIR=$(LIBDIR)'. The final '/include' is added\nto the end of INCLDIR.\n\nIn the unlikely event you're makeing a non-cross development environment\nyou can, on the initial make, do \"make PREFIX=/' to have the libraries\nand include files in 'Native' locations.\n\nNote: These prefix options only effect the 'bcc.c' driver program and\n      the install scripts, all the others get their paths from bcc.c.\n      The ELKSSRC location can, however, greatly effect how the ELKS\n      libraries are built.\n\nIf you don't want to install in the locations specified above there\nis also a DIST= argument to make install that is used to specify the\ndistribution root to install to.\n\nThe last option is not to install at all. All the executables in the\nbin directory can be moved to whereever you wish except for bcc and ncc.\nTo use bcc at any other location you can create a symlink from your\nnew location to the 'ncc' executable and it will be able to find\nthe libraries in the build directory:\n\neg:\n  cp ar86 elksemu objdump86 $HOME/bin/.\n  cp as86 as86_encap ld86 $HOME/bin/.\t# Optional.\n  ln -s `pwd`/ncc $HOME/bin/bcc\n\nAll the versions of the library are built by make; 'normal', 'fast',\n'MSDOS', 'standalone' and Linux-i386.\n\nYou use the other libraries like this:\n   'FAST'    \t$ bcc -Mf prog.c -o prog\n   Caller saves $ bcc -Mc prog.c -o prog\n   MSDOS\t$ bcc -Md prog.c -o prog.com\n   Standalone\t$ bcc -Ms prog.c -o prog.sys\n   Linux-i386\t$ bcc -Ml prog.c -o prog\n\nThe 'Fast' and 'Caller saves' versions alter the function call assember \nin an effort to make it smaller and faster.\n\nThe 'MSDOS' version creates _small_ model (64k+64k) COM files. Because\nof DOS limitations the filesize is limited to about 65000 bytes but\nthe BSS and Stack can be upto 64k on top of that.\n\nThe 'standalone' version creates executables like normal ELKS a.out\nfiles but with no operating system calls, just BIOS ones. These \nfiles are suitable for running on a bare machine started by one of\nthe boot blocks in the bootblocks subdirectory. If you add a '-d'\noption to the link stage the a.out header will be removed.\n\nThe Linux-i386 version generates static Linux OMAGIC a.out programs,\nthey need neither elksemu nor a.out shared libraries to run. Unfortunatly\nthese can no longer be converted to ELF executables as Linux will not\nexecute unpageable ELF executables. To allow conversion to ELF if you\npass the '-z' flag to 'bcc -Ml' the linker will now create QMAGIC a.out\nexecutables, these are somewhat larger but can be converted with objcopy.\n\nIf you want to install everything in one go just login as root an do:\n$ make install-all\n\nThe as86 and ld86 with this are _different_ from the minimum version\nneeded for the linux-i386 kernel and can replace them, versions before\n0.12.0 will not work with this version of bcc.\n\nI suggest you install the kernel patch or load the module to allow\ntransparent execution of elks executables.  If you're using a post\n2.1.43 or 2.0.36 kernel the only module you need is the binfmt_misc\ndriver configured like this:\n\necho ':i86-elks:M::\\x01\\x03\\x20\\x00:\\xff\\xff\\xff\\x83:/usr/bin/elksemu:' \\\n     \u003e /proc/sys/fs/binfmt_misc/register\n\nThe elksemu executable must be stored in /usr/bin/elksemu or the above\nline adjusted.\n\nPrevious kernel versions need a special module or patch described in\nelksemu/README (All the options need the elksemu executable installed\ncorrectly)\n\nCopyrights\n----------\nThe `bcc', 'as' and `ld' parts of the distribution are now covered by\nthe GPL.  The `bccfp' library now in the libc/i386fp directory is under\nthe LGPL. (Primary copyright holder Bruce Evans)\n\nThe contents of the libc and libbsd subdirectories are under the LGPL\nwith a few noted exceptions.  The programs in 'tests', elksemu, copt\nand the bootblocks directory are under the GPL.  Dis88 is freely\ndistributable if the source is distributed also.  Unproto is freely\ndistributable as long as Wietse Venema \u003cwietse@wzv.win.tue.nl\u003e and the\n\"Mathematics and Computing Science Dept.  Eindhoven University of\nTechnology.  The Netherlands.\" is given credit.\n\nIn libc the regular expression routine and the printf/scanf functions are\nnot under LGPL, the former is 'freely distributable' the latter is public\ndomain.\n\nSee the COPYING file in this directory for the GPL and the COPYING file\nin the libc directory for the LGPL.\n\n--\nRob.                           (Robert de Bath \u003crobert$@debath.co.uk\u003e)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkundrak%2Fdev86","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flkundrak%2Fdev86","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkundrak%2Fdev86/lists"}