I also have a DIR *.COM because I like to see the file size of my program when optimizing. I put a pause at the end of the batch file so I can see if there were any errors. Another thing is that I name all my programs main.c, so that's a thing you'll notice. I always put the latest (nightly build) of z88dk in C:\Z88DK folder so it's easy to find and works with all my BUILD.BAT files. Because NABULIB is created for z88dk and I use Windows, this is a batch file. Now, if your program crashes the NABU, you'll need to reboot because that's your problem :) Sample Cloud CP/M BUILD.BATĬPM apps have a. It really only caches the directory contents, so the same program name can be ran over and over. Just run the program again after a rebuild and the new binary will be read - that's what's great about CP/M not having disk cache. You don't need to reboot the NABU every time you create a new build/disk image. I usually use B: and that way you can just switch to B: in Cloud CP/M and test the program. In my BUILD.BAT, I create a Cloud CP/M disk image with the and copy it to my Internet Adapter Storage Folder. I have a BUILD.BAT for every project, and in the project folder I include the CPMTOOLS (mkfs.cpm, cpmcp, diskdefs) files. That command-line will create a MYAPP.COM file, which you can simply copy to a Cloud CP/M disk image and run it. Zcc cpm -vn -list -m -create-app -compiler=sdcc -O3 -opt-code-speed main.c -o "MYAPP" That is why I created Cloud CP/M, so we don't need floppy's (Don't copy that floppy! xD).įor building apps for Cloud CP/M, this is the suggested command-line (replace the MYAPP with your app title). Since no one has storage on their NABU, it isn't possible for 99.9% of the metal out there to use NABU CP/M. The cpm with -subtype=nabu or -subtype=nabudos will take the vdp interrupt, create a unwanted hcca buffer and a few other things. While they've been really great adding support for NABU, they have aligned their development efforts at NABU CP/M for MAME and not Cloud CP/M. When building for Cloud CP/M, I recommend using the cpm target with z88dk. Either way, the instructions for both are provided below. Now, if you use VDP and maintain interrupts for keyboard, then you're program is stuck with NABU but I still prefer CPM builds. So if you disable keyboard, disable hcca, disable vdp, and use fprint/stdout and vt52 commands, it'll work on any z80 cpm computer. It'll make your program friendly to distribute and will easily work on other CP/M systems if it isn't using hardware specific stuff. So you'll see my examples are leaning toward Cloud CP/M. I'm not using homebrew much, because I prefer Cloud CP/M builds. The skeleton project contains the batch files (for windows) and a template main.c with all the stuff ready for you to get going. I recommend starting with the SKELETON project. If an example is missing or not working, ask me and I'll create it for you. I have included fonts and utilities for graphics, sound, joystick, CPM, and more. Within that folder you will find the main NABULIB libraries, which is the only stuff that need to be included in your NABU program. The main library in the directories above is NABULIB. To use this library, you can follow the tutorial here: The NABU-LIB Library This project aims to build a library for Cloud CP/M and homebrew development of the NABU PC with the easiest and fastest toolset. This library is optimized to be as efficient as possible, including text mode double buffer for scrolling, special function registers, and inlining where appropriate. This is an ongoing project, so follow this repo for additions, changes and bug fixes It includes efficient C functions for video, audio, hcca, keyboard, and more for the NABU Computer. This repo is a z88dk C library for the NABU PC (personal computer). For HomeBrew and Cloud CP/M ( HTTPS://NABU.CA) RetroNet of the NABU Persoal Computer Preservation Project.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |