https://github.com/nanochess/bootLogo Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} nanochess / bootLogo Public * Notifications * Fork 3 * Star 114 * Logo language in 508 bytes (x86 boot sector) License View license 114 stars 3 forks Branches Tags Activity Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights nanochess/bootLogo This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit message Last commit date Latest commit History 14 Commits .gitignore .gitignore LICENSE LICENSE Makefile Makefile README.md README.md bootlogo.asm bootlogo.asm bootlogo.com bootlogo.com bootlogo.img bootlogo.img e.bat e.bat example3.png example3.png example4.png example4.png View all files Repository files navigation * README * License _ _ _ | | | | | | | |__ ___ ___ | |_| | ___ __ _ ___ | '_ \ / _ \ / _ \| __| | / _ \ / _` |/ _ \ | |_) | (_) | (_) | |_| |___| (_) | (_| | (_) | |_.__/ \___/ \___/ \__\_____/\___/ \__, |\___/ __/ | |___/ bootLogo interpreter in 512 bytes (boot sector or COM file) by Oscar Toledo G. Mar/18/2024 http://nanochess.org https://github.com/nanochess This is a small interpreter of Logo language. It's compatible with the 8088 processor (the original IBM PC), and it even works on CGA mode! If you want to assemble it, you must download the Netwide Assembler (NASM) from www.nasm.us Use this command line: nasm -f bin bootlogo.asm -Dcom_file=1 -o bootlogo.com nasm -f bin bootlogo.asm -Dcom_file=0 -o bootlogo.img Tested with VirtualBox for macOS running Windows XP running this interpreter, it also works with DOSBox and probably with QEMU: qemu-system-x86_64 -fda bootlogo.img You can set also the following labels: * video_mode. This sets the video mode used for bootLogo (default = 4 for CGA mode 320x200x4 colors). A good alternative is 13 (EGA/ VGA 320x200x16 mode). * color1. This sets the color for the letters in the command line (default = 1 for CGA mode) * color2. This sets the color for line drawing (default = 3 for CGA mode) Enjoy it! User's manual Line entry is done with the keyboard, finish the line with Enter. Backspace can be used to correct mistakes. The following commands are implemented: CLEARSCREEN Clears the screen and returns the turtle to the center, and pointing to the north. This command can only be used alone. FD 40 Move the turtle 40 pixels ahead. Caveat: If you use zero, it will be taken as 65536 pixels. BK 40 Move the turtle 40 pixels backward. Caveat: If you use zero, it will be taken as 65536 pixels. RT 25 Rotate the turtle 25 degrees clockwise. LT 25 Rotate the turtle 25 degrees counterclockwise. REPEAT 10 FD 10 Repeat 10 times FD 10 REPEAT 10 [FD 10 RT 20] Repeat 10 times FD 10 RT 20. Repeat can be nested. If you miss the final ] character then bootLogo will crash. PU Pen up. The turtle doesn't draw for following commands. PD Pen down. The turtle draws again. SETCOLOR 2 Set color for pen. Only 0-3 available in CGA, and 0-15 for EGA/VGA. QUIT Exit to command line (only .COM version) Examples bootLogo command sequence Result of bootLogo command sequence Acknowledgments * jcmeyrignac for an idea to make smaller the number decoding. * Jim Leonard (MobyGamer) for making me thinking about a higher-precision sin function, and suggesting me the use of the Set Pixel BIOS service. * raulamd for reminding me that cubicDoom had a smaller sin function. More on this? Do you want to learn 8086/8088 assembler? Get my book Programming Boot Sector Games containing an 8086/8088 crash course! Now available from Lulu: Paperback book Hard-cover book eBook These are some of the example programs documented profusely in the book: * Guess the number. * Tic-Tac-Toe game. * Text graphics. * Mandelbrot set. * F-Bird game. * Invaders game. * Pillman game. * Toledo Atomchess. * bootBASIC language. About Logo language in 508 bytes (x86 boot sector) Resources Readme License View license Activity Stars 114 stars Watchers 1 watching Forks 3 forks Report repository Releases No releases published Packages 0 No packages published Contributors 2 * @nanochess nanochess Oscar Toledo * @easybe easybe Ezra Buehler Languages * Assembly 96.0% * Makefile 3.0% * Batchfile 1.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.