Come to think of it, it looks like QB64 is taking the GW-BASIC screen 2 and squishing it vertically, which then gives a proper square but then the squishing turns the circle into an ellipse.
So it looks like QB64 is implementing CIRCLE the same way as GW-BASIC, however the screen 2 mode in QB64 does not match the pixel width to pixel height ratio of the GW-BASIC screen 2 mode.
I'm thinking that any GW-BASIC program using whatever screen mode will never look "right" (I.e. as it looks in GW-BASIC), as-is, in QB64.
In BAM (as per wwwBASIC), screen mode 2: pixels are 2.4 times taller than they are wide. So, to have a "proper" circle, the CIRCLE statement does some pretty special math to maintain proper aspect appearance. For example, if the radius is 24 at the horizontal, the radius must be 10 at the vertical.
Something like that ...
Screenshot of QB64:
So it looks like QB64 is implementing CIRCLE the same way as GW-BASIC, however the screen 2 mode in QB64 does not match the pixel width to pixel height ratio of the GW-BASIC screen 2 mode.
I'm thinking that any GW-BASIC program using whatever screen mode will never look "right" (I.e. as it looks in GW-BASIC), as-is, in QB64.
In BAM (as per wwwBASIC), screen mode 2: pixels are 2.4 times taller than they are wide. So, to have a "proper" circle, the CIRCLE statement does some pretty special math to maintain proper aspect appearance. For example, if the radius is 24 at the horizontal, the radius must be 10 at the vertical.
Something like that ...
Screenshot of QB64: