Monthly Archives: March 2014

Concept 3D

Concept 3D is now available as freeware.

It’s a 3D graphics package, written by the late Robert Fingerle and published by US software house Tesseract Software.

Prior to his death, the author gave permission for the software to be freely released for the QL.

The software is configured for microdrive, so you may need to use a FLP_USE “MDV” command to run it from floppy disk, for example. Unfortunately, I have no manual for the software, so I have included a magazine review from 1986 with the software in the form of a Quill _doc file called concpt3d_doc which you may wish to read before trying the software. Alternatively, read the article as a (256K) PDF file on the same page. Although I haven’t had time yet to try running the software myself, the review seems to imply it’s a great 3D graphics program.

The software is available to download from my website at http://www.dilwyn.me.uk/graphics/index.html

I am grateful to Timothy Swenson for obtaining the permission to release the software, and to Rich Mellor for preserving a copy of the software before it was allowed to vanish forever.

Update: Shortly after I wrote this, I was given a copy of Concept 3D patched to run from disk, now available on the same page. Hopefully if we can find a manual and scan it, we can also make that available.

Pyramide Software

Rich Mellor says he now has a full copy of Mr Smith by Pyramide and has permission from Daniele Purlich at Pyramide to re-release all of their titles on a commercial basis.

On a more general note, Rich is stepping up his efforts to preserve copies of older QL software for the future. He is working with Dave Park on future hosting of the QL Wiki, and is working with another QL user in the USA on a database of QL software and books.

Sandy Electronics LLC

Dave Park has resurrected the ‘Sandy Electronics’ name in order to market some products he is trying to bring to market in this thirtieth year of the QL. On the 2nd of February, he wrote on the ql-users list:

“Yesterday I made a few thousand replacement foam pads [for microdrive cartridges] on a laser cutter. They’re the exact material in the exact size, they’re strong self-adhesive, and they’re great. In a short while I will post a video showing how they are made and how to use them. I will be selling them in lots of 10, 25 or 100 for just the amount to cover the cost of making and shipping them (if you’re a QUANTA member) or a little more.

“Since replacing the pads is a very delicate task suited only for the most confident and steady of hands, is their someone in the EU who would be willing to offer an install service? I do not think it is good for data for microdrive cartridges to be mailed to the US – someone in the EU would be better suited. You would be able to charge a flat fee for each cartridge (maybe EURO 0.5 + postage per microdrive?) and then you would just pay me for the pads at the bulk rate when you have used them.

If interested in that, please get in touch“

The Gold Card battery holders are now just about ready to sell too. In his blog at http://sinclairql.com/wp/ he wrote:

“It’s been an epic adventure, but these are finally being manufactured. The new design includes a red plastic case which looks a lot like the original battery. Inside it is contained a PCB with a battery holder to take a CR2032 battery. We expect to receive the first batch of these around the first week of March.

Pricing will be:

£12.00 each plus £2 flat rate shipping for any quantity. £9.00 each plus £2 flat rate shipping for Quanta members.

The Sandy Electronics store is at http://www.SinclairQL.com/store/  and will open for business on March 1st, 2014.

The coupon code to get 25% off a battery adaptor is “QUANTABAT” and can be used as many times as you like. With Quanta discount, the adaptors are £9 each, plus flat rate shipping of £2 for any quantity. Customers can select to pay in £, € or $ in the store.

All of our future products will offer discounts for Quanta membership, so if you are not a Quanta member, why not consider joining? Membership starts at £18/year and includes six bi-monthly magazines. Discounts on just one future purchase could pay for a whole year!”

Working with the designer of the original Qubide IDE interface, Sandy is working on the UltimIDE, a new and more capable IDE interface, based on QubIDE. The interface is designed to take advantage of technologies that have developed since the original QubIDE was developed.

The provisional specification is:

  • One IDE interface, supporting two IDE drives
  • One on-board connection for a 1.8″ PATA SSD (not a 2.5 inch device, which may draw more power than the QL can supply to UltimIDE)
  • One or two CF slots. A CF card will be included, containing drivers, utilities, and SMSQ/E.

The new design is entirely surface mount, extremely power efficient, and 100% code/driver compatible with the original QubIDE.

Expected availability: May/June 2014

The website hints at a few other items of hardware to come – have a look at the website to see what’s happening by the time you read this!

The Sandy forum (support forum for Sandy customers) may be found at:

http://SinclairQL.com/forum/

QPC2 v4.01 Free For All!

Marcel Kilgus has announced that, to celebrate the birth of his daughter, he has made QPC2 available free to download from his website. In a posting on 31st January he said:

“I have mentioned that I intended to make QPC2 available and free for all for some time and the first fruit of this could be observed for QL Today subscribers with QPC2 v4 on the last QL-Today DVD.

“Now, to celebrate the birth of my first and very lovely daughter (who turns one week old in exactly 3 hours), I follow up on my promise and finally make QPC2 available for everybody to enjoy. Head over to http://www.kilgus.net/qpc/downloads.html  to get it.

“The package contains QPC2 v4.01 and the latest SMSQ/E 3.18.”

A couple of days later, Marcel wrote:

“There was a bug in the installer that created the qpc.ini and qpcdemo.win files write protected when installing using the “all users” option. This has been fixed. Also, the default qpc.ini file suppressed the config dialog, which has been fixed, too. It’s still 4.01 as QPC itself has not changed.”

Old Machinery Blog

picture of Tero Heikkinen

picture of Tero Heikkinen

Tero Heikkinen in Finland writes the ‘Old Machinery’ blog at http://oldmachinery.blogspot.co.uk/search/label/ql

