Python & QBasic Astrology

A versatile, Open Source program

ChartDraw QBasic Screenshots

The Python version will soon be on Github

Quirks are now being worked out, and code cleaning is needed. The program runs, though. You should preferably be QBasic savvy if you want to use ChartDraw for work. The program is released as it is, Open Source, somewhat prematurely. It is quite flexible, and it should be easy for a programmer to build on it – and substitute with new or more effective (efficient) algorithms.

Some modules, or lines, are being kept within the code as templates for further expansion – commented out, referring to existing drafts. However, QBasic/DOSBox cannot cope with much larger line count, so one should consider alternative BASIC-platforms. In ‘aqTIE.BAS’ there is room for several programs to import from – and/or to make diverse input routines. Manual and/or set input is also possible, for instance with extra factors or symbols.

This is a pure drawing program!  As it stands, ChartDraw imports data from ZET9 (free). ZET9  @  is a good astrology program which is even better if you buy the full version. For this QBasic purpose, ZET9 is among few programs where data (text) sheets are easily accessible and editable, and the program itself is very modifiable. Also, is there any other free program that yields an impeccable depiction of the Dispositor Chain?

ChartDraw can do Derived Houses (Turned Axes) [Cyc], and I’m trying to make the Dispositor Chain module more useful. There are toggles in all screens, so you can always go back and forth, have aspect lines or not, choose orbs, choose how many ‘planets’ to draw, or at any time choose how many of the ‘planets’ shall have those aspect lines – as well as superposition(s) and inner/outer wheels – and options for 0 degrees Aries in the East instead of ASC, with axes drawn or not.  [Some coding remains]

Calculation & drawing of Harmonics is in the menu, but as to accuracy, one could import such data in the same manner as with other charts. Secondary must be drawn in the same manner as Radix.

Note that the Axes can quickly become illusory in Harmonics, and Derived Houses are not really feasible there. Domification will be discussed elsewhere in the Cauldron – Houses may be questionable anyhow.

Editing a QBasic (plain text) program is easy to learn. It runs almost automatically in DOSBox (free). There is a wealth of material & friendly communities around QBasic on the ‘Net. QBasic is still alive and active.

DOSBox can be run in multiple instances – many DOSBox’es (windows) running simultaneously. That is handy when comparing charts.

These ChartDraw pages will be updated continually, with better descriptions, and with more on the technical/module side. This QBasic astrology program is already applicable and practicable (with minor flaws lingering). It will, in its basic simplicity, be improved.

You can run the program now:

The .conf-file is edited once
To draw a new chart, put in the Data Sheets



ChartDraw Specs

Assuming you’re using DOSBox:

Editing the default configuration file is the one thing you first need to do. It’s easy.

Normally it is here in Windows:
[AppData is a hidden folder, but it can be accessed]

2016-05-20 11_49_45-C__Users_main_AppData_Local_DOSBox
Take a backup copy of the original, and then open the .conf-file in a simple text editor (pure text mode, full width, no line wrap).

Automatic mount of your ChartDraw folder:
You have put the complete ChartDraw folder in your User Space somewhere. Add these three (3) lines at the very end of the DOSBox .conf-file, and then save:

2016-05-20 12_09_36-

That’s all!  Provided that you have placed the data sheet(s) in the aq_temp folder, you can now start DOSBox, and ChartDraw runs automatically.

You can do even more if you’re computer savvy.


ChartDraw Import
See intro

For the more versed users, I will soon describe a short script file that makes it possible to start Pullen’s Astrolog 6.30@ – in a terminal both in Windows & Linux, going straight into ChartDraw.

ChartDraw Import-ZET9
See Files

You must copy two (2) Data Sheets from ZET9 as plain text. Just copy them and place them in ChartDraw’s  aq_temp  folder as .txt-files. They are: Menu:Tables > ‘Astronomical Data’ & ‘Planet and House Degrees…’

2016-05-21 10_09_48-ZET 9.2.43 Lite   21 May 2016  Sat  10_03_19 GMT+2 59n55  10e45

Step: ‘Astronomical Data’ looks such:
(You save it as pure text by doing ‘Save As’ from the white space)

2016-05-21 11_09_29-

The thus saved .txt-file:
(No word-wrap – Called Astro.txt)

2016-05-21 11_18_42-Program Manager

Step: Then you open ‘Planets and House Degrees…’  – which is a plain text file by itself:  (Called Table.txt)

2016-05-21 10_47_10-Greenshot

This one you can save directly. If you accidentally hit ‘Save’ instead of ‘As’, it will be saved back into the ZET9 folder, which doesn’t change anything – so you might as well copy this file directly from there.

You have now saved two (2) .txt-files which shall be put into your aq_temp folder.

The first time you read this page it may seem cumbersome, but once you get the hack of it, it’ll take you less than a minute.

In the aq_temp folder, rename the two files:
(Or maybe you have already saved them there ‘As’):

Astro.txt -> Astro-2.txt [4 KB]
Table.txt -> Astro-1.txt [1 KB]
Be sure to get the numbering right here!

You’re done!



[More of these to come – a few minor quirks are still present]
Zodiac and ‘planet’ symbols will be improved. The brownish line down on the right is a temporary lead line. The 9’s & 0 are only transient reminders: the chosen number of ‘planets’ a.o. shall later be shown.

2016-05-13 19_20_27-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Radix – Draw type 1 – Node positioned (without glyph)

