In this new thread you are invited to point out all the scientific applications of the Commodore VIC-20, both old and new, you know of from the internet or other sources.
I'd start with the one about astronomy, already reported here, and one cardiological application:
Year: 1988
Application: Astronomy / Astrophysics
On the North Fork of Long Island, New York, members of the Society of Amateur Radio Astronomers use their big dish and a Commodore VIC-20 micro computer to chart anomalous pulses.
An inexpensive microcomputer (VIC-20) was adapted to count drops of fluid and calculate flow. To minimize both the expense and the bench space occupied by the flow computer, we eliminated the need for a video monitor by employing a liquid crystal alphanumeric display. Neither tape recorders nor disk drives are needed because the flow-computing program resides in a "game cartridge".
The Vic-20 is a great platform to use for many 6502 based projects.
While it takes up a little bit more room than building a dedicated controller, it is extremely difficult to beat the value it offers with addition of video & IO ports.
I can't build a PCB, add 6502, support chips, etc for the $10 I usually spend for a complete Vic-20.
Mega-Cart: the ultimate cartridge for your Commodore Vic-20
Well, my father made moonshine with the VIC when he was a little older than I'm now... the necessary equipment still exists, it was funny to see all those spirals and the container made of steel and then there's a cable coming out with a serial connector. (My language skills are about to fail here... I don't even know what to call the thing you make moonshine with... It's pontikkapannu in finnish)
The system is really a work of art, 3 temperature sensors in the system, stainless acid-proof steel. +92 % it gives when the settings are set to their highest in the program. "Moonshine Deluxe 6.0" is still on a tape somewhere... maybe someday I could make the .tap files - I think this is unique
Swedes may find this funny? You know the stereotypes about finns.. Do you really have a saying about "finsk självmord"? Just heard it on the internet
Last edited by Iltanen on Fri Mar 28, 2008 12:53 pm, edited 2 times in total.
I can't make a .tap file and I wouldn't want to spend my easter holidays typing it and then see I made mistakes but if you PM me your address I can send you a tape if you are inrerested. For free of course, in the spirit of the friendly computer.
It's a cool program, begins with a relay test, then asks amount of litres and the program starts. You can select quality, cooling, whether you want heating or not, it tells time spent and how long should it run, whether the distillation has began etc. And great safety features, it's completely safe if you are in the same building. If the VIC goes off, process stops, if temperature rises too much, it stops and sounds out a terrible warning sound and so on.
I don't know how much fun it'll be for someone who deosn't have the original hardware made for it but it sure is an interesting program, one of a kind
Amazing! Out of all possible applications a VIC-20 could be used for, I never thought distilling your own booze was one of those.
While we're onto the subject, do you know how to make Finnish Punch? Take one liter of your favorite vodka and one grape/lingonberry. Place the fruit outside of the bottle, and look at it while you drink the strong alcohol. If the punch has too much fruit, close one eye.
carlsson wrote:Amazing! Out of all possible applications a VIC-20 could be used for, I never thought distilling your own booze was one of those.
I suppose, considering you can plug a variety of things to the user port, you could use the VIC in a wide variety of automated production systems.
A few years back, I was given a big control box that connects to the user port of the VIC that was originally designed to control the lighting in a dance club.
The box was designed to connect to a 240Vac supply with a 30A breaker. That's about 6kw of controlled power... not bad for a little VIC.
Of course, by the time it made its way in my hands, the dance club was out of business.
Last edited by eslapion on Sat Mar 22, 2008 10:44 pm, edited 1 time in total.
Vic sure could be used for a variety of mathematical and statistical applications.. Has anybody calculated pi with a VIC? That would be fun
I love Vic Graf, I'd like to have it on cartridge. Is there a commercial program with 3D plotting for the VIC?
Just remembered, I couldn't make booze with my VIC even if I wanted to, the A/D modulator got broken back in the 80's. Perhaps I'll build one when I need it (or borrow one from my 2 spare C64Cs, wonder if they're compatible- haven't looked inside)
These turn up when you search for VIC-20 in Pubmed, which is a directory of the world's collected literature published in medical journals in modern times. Number two is the same one referred to above.
An inexpensive stimulator for visually evoked potentials based on a personal
computer.
Fahle M.
A device is described that can produce a variety of visual stimuli to be used for
eliciting visually evoked cortical or retinal potentials in humans or
experimental animals. The device is very inexpensive and uses a cheap personal
computer (Commodore VIC 20) and a TV monitor.
PMID: 3762219 [PubMed - indexed for MEDLINE]
2: Am J Physiol. 1985 Feb;248(2 Pt 2):H286-90.
Drop-counting flow computer.
Burgar CG, Winter GJ, Shepherd AP.
An inexpensive microcomputer (VIC-20) was adapted to count drops of fluid and
calculate flow. To minimize both the expense and the bench space occupied by the
flow computer, we eliminated the need for a video monitor by employing a liquid
crystal alphanumeric display. Neither tape recorders nor disk drives are needed
because the flow-computing program resides in a "game cartridge." Furthermore,
the power supply of the computer powers the interface and display. The computer's
real-time clock is utilized to time intervals between drops falling through an
infrared beam. The computed flow values are then shown on the liquid crystal
display, and they are sent to an external recorder via a digital-to-analog
converter. A second digital-to-analog converter can be used to trigger a fraction
collector. When compared with timed manual collections, the flow computer was
shown to yield highly accurate, linear measurements of water and blood flow.
Although the drops-per-milliliter constant varied with orifice size and
hematocrit, the hematocrit fluctuations observed in typical isolated organ
experiments would not appreciably affect the blood flow determinations.
PMID: 3155920 [PubMed - indexed for MEDLINE]
3: Int Arch Occup Environ Health. 1985;57(1):27-34.
Automated testing of reaction time and its association with lead in children.
Hunter J, Urbanowicz MA, Yule W, Lansdown R.
Following Needleman et al.'s (1979) report of a correlation between tooth lead
estimates in children and reaction time as measured by Rodnick and Shakow's
(1940) delayed reaction time paradigm, a version of the procedure with two delay
periods of 3 s and 12 s was developed for automated presentation and scoring on a
VIC-20 microcomputer. Data are presented from a study of 300 children aged 6-14
years. Mean reaction time over six trials for each delay period related in a
curvilinear fashion with age, but no relationships were found with sex or
intelligence. Age-adjusted reaction time related significantly with blood-lead
levels, but accounted for only about 1 per cent of the variance. The effect was
mainly observed in younger (6-10 years) children in whom higher lead was
associated with slower reaction time.
Publication Types:
Research Support, Non-U.S. Gov't
PMID: 4077279 [PubMed - indexed for MEDLINE]
4: Comput Biol Med. 1984;14(4):437-45.
Peritz' F test: basic program of a robust multiple comparison test for
statistical analysis of all differences among group means.
Harper JF.
Peritz' F test has previously been found to be the most robust statistical
multiple comparison test able to hold all comparisons among group means to a
given experimentwise error rate. A BASIC program which will perform this test
quickly on a desk-top microcomputer, needing fewer than 11 kbytes of RAM memory,
is presented. The program is run in the author's laboratory using an inexpensive
VIC-20 computer.
Publication Types:
Comparative Study
Research Support, U.S. Gov't, P.H.S.
PMID: 6548944 [PubMed - indexed for MEDLINE]
5: J Pharmacol Methods. 1982 Sep;8(2):91-8.
A simple microcomputer-controlled device for automated measurement of refractory
period of excitable tissue.
Bose D, Delaive J, Mazerall EW.
A computer-controlled tissue stimulator interface will be described. This device
can generate a basic train at a predetermined rate. An extra pulse is introduced
after a selected number of pulses. The initial latency of this extra pulse is
shorter than the tissue refractory period. The latency is increased,
automatically, until the tissue produces a conducted response. This is made
possible by the computer checking the tissue response. The device is inexpensive
and can be readily controlled by any 8 bit microcomputer, such as the Commodore
PET or VIC-20. The use of a signal conditioner has been discussed. Such a circuit
facilitates detection of the often slowly occurring action potential of the
premature beat riding on the repolarization phase of the normal action potential.
Publication Types:
Research Support, Non-U.S. Gov't
Comparison of the PRAS II, AN-Ident, and RapID-ANA systems for identification of anaerobic bacteria.
Burlage RS, Ellner PD.
Two rapid systems for the identification of anaerobes were compared to a conventional growth system aided by a computer. The rapid systems (AN-Ident and RapID-ANA) are non-growth-dependent micromethods that identify anaerobes in 4 h by the action of various constitutive enzymes on chromogenic substrates. The organisms tested were 98 anaerobes, most of which were clinical isolates. The AN-Ident system identified 76 of these to species level and 86 to genus level; the RapID-ANA system correctly identified 74 of the organisms to species level and identified 93 to genus level. The PRAS II system correctly identified 77 to species level and 96 to genus level. In most instances, adequate identification could be obtained with either of the two rapid systems, but the conventional PRAS II system remains the most accurate.
How about some source? Apparently the original for this was written on a VIC, we were talking about it at the last TPUG meeting. David emailed me the source for the most "BASIC" version he had:
100 REM SunAlign.BAS (Generic BASIC version)
110 REM Calculates position of sun in sky, as azimuth (compass bearing
120 REM measured clockwise from True North) and angle of elevation, as
130 REM seen from any place on earth, on any date and any time.
140 REM Also calculates alignment of a heliostat mirror.
150 REM David Williams
160 REM P.O. Box 48512
170 REM 3605 Lakeshore Blvd. West
180 REM Toronto, Ontario. M8W 4Y6
190 REM Canada
200 REM Original date 2007 Jul 07. This version 2007 Oct 07
210 REM Note: For brevity, no error checks on user inputs
220 CLS
230 PRINT "Use negative numbers for opposite directions."
240 INPUT "Observer's latitude (degrees North)"; LT
250 INPUT "Observer's longitude (degrees East)"; LG
260 INPUT "Date (M#,D#)"; Mth, Day
270 INPUT "Time (HH,MM) (24-hr format)"; HR, MIN
280 INPUT "Time Zone (+/- hours from GMT/UT)"; TZN
290 PY = 4 * ATN(1): REM "PI" not assignable in some BASICs
300 DR = 180 / PY: REM degree/radian factor
310 W = 2 * PY / 365: REM earth's mean orbital speed in radians/day
320 C = -23.45 / DR: REM reverse angle of axial tilt in radians
330 ST = SIN(C): REM sine of reverse tilt
340 CT = COS(C): REM cosine of reverse tilt
350 E2 = 2 * .0167: REM twice earth's orbital eccentricity
360 SP = 12 * W: REM 12 days from December solstice to perihelion
370 D = INT(30.6 * ((Mth + 9) MOD 12) + 58.5 + Day) MOD 365
380 A = W * (D + 10): REM Solstice 10 days before Jan 1
390 B = A + E2 * SIN(A - SP)
400 C = (A - ATN(TAN(B) / CT)) / PY
410 ET = 720 * (C - INT(C + .5)): REM equation of time
420 REM in 720 minutes, earth rotates PI radians relative to sun
430 C = ST * COS(B)
440 EL = ATN(C / SQR(1 - C * C)) * DR: REM solar declination
450 AZ = 15 * (HR - TZN) + (MIN + ET) / 4 + LG: REM longitude diff
460 GOSUB 800
470 R = SQR(Y * Y + Z * Z)
480 AX = Y: AY = Z: GOSUB 710
490 A = AA + (90 - LT) / DR
500 Y = R * COS(A)
510 Z = R * SIN(A)
520 GOSUB 740
530 PRINT : REM AZ & EL are now sun's azimuth & elevation in degrees
540 IF EL < 0 THEN PRINT "Sun Below Horizon": END
550 R = AZ: GOSUB 870: PRINT "Sun's azimuth: "; R; " degrees"
560 R = EL: GOSUB 870: PRINT "Sun's elevation: "; R; " degrees"
570 PRINT
580 INPUT "Calculate heliostat mirror alignment (y/n)"; K$
590 IF K$ = "N" OR K$ = "n" THEN END
600 SX = X: SY = Y: SZ = Z
610 PRINT
620 INPUT "Azimuth of target direction (degrees)"; AZ
630 INPUT "Elevation of target direction (degrees)"; EL
640 GOSUB 800
650 X = X + SX: Y = Y + SY: Z = Z + SZ: GOSUB 740
660 PRINT : REM AZ & EL are now aim azimuth & elevation in degrees
670 PRINT "Mirror aim direction (perpendicular to surface):"
680 R = AZ: GOSUB 870: PRINT "Azimuth: "; R; " degrees"
690 R = EL: GOSUB 870: PRINT "Elevation: "; R; " degrees"
700 END
710 IF AX = 0 THEN AA = SGN(AY) * PY / 2: RETURN
720 AA = ATN(AY / AX): IF AX < 0 THEN AA = AA + PY
730 RETURN
740 AX = SQR(X * X + Y * Y): AY = Z: GOSUB 710
750 EL = AA * DR
760 AX = Y: AY = X: GOSUB 710
770 AZ = AA * DR
780 IF AZ < 180 THEN AZ = AZ + 180 ELSE AZ = AZ - 180
790 RETURN
800 E = EL / DR
810 A = AZ / DR
820 Z = SIN(E)
830 C = 0 - COS(E): REM Won't work without "0" in Liberty Basic
840 X = C * SIN(A)
850 Y = C * COS(A)
860 RETURN
870 R = INT(10 * R + .5): IF R = 3600 THEN R = 0
880 R = R / 10
890 RETURN
nice source, but needs some changes to make VIC-20 run it (MOD operator and ELSE statement). But at least VIC has the pi costant embedded (see line 290).