So, I am working on another fun project on my trusty old TRS-80's.
I need the ability to do multi-line functions which TRS-80 BASIC
does not support. But in hopes of finding something where someone
added that capability in the distant past (there were lots of features
added by various people over time) I decided to just try a Google
Search. As we all know Google now begins results with an AI generated
answer to your question. This is what I got:
--------------------------------------------------------------------------
In TRS-80 BASIC, you can create multi-line functions (subroutines)
using the DEF FN statement, allowing you to define a function that
can perform a specific task and be called from different parts of
your program.
Here's how it works:
DEF FN Statement:
You use the DEF FN statement to define a function, followed by the
function name (e.g., FNMyFunction), a set of parentheses for any
arguments, and then the code that the function will execute.
Example: 10 DEF FNC(X,Y) = X*X + Y*Y defines a function named FNC
that takes two arguments (X and Y) and returns the sum of their squares.
Function Call:
To use the function, you simply call it by its name, passing in the
necessary arguments.
Example: 20 PRINT FNC(3,4) would print the value returned by the FNC
function when called with arguments 3 and 4, which is 25.
Multi-line Functions:
You can extend the DEF FN statement to span multiple lines, allowing
for more complex logic within the function.
Example:
Code
10 DEF FNC(X,Y)
20 LET TEMP = X * X
30 LET TEMP = TEMP + Y * Y
40 DEF FN END
50 PRINT FNC(3,4)
This example defines a function that calculates the sum of squares
of two numbers, but the calculation is broken down into multiple
lines for readability.
Key Points:
Line Numbers:
TRS-80 BASIC relies on line numbers, so make sure to use them
appropriately when defining multi-line functions.
Function Name:
Function names must start with FN followed by a valid identifier
(e.g., FNC, FNMyFunction).
DEF FN END:
You need to use DEF FN END to mark the end of the function
definition, especially when using multi-line functions.
Scope:
Functions are defined within the scope of the program and are
accessible from anywhere in the program.
-----------------------------------------------------------------------
Which is both wrong and totally absurd.
And I see things all the time about letting AI write your code for you.
Does anyone actually trust AI to write code?
bill
I have a scan of the following:
LSI-11 BUS INTERFAE CHIPKIT/PROGRAM CONTROL DCK11-AA,-AC
October, 1977
Phil Champaigne
Logic Products
MR2-2/X6645
If someone is interested in a copy, preferably someone who can host
it, please contact me.
don
The why not use a UniBone comment has merit, what will your (FPGA)
> implementation add ?
>
Well,
I know the Unibone!
Surely is a very capable system for emulation of older hardware and
interfaces.
Also performances are good as far as I understand (I don't have one).
I have the idea of extending the concept of Unibone.
The new design shall be modular, composed by:
- a main board hosting the SoM and common interfaces (Ethernet, SD, USB,
console)
- a bus module for specific bus / machine: support could be added for DEC /
Data General / other?
- an interchangeable interface module for an hardware device (SMD, Pertec,
floppy, RX1/2, RL01/02, other).
Any kind of interface could be supported, also for example ADC, DAC, maybe
video to some limits...)
If you have main module and bus module, you have a similar solution to
Unibone / Qbone. However if you need to change bus type, you need to swap
only the bus adapter (cheaper).
If you have main and interfaces modules,
you can control physical devices directly,
and do anything with it. For example, you can dump / restore the content of
a SMD disk at bit level, no need to know the controller format, etc.
Similar to Kyroflux for floppy, but MUCH faster!
Alternatively, you could also emulate the device at low level (for example
a generic SMD disk).
If you have a set of main, bus and interface modules,
you can do anything as above, plus you can emulate a controller for a
specific machine for a specific device.
That said, implementing "anything" would be an infinite effort, but the
platform is flexible, so support could be added step-by-step.
So why an FPGA?
A programmable logic can implement a true digital circuit, where the PRUs
in the BeagleBone are processors. This means that in an FPGA the time is
always precisely determined by a clock, in PRUs it is affected by the
software execution.
This means that a PRU can work quite well on an asynchronous bus, provided
that sample rate is sufficient, even if not constant.
But for a fast synchronous interface, i.e. when time is determined by an
external clock, often embedded with data, no software approach can work
steadily in my opinion.
One thing is true: programming an FPGA is designing a netlist, not
developing a software.
It can be very hard to debug sometimes, because the approach is more
similar to repairing an old board with a Logic Analyzer than perform
debugging in software: it's a circuit in a chip, there no step-by-step
execution!
Nevertheless:
I'm a quite good electronic engineer,
highly experienced with digital logic and FPGA, so the hardware design
wouldn't be a problem. Just a matter of time.
Nowadays a SoM with a smaller AMD Zynq7010/7020 (a system-on-chip including
an FPGA, plus dual core CPU, lot of peripherals) doesn't cost a lot,
and have a great usage flexibility.
Also brute computing power is superior to older BB.
Why not try?
I'm open to your comments.
As for the UNIBUS unobtainable transceivers: I think the best solution is
to use AM26S10 for drivers, and an LVC logic powered at 3.3v for receivers.
Both are active parts costing nuts.
I would try this approach.
Andrea
Hello,
I'm searching information about all existing variants of DEC Unibus in
Dual/Quad/Hex flavors.
I read the "UnibusSpec1979.pdf" on bitsavers, which reports a "Standard
Unibus" pinout in the last pages.
However in several backplanes "Small Peripheral Controller", "Modified
Unibus Device" and "Extended Unibus" are supported.
Maybe also other unlisted Unibus variants do exist (e.g VAX 11/730)?
I also found the gunkies.org WIKI very helpful, however it is still
quite difficult to compare the pinout differences (dummy proof).
Where could I find a specific DEC documentation about the more recent
variants, similar to the 1979 specs, but referred to SPC, MUD, EUB, ect?
Big doubts:
- why DEC, having defined the dual Standard pinout, had then to
implement the quad SPC backplanes?
- why DEC, having defined quad backplanes, had then to implement the hex
(standard + SPC) or (MUD + SPC) or EUB?
I mean: given that in AB all Unibus signals are present (from
specifications), what is the need for CDEF?
Provided that several signals are duplicated in hex pinout, the
backplane will connect homologue signals together,
or AB bus will always be separated from CDEF bus?
My aim is to design a reprogrammable digital logic board which could be
employed in any system,
using 18bits address or also 22bits (i.e. for 11/24).
Thanks
Andrea
Tony Duell wrote:
> I am working on a Philips P3800 computer, about 40 years old. It's a
> multiprocessor Turbodos machine, a mix of Z80's and 80186's
There is some P3500/3800 documentation online, including power supplies
(Netzteile) at: https://electrickery.nl/comp/divcomp/doc/index.html
Not exactly what you asked for, but related.
Fred Jan
I am working on a Philips P3800 computer, about 40 years old. It's a
multiprocessor Turbodos machine, a mix of Z80's and 80186's
The main problem is that I only have half the power supply. I have the
PSU-M3 battery-backed memory supply, but not the logic supply. This I
believe to be a PSU-B3 module, although from the circuit diagrams I
have, I think a PSU-B4 would work. Outputs are +5V, +12V, -12V, +24V
and maybe -5V. There's also remote on/off control, so it's not trivial
to use a different power supply
The base board is a 233*160mm double eurocard wth a 96 pin 0.1" pitch
DIN41612 connector for the outputs and a 32 pin 0.2" pitch DIN41612
connector for the mains input. There is probably another board stacked
on top of it (connected only to the baseboard, not to the backplane)
and there may be a metal plate on top of the lot.
Please let me know if you have any idea where to find one.
-tony
Help needed!
Nemonix NXETHER41/NXSCSI41
Intraserver KZCCA
DEC/Compaq KZCCA
All the same board, sold under multiple brands, the most prominent listed
here. Differences are mostly labeling and branding.
Looking for what is turning out to be an unicorn... I have a Microvax
3100-90 with the Nemonix NXETHER41 version of the card in it. This is the
"ethernet only" version of this option card. It was also available with a
SCSI adapter on it. As was the case with many hardware options back in this
era, this card, no matter which flavor you have needs a driver installed in
VMS in order for it to function.
The driver was distributed as a vmsinstal package called "VAX_SCSI" and
despite the name it included the drivers for the ethernet side of the board as
well as the SCSI.
It appears to have had multiple versions, 1.4, 1.5 and 1.6. 1.6 is the
latest I have been able to find evidence for. What I have not been able to
find evidence of is the files themselves. Despite the Nemonix website still
being up, it appears to be a ghost town and none of the phone numbers or email
addresses work. The web archive shows some Intraserver pages from the early
2000s with links to download the files but the files themselves were not
archived. And unfortunately, DEC/Compaq did not see fit to include this on
the CONDIST CDs.
So my plea to the community here is... does anyone have the drivers for this
card or any leads to where it could be found?
Thanks!
Jim
Want to know what a chiptune is? How about what a chiptune is not? You can
learn a little bit about the technology, its history, how it makes sounds,
how it is implemented, and the culture surrounding it at this panel. All
ages and experience levels are welcome! And ...
After his talk, make your own chiptunes!
What’s the deal with all these 8-bit whipper-snappers and their beeps,
boops, and farty bass?Want to know what a chiptune is? How about what a
chiptune is not? You can learn a little bit about the technology, its
history, how it makes sounds, how it is implemented, and the culture
surrounding it at this panel. All ages and experience levels are welcome!
@inversephase is a real human person (not a robot, as you might have heard)
who writes game soundtracks and chiptune tributes for a living, runs Bloop
Museum, eats pizza, and even occasionally writes Bios.
INFO: https://vcfed.org/events/vintage-computer-festival-east/
TICKETS: https://vcfed.org/2025/03/16/non-member-ticket-pricing-vcf-east/
VCF East is April 4-6
2201 Marconi Road
Wall, NJ 07719
I have made some progress on my IBM 1410 FPGA implementation:
- Communication between the FPGA and PC Support Program is now over UDP
instead of USB/Serial
- Tapes can now read/write reliably in non-overlapped mode
- Diagnostics can be loaded and run from tape
- Some tape issues still remain
See
https://www.computercollection.net/index.php/ibm-1410-fpga-implementation/
(especially the last three entries in the list.)
JRJ