I never found a Basic3 source file, but the ROM dump and a disassembly
can be found at:
Basic calls UT62 for its serial I/O so you'll need to load that up and then
UT62 has a bit-bang serial I/O on Q & /EF4.
Here's the patch I used to get it going on my system.
It has a MAX-232 connected to ?EF3 and Q.
.. Save of UT62 serial Patch.
.. READ Patch for UT62on Elf.
.. Original Patch Original Patch.
.. !M8143 3F 36 .. BN4 B3
.. !M8145 37 3E .. B4 BN3
.. !M814F 37 3E .. B4 BN3
.. !M8151 7B 7A .. SEQ REQ
.. !M8154 7A 7B .. REQ SEQ
.. !M8164 3F 36 .. BN4 B3
.. !M8169 7A 7B .. REQ SEQ
.. TYPE Patch.
.. !M81C4 7B 7A .. SEQ REQ
.. !M81D0 7B 7A .. SEQ REQ
.. !M81D4 7A 7B .. REQ SEQ
.. The RCA -601 CPU board appears to have a non-inverting
.. RS232 interface on /EF4. The Elf/MAX232 interface inverts
.. on /EF3.
.. Patch Original Patch
8143 36; .. BN4 B3
8145 3E; .. B4 BN3
814F 3E; .. B4 BN3
8151 7A; .. SEQ REQ
8154 7B; .. REQ SEQ
8164 36; .. BN4 B3
8169 7B; .. REQ SEQ
.. TYPE Patch.
81C4 7A; .. SEQ REQ
81D0 7A; .. SEQ REQ
81D3 7B; .. REQ SEQ
81D4 7B; .. REQ SEQ
.. TIMALC Patch
.. 8000 C4C4
Note also that the same Basic will run under UT71, which uses a CDP1854 UART.
Whichever utility you use you may have to mess with B4/BN4 instructions within the
Basic ROM. Basic uses /EF4 as a BREAK key to get you out of a loop.
The SuperElf uses /EF4 as the INPUT key. When I tried Basic on the Elf, programs
would run one line and break. When I held the INPUT key, the program would run.
So I disassembled the Basic and found the addresses in the patch below.
.. Save of Basic BREAK Patch.
.. To run on the Elf these need to be inverted, B4<->BN4.
This is my $0.02 worth and should get you going.