Last active
April 19, 2025 02:20
-
-
Save fu-sen/4e079229d43a0aa6c9d40734c35fb2ab to your computer and use it in GitHub Desktop.
Sine curve | z88dk mono graphics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Sine curve | z88dk mono graphics | |
| Copyright (c) 2019 BALLOON | FU-SEN | |
| The MIT License (MIT) - https://mit.balloon.net.eu.org/#2019 | |
| Colecovision: | |
| zcc +coleco -lm -create-app -bn sin sin.c (generate sin.rom) | |
| MSX (-pragma-define:CLIB_DEFAULT_SCREEN_MODE=3 also works): | |
| zcc +msx -lm -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -create-app -bn sin sin.c (Cassette tape image, generate sin.cas) | |
| --> BLOAD"CAS:",R (MSX turbo R has the tape feature removed!) | |
| zcc +msx -lm -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -create-app -subtype=disk -bn sin sin.c (BASIC BLOAD file, generate sin.msx) | |
| --> BLOAD"SIN.MSX",R | |
| zcc +msx -lm -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -create-app -subtype=wav -bn sin sin.c (Cassette tape audio WAV format, generate sin.wav) | |
| --> BLOAD"CAS:",R (MSX turbo R has the tape feature removed!) | |
| zcc +msx -lm -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -create-app -subtype=msxdos -bn sin sin.c (MSX-DOS .com executable file, generate sin.com) | |
| --> SIN (mSX-DOS) | |
| zcc +msx -lm -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -create-app -subtype=rom -bn sin sin.c (ROM cartridge image, generate sin.rom) | |
| PC-6001: | |
| If you have a problem with the line drawing, try on Night Build 20190708 or later | |
| zcc +pc6001 -lm -create-app -bn sin sin.c (16k, generate sin.cas) | |
| zcc +pc6001 -lm -subtype=32k -create-app -bn sin sin.c (32k, generate sin.cas) | |
| --> CLOAD | |
| RUN | |
| PC-8801: | |
| zcc +pc88 -lm -lgfxpc88 -create-app -Cz--audio -bn sin sin.c (160x100, generate sin.t88) | |
| zcc +pc88 -lm -lgfxpc88hr200 -create-app -Cz--audio -bn sin sin.c (640x200, generate sin.t88) | |
| --> MON | |
| R | |
| G8A00 | |
| PC-E200, E220, G801, G802, G803, G811, G812, G813, G820, G830: | |
| zcc +g800 -lm -create-app -clib=e200 -bn sin sin.c (generate sin.ihx) | |
| --> g800 sin.ihx 100 (g800) | |
| MON | |
| USER 1000 | |
| R | |
| G100 | |
| PC-G815: | |
| zcc +g800 -lm -create-app -clib=g815 -bn sin sin.c (generate sin.ihx) | |
| --> g800 sin.ihx 100 (g800) | |
| MON | |
| USER 1000 | |
| R | |
| G100 | |
| PC-G850: | |
| zcc +g800 -lm -create-app -clib=g850b -bn sin sin.c (generate sin.ihx) | |
| --> g800 sin.ihx 100 (g800) | |
| MON | |
| USER 1000 | |
| R | |
| G100 | |
| SC-3000: | |
| zcc +sc3000 -lm -subtype=rom -osin.sc sin.c (generate sin.sc) | |
| SV-318 (-pragma-define:CLIB_DEFAULT_SCREEN_MODE=3 also works): | |
| zcc +svi -lm -create-app -pragma-define:CRT_ORG_CODE=49200 -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -bn sin sin.c (generate sin.cas) | |
| --> BLOAD"cas:",R | |
| zcc +svi -lm -create-app -pragma-define:CRT_ORG_CODE=49200 -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -subtype=wav -bn sin sin.c (generate sin.wav) | |
| --> BLOAD"cas:",R | |
| zcc +svi -lm -create-app -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -subtype=rom318 -bn sin sin.c | |
| SV-328 (-pragma-define:CLIB_DEFAULT_SCREEN_MODE=3 also works): | |
| zcc +svi -lm -create-app -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -bn sin sin.c (generate sin.cas) | |
| --> BLOAD"cas:",R | |
| zcc +svi -lm -create-app -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -subtype=wav -bn sin sin.c (generate sin.wav) | |
| --> BLOAD"cas:",R | |
| zcc +svi -lm -create-app -pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 -subtype=rom -bn sin sin.c (generate sin.rom) | |
| TI-83: | |
| zcc +ti83 -lm -create-app -bn sin sin.c (shell=Ion or Ti-Explorer, generate sin.83p) | |
| TI-86: | |
| zcc +ti83 -lm -create-app -startup=2 -bn sin sin.c (shell=ASE, Rascal or emanon, generate sin.86p) | |
| ZX81: | |
| zcc +zx81 -lm -create-app -bn sin sin.c (generate sin.P) | |
| ZX Spectrum: | |
| zcc +zx -lp3 -lm -create-app -bn sin sin.c (generate sin.tap) | |
| It can be built on various other Z80 platforms! | |
| */ | |
| #include <graphics.h> | |
| #include <math.h> | |
| #include <stdio.h> | |
| void main() { | |
| int x, y; | |
| clg(); | |
| for (x=0; x<=getmaxx(); x+=2) { | |
| plot(x, (getmaxy()+1) / 2); | |
| } | |
| for (x=0; x<=getmaxx(); x++) { | |
| y = (int)(((getmaxy()+1) / 2) * (1.0 - sin(M_PI * 2.0 * x / (getmaxx()+1)))); | |
| if (x==0){ | |
| plot(x, y); | |
| } else { | |
| drawto(x, y); | |
| } | |
| } | |
| while (getk() < 1){} | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Colecovision (BlueMSX):

MSX (WebMSX C-BIOS light version):

PC-6001mkII (PC6001VW+互換BASIC(ごかんBASIC, Gokan BASIC=Compatible BASIC):

Note: The PC-6001 has a green background
PC-G850 (g800):

SC-3000 (BlueMSX)

SV-318 (BlueMSX)

SV-328 (openMSX)

ZX81 (EightyOne):

ZX Spectrum (Speccy):