2016-05-13 19_38_43-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Radix – Orbs depicted – Draw type 1 – (Quirk WAIT loop)

2016-05-13 19_31_34-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Derived Houses (Turned Axes) [Cyc 3] – Draw type 1

2016-05-16 15_00_52-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Quirk: This is Cyc 3  (shows Cyc 1) – Orbs depicted – Draw type 2 – (Quirk Wait loop)

2016-05-16 15_06_09-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Aspect lines to 7 ‘planets’ – Orbs depicted – Draw type 2 – (Quirk Wait loop)

2016-05-16 14_58_17-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Dispositor Chain  (preliminary – see ChartDraw page) – Draw type 2 – Quirk Wait loop

2016-05-16 15_09_23-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Above: Har 3 – Draw type 2

2016-05-19 22_54_50-DOSBox 0.74, Cpu speed_     3000 cycles, Frameskip  0, Program_   QBASIC
Aries 0 degrees in the East  (instead of ASC) – axes drawn – (option to not draw them).


ChartDraw Files

The ChartDraw folder (one) can be put anywhere in your User Space. There is no Registry or anything complicated. If you delete your whole folder, it is all gone.

This ChartDraw description refers to the Windows graphical interface that most people use – just go about it as you do with any other program. Linux and other functionalities will be referred to here in more detail at a later time.

This QBasic program can be run as it is! There are some quirks which will be sorted out as this Cauldron develops. ChartDraw is released a bit too early, so that programmers may build on it.

As stated, it is no secret that the code needs tidying and more clarification. The code will be made more clear incrementally. You may want to view the HTML browser page source. More details are here below:

It could be a good idea to make a temporary copy of the ‘TIE and ‘DRAW files, and then strip & remove all comments and everything extraneous. That will give you a better overview early on.

There may be some ::stops:: in the code. Those are inserted by me temporarily for debugging purposes. (You should remove them, and you can insert your own – QBasic/DosBox has Function keys for ‘Continue’, printing of immediate (runtime) variable values direct in a terminal, etc.)

Pastebin  –  aqTIE.BAS
Pastebin  –  aqDRAW.BAS
Pastebin  –  A.BAT
Pastebin  –  astrap.bat
Pastebin  –  MASTER.MAS
Pastebin  –  CHOICE.MAS
Pastebin  –  IDENTITY.TIE
Pastebin  –  switch.sw0
Pastebin  –  choice.sw0

These are all the ChartDraw files. Just place them in one single folder, which in this setting is named ‘A_QB-DOS’. Within that same folder you make an (empty) subfolder called ‘aqCHARTS’, and inside that another empty folder called ‘aq_temp’. You’ll easily see the setup shown here. The other needed files (except data sheets) are created and managed by the program when you run it.

The data input will later be automated through ‘TIE. As mentioned above, there can be several alternatives. ChartDraw will grow and develop. The unfinished code is made public now, so that you may use its potential.

For Copyright reasons I am not supplying the MS-DOS QBasic files. However, they are everywhere to be found. The original files were contained in MS-DOS 5 (and in archives on subsequent Microsoft CD’s). The above mentioned thriving communities is reference enough, and there are also several alternative (free) QBasic variants.

My folder looks like this (Cygwin/Windows):
-rwx------+ 1 main None 194309 Nov 10 2008 ./qbasic.exe
-rwx------+ 1 main None 130881 Nov 10 2008 ./qbasic.hlp
-rwx------+ 1 main None 69886 Aug 22 2008 ./
-rwx------+ 1 main None 10790 Aug 22 2008 ./edit.hlp
2008-11-10 02:10 PM 194,309 qbasic.exe
2008-11-10 02:10 PM 130,881 qbasic.hlp
2008-08-22 10:38 AM 69,886
2008-08-22 10:38 AM 10,790 edit.hlp

[CATDIRS.MS and SWI.SWI a.o. are auto-generated]

2016-05-17 17_57_18-E__WORKBAK-K__P__A

2016-05-17 18_00_32-C__Users_main_WORK__P__A_A_QB-DOS_aqCHARTS

2016-05-17 18_03_31-E__WORKBAK-K__P__A


2016-05-17 18_22_57-C__Users_main_WORK__P__A_A_QB-DOS_aqCHARTS_aq_temp_ANGDAT.DAT - Notepad++

2016-05-17 18_25_00-C__Users_main_WORK__P__A_A_QB-DOS_aqCHARTS_aq_temp_PDAT.DAT - Notepad++


ChartDraw Menu

Editing in progress – Pending

Manual/Guide: (Boxes to the right of chart drawings):

—[ ]—[ ]—
[S]=Same harmonic as drawing
[D]=Pos refers to a Different harmonic




ChartDraw Scripts

Editing in progress – Pending

[See here]


ChartDraw Peruse

As shown above, the program files are at Pastebin.

A separate, dedicated page for editing & documentation only is also at Pastebin. It is transient and constantly changing:

That page contains some old fragments that I’m about to delete, but also some lines or info that I’m about to move or insert.

Descriptions and definitions that would take too much room in the QBasic code itself are kept there as well.

Those additional clarifications or drafts may be useful for you in understanding how this program works.

Parts of the comments in all files are still in Norwegian, Danish, or German. Such bits and pieces will soon be replaced with English.

2018-01-22 | 22:42 | Practical and technical notes

Leave a Reply