While geared to the retro-computing scene, it contains some interesting QL posts as well, such as QL networking, use of QL procedures to create a graphical command set, and using a serial link to transfer files between QL and PC.

News From George Gwilt

George Gwilt writes:

There are a few software updates on my website:

http://gwiltprogs.info/

1. NET_PEEK  v 3.42 displays graphics information for CON/SCR channels in programs compiled by TURBO.

2. TURBO TK Code v 3.42 contains the keyword TURBO_DUMMY which can be used, in conjunction with TURBO_V, as a substitute for functions returning floating point.

(The fact that both new versions are 3.42 is purely coincidental!)

3. Turbo TK Code contains the additional keyword TURBO_DUMMY. This is because, although I am fairly certain that that keyword was supposed to be added as a replacement for functions returning floating point values when using TURBO_V, it appears that TURBO_DUMMYF was added instead. Now both are available in v 3.42.

4. One of NET_PEEK’s capabilities is displaying information about channels. In particular S*BASIC CON/SCR channels have a section showing graphical information. For example this section shows whether, in turtle graphics, you have PENUP or PENDOWN. This information is available in programs compiled by Turbo and is now displayed for the first time by NET_PEEK v 3.42.

SMSQmuLator and SMSQ/E News

v. 1.23 of SMSQmulator can be downloaded from www.wlenerz.com/SMSQmulator

This uses SMSQE 3.18.

Wolfgang Lenerz says you might want to upgrade, there was bug in the directory creation routine for WIN drives.

SMSQE 3.18 is out www.wlenerz.com/smsqe

This allows programs that are devised for it to have a CSIZE for application subwindows other than 0,0. You can find a demo program for that at www.lenerz.com/QLStuff

Application subwindow text objects may now have character sizes other than 0,0. Of course, this only applies to programs specially written to take advantage of these sizes.

The values for the csizes are stored in the working definition at previously unused locations ($26 and $27). The values are the same as those for the CSIZE command i.e. 0 to 3 for the x csize and 0 or 1 for the y csize. Behaviour if other values are given is undefined.

Note that the csizes are, of course, the same for all objects of a menu application sub-window (but different appsubwindows may have different csizes).

Wolfgang has given examples of how to use these:

1 – For the machine code programmer :

The values are stored at offsets

wwa_xcsz equ    $26 wwa_ycsz equ    $27

in the working definition, as byte-sized values. The key files have been amended to suit. You may also set these sizes in a menu application sub definition which will be converted to a working definition by the standard setup vector. In that case set the values BELOW the start of the normal defintion : at -4 of the start, set a flag, i.e. a long word ‘XTND’ and at -6 set a word with the x (-6) and y (-5) csizes values as bytes. Do not forget to adjust the sizes of your objects’ hitsize and spacing if you use bigger characters.

2 – For the basic programmer.

Two procedures have been created for the two common toolkits, qptr and easyptr.

For qptr :

def proc set_csizes_QPTR (appsub_list,num%,x_csize%,y_csize%)
rem set the csizes for menu appsub windows
rem params:
rem   appsub_list
rem     the appsub list as returned by the RD_AWTA basic function  and/or
rem     the MK_AWL extension
rem   num%
rem     the appsub number, starting at 1 for the first appsub wdw
rem   x_csize%
rem      the x csize (0 … 3), same as for the CSIZE command
rem   y_csize%
rem      the y csize (0 or 1), same as for the CSIZE command
rem
rem   If there is any error in the parameters, this just gives up silently
rem   without generating an error
rem
local appsub_nbr%,appsub
appsub_nbr%=peek_w(appsub_list)               : rem nbr of appsub wdws
if appsub_nbr% < num% or num% < 1: return     : rem wrong appsub number
appsub=peek_l(appsub_list+2+4*(num%-1))       : rem get poiner to
appsub wdw
if x_csize% > -1 and x_csize% < 4
poke appsub+38,x_csize%                   : rem set size
endif
if y_csize% > -1 and y_csize% < 2
poke appsub+39,y_csize%                   : rem set size
endif
end def set_csizes_QPTR

Call this procedure once you have created the appsub list.

For easyptr:

def proc set_csizes_EASYPTR (channel%,num%,x_csize%,y_csize%)
rem set the csizes for menu appsub windows
rem params:
rem   channel%
rem     the channel number, which must be the same one as used for MAWDRAW
rem     or MAWSETUP. THIS DOES NOT DEFAULT TO ANYTHING, you MUST
rem     supply this parameter correctly.
rem   num%
rem     the appsub number, starting at 1 for the first appsub wdw
rem   x_csize%
rem      the x csize (0 … 3), same as for the CSIZE command
rem   y_csize%
rem      the y csize (0 or 1), same as for the CSIZE command
rem
rem   If there is any error in the parameters, this just gives up silently
rem   without generating an error
rem
local appsub_nbr%,appsub
appsub= MWDEF(#channel%)                      : rem the working definition
appsub_nbr%=peek_w(appsub+110)                : rem nbr of appsub wdws
if appsub_nbr% < num% or num% < 1: return     : rem wrong appsub number
appsub=peek_l(appsub+112)                     : rem point to appsub list
appsub=peek_l(appsub+4*(num%-1))              : rem get poiner to appsub wdw
if x_csize% > -1 and x_csize% < 4
poke appsub+38,x_csize%                   : rem set size
endif
if y_csize% > -1 and y_csize% < 2
poke appsub+39,y_csize%                   : rem set size
endif
end def set_csizes_EASYPTR
:

For this to work, create your menu with the MAWSETUP command and call this procedure afterwords.

You will find both procedures in a common file : dev8_extras_source_setcsizes_bas.

Do not forget to adjust the sizes of your objects’ hitsize and spacing if you use bigger characters.