Just asked to ChatGPT to generate code to draw a rainbow targeting Amiga OS4.
Here the exact question -> "Write a C program to draw a rainbow in a 24bit screen for Amiga OS computer"
I got following result (untested), any comment?
#include <graphics/gfx.h>
#include <intuition/intuition.h>
#define WIDTH 640
#define HEIGHT 480
void draw_rainbow(struct RastPort *rp)
{
int x, y, hue;
for (y = 0; y < HEIGHT; y++)
{
for (x = 0; x < WIDTH; x++)
{
hue = x % 360;
SetRGB32(rp, hue, 1.0, 1.0, 0);
WritePixel(rp, x, y);
}
}
}
int main(void)
{
struct Window *window;
struct RastPort *rp;
struct Screen *screen;
screen = OpenScreenTags(NULL,
SA_Depth, 24,
SA_Width, WIDTH,
SA_Height, HEIGHT,
SA_Quiet, TRUE,
TAG_END);
if (!screen)
{
return 1;
}
window = OpenWindowTags(NULL,
WA_Left, 0,
WA_Top, 0,
WA_Width, WIDTH,
WA_Height, HEIGHT,
WA_NoCareRefresh, TRUE,
WA_Activate, TRUE,
WA_RMBTrap, TRUE,
WA_CloseGadget, TRUE,
WA_DragBar, TRUE,
WA_DepthGadget, TRUE,
WA_Title, (ULONG)"Rainbow",
WA_IDCMP, IDCMP_CLOSEWINDOW,
TAG_END);
if (!window)
{
return 1;
}
rp = window->RPort;
draw_rainbow(rp);
WaitPort(window->UserPort);
while (GetMsg(window->UserPort))
;
CloseWindow(window);
CloseScreen(screen);
return 0;
}