https://github.com/savetz/renderific
An SVG renderer for Atari 8-bit computers, written in Turbo-BASIC XL
https://github.com/savetz/renderific
Last synced: 4 months ago
JSON representation
An SVG renderer for Atari 8-bit computers, written in Turbo-BASIC XL
- Host: GitHub
- URL: https://github.com/savetz/renderific
- Owner: savetz
- License: mit
- Created: 2019-03-04T21:17:56.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-25T17:22:55.000Z (over 6 years ago)
- Last Synced: 2025-10-28T08:24:52.940Z (8 months ago)
- Size: 1.54 MB
- Stars: 20
- Watchers: 1
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Renderific
An SVG renderer for Atari 8-bit computers, written in Turbo-BASIC XL
Renderific 1.0 - Readme
===================
Renderific is an SVG renderer for Atari 8-bit computers, written in Turbo-BASIC XL. It tries to parse SVG Tiny files and draw them on screen and/or on an Atari 1020 plotter.
Sample output:








It is copyright 2019 by Kevin Savetz (@KevinSavetz) and released under the MIT license.
The SVG Tiny spec is at https://www.w3.org/TR/SVGTiny12/
Thanks to @PneumaticDeath for help on the Bézier math, and @BillLange1968 for plotter testing.
Fun places to get/make SVGs:
Mazes: http://www.mazegenerator.net
Flowers: https://bleeptrack.itch.io/overflower
Twisted Polygon Generator: https://msurguy.github.io/polygon-tool/
Flags: https://github.com/lipis/flag-icon-css
Bugs and things
---------------
I've found some SVGs that seem to intentionally draw in negative regions. I'm not sure what their intention is - is the viewport moved to include part of the negative quadrants? Anyway, Renderific doesn't support that. Many of the SVG flags at https://github.com/lipis/flag-icon-css do this. (I'm looking at you, Djibouti and Bouvet Island.)
I kind of wanted to add the "a"rc path command, although it is not in SVG Tiny. It looks complicated.
https://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands
It doesn't handle FILLs.
I did not support the SVG TEXT command while rendering to the plotter. It's probably easy to add but given the other plotter issues I thought it best to wait.
The program really wants the file to end with </svg>, otherwise you'll get an EOF error.
If any single command in the SVG file (e.g. very long PATH commands) exceeds the DIMensioned length of A$ (10000 characters) the program will crash.
However, the program should nicely handle SVG files with any type of line ending, e.g. Atari, Mac, Windows, whatever.