Jump to content

Terrel Shumway

  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Terrel Shumway's Achievements


Newbie (1/14)



  1. I am trying to get a simple REPL going: Read the keyboard, do something with the key, print the result. I have never owned a Commodore machine (I grew up on Apple ][e, but the first computer I owned was a PC: a 486DX2 with a gigantic 243MB hard disk) so I have a big learning curve. This code "works", but the emulator intercepts a lot of the keystrokes. I also noticed that GETIN definitely doesn't return ASCII. How do I turn on/off the emulator's preprocessing of the control keys? Where can I get a list of the scan-codes that GETIN returns?
  2. Jim Butterfield is pretty amazing. I was reading The First Book of KIM and imagining what it would have been like for that to be my introduction to programming. He covers everything in a way that starts slow and builds naturally. His writing style is very conversational, almost like he is sitting there with you explaining what to do and why. I think that anyone with second grade reading skills would have no problem with it.
  3. Does someone already have a KiCAD footprint for the card edge, or a drawing so I can create one?
  4. I was just looking around for a cheap connector for my own hobbyist DIY card idea. If you want to share your hobbyist DIY card, you need to match the hardware that others have. What I should have done was spent more time reading the forums and discover that the current hardware has a 50 place connector like the Apple ][ used, as Kevin Williams pointed out.
  5. ooops! =:-0 I guess I was subconsciously talking to the mouse in my pocket...watching too many of Rick Hartley's videos on designing high-speed PCB Assemblies. If I ever build my 8-bit dream computer, it will have an expansion connector with a 24-bit physical address space and every signal surrounded by ground returns. (And it will probably boot to FORTH instead of BASIC.) Yes, it would have been nice to have been where I am now three years ago and been able to work on the first prototypes, but wishing won't make it so. And yes, once you publish a spec, it becomes really hard to change it. The S-100 bus was horrible*, but it mostly worked and it created an amazing ecosystem that spawned an industry and survived almost a decade. I hope that CX16 does the same and becomes a dominant platform in the retro space. That requires that you eventually say "it's done" and keep your promise to never break compatibility. Part of the joy of retro is working around limitations of these set-in-stone design decisions that you curse your younger self for making. Since you are only targeting 8MHz and don't need to pass FCC, it won't matter anyway. Thank you for what you have done. Even playing with the emulator is fun. -- Terrel * so was the ISA bus that followed it. And that survived even longer.
  6. I looked on Mouser for an ISA slot connector. I found a whole backplane ?? for $28+. I looked other places. Briefly. I found nothing. Looking on Mouser for a PCIexpress connector, however immediately gave me this: PCI Express / PCI Connectors 98P CARD EDGE ASSM VERTICAL A 98 place socket for $0.78 quantity 1, $53.40 for 100. A common, inexpensive part. Nice. I suggest that the PCIexpress (x8) connector would be more appropriate for Commander X16, just based on availability. 98 pins may seem like a lot for an 8/16 data bus, but: The 65C816 has a 24 bit address space. For EMC and signal integrity reasons, every signal should have a return path (ground). Adding a dedicated return for every signal will make the bus much quieter. If we were to expose all 38 signal pins from the 65C816, plus the extra de-multiplexed 8 address bits, and then give every signal a ground, that leaves just four pins for Vcc. That doesn't seem all that extravagant to me. I'm not saying we should directly expose the full CPU bus, but having room to choose what we want to share is A Good Thing(tm). Any (weak) argument that this would tempt people to insert PCI express cards would also apply to ISA connectors. You can just reverse the socket or change the distance from the edge of the motherboard so a normal PCIe card would not even fit. I'm not suggesting that we support PCIexpress, just that we use the same mechanical connector because it is cheap and readily available.
  7. https://en.wikipedia.org/wiki/Linear-feedback_shift_register#Galois_LFSRs https://github.com/eternal-skywalker/cx16-lib/blob/main/lfsr.s David Murray mentioned using an LFSR to generate random maps in a game instead of manually creating and storing them. A hash function needs more than this, but it is something to start with.
  8. I hope that this doesn't mean that "stage 3" will be a cut down spec. :0(
  9. You could implement the whole 6551 (currently $7+) with a cheap ($1.50) ATMel Micro, and connect to the hardware UARTS. I can do the design and software if anyone is interested.
  10. The biggest mistake computer companies made in the 70s an 80s was to ignore software and backward compatibility. Tandy killed themselves by making Model 1 and Model 2 incompatible. How hard would it have been to make the VIC-20 run Pet software? Apple Macintosh would have been more successful early on if they had included an Apple ][e on a chip and allowed it to boot into Apple ][ mode like Commodore did with the C64/C128. The TED machines flopped because they had no software and were no more capable than the C64. Atari ST and Amiga also struggled because they began with very little software. The second mistake was to delay networking. Computers are far more valuable when connected. Commodore was closest to getting it right when they connected a bunch of Pets to a pair of disk drives. Acorn's tube architecture for connecting multiple processors was brilliant. It should have been ubiquitous. It would also have helped with the new-machine-no-software problem. There is no reason Amiga's indirect color palette could not have existed in every video display interface built in 1979, or even earlier. Three ubiquitous 7489 chips and some glue will give you 16 of 4096 colors with a simple circuit. There is no excuse for CGA's grotesque colors. Higher resolution video was hampered by the cost of memory and because we didn't know how to deal with EMI at the frequencies we needed. Memory was starting to get cheap enough by 1980 to allow 640x480, but higher resolutions needed purpose built-monitors and high-bandwidth cables. Only purchasers of high-end CAD workstations could afford the extra expense. Atari ST made a hit by including MIDI ports in the base machine: Another win for ubiquitous connectivity. Specify high-quality capacitors in every design. Every battery that could explode or leak is isolated on its own board and placed where it cannot destroy critical circuits. 1975: homebrew 6502 with 4-16k RAM (code name: uqim) split ortholinear keyboard (like keyboard.io Atreus) video interface like Processor Tech's VDM-1 Kansas City cassette interface receipt printer for hard copy: write fixed-point budget software to manage family finances. 1976: Turn the main board of the previous system into a controller for a SA-400 mini-floppy. (code name: Kepler) Build a new main board with more RAM. (code name: Archimedes) Connect the two with RS-485 interface, (call it CFLL: common fast local link. code name: Hermes - god of travelers, messenger of the gods.) similar to Commodore's IEC serial port, with a packet-oriented protocol that generalizes to more than just disk drives. Makes SCSI and ATA unnecessary. Vastly simplifies OS code because everyone writes to the same API and most of the work is done by the interface card. Build a Z-80 card that will run CP/M (code name: Zeus). Create my own CP/M replacement -- called Ubiqs -- that will also run on 6502 Buy an Apple I and adapt Zeus to it. Create a CFLL card. create a plotter to help me design and produce PCBs. Improve the cassette interface to include motor control. Write code to copy data between disk and cassette. (Sell this to software houses for duplication, and/or offer software publishing as a service myself.) 1977: Write VisiCalc for Apple ][, CP/M, and Ubiqs (Yes, I know: VisiCalc wasn't released until May 1979. As long as I am dreaming, I may as well dream of writing a killer app.) Use the profit from VisiCalc sales to fund hardware development. adapt Zeus to Apple ][ create CFLL cards for Apple ][, S-100, and TRS-80. I'm not sure whether it would be easier to port CP/M VisiCalc to TRS-80 or to adapt Zeus to run inside. I might do either or both. maybe adapt Archimedes to run inside a TRS-80 as an attached processor. (Will run VisiCalc/Ubiqs) Sell standalone disk drives with Kepler board and 4 CFLL ports as a universal NAS. (code name: Euclid) (think: Commodore disk drive that will attach to any computer via CFLL.) Apple ][ users need not wait for Disk ][ (mid 1978). Schools and businesses can easily share files between TRS-80, CP/M, PET, and Apple computers. 1978: adapt Zeus to Commodore PET. adapt CFLL card to PET. add 2.4 GHz wireless capability to CFLL cards - create WIFI standard with encryption and zero-knowledge authentication built into the base protocol. develop video display card with capabilities similar to Commodore 64 (code name: Astro) develop a sound/MIDI board (code name: Rosie). Dedicated audio RAM much like video RAM on VERA. 8-bit stereo DAC and ADC. 4-voice synth with ADSR modulation. prototype 8086 compute engine to attach to my main board the same way Zeus does. (code name: Hades - programming the 8086 seems like living in the underworld, but 64k is getting cramped for the applications I want to build, so we deal with it until the 68000 is ready.) port VisiCalc to Hades. 1979: sell Hades as an accelerator for VisiCalc. UI and I/O runs on the host computer, compute happens in Hades as in Acorn "tube". finally release Archimedes workstation to the public with Astro, Rosie, Zeus, Hades Update NAS to support hard disks and RAID. This will be a boon to software companies everywhere. 1980: develop upgraded video display card with VGA-level capabilities (code name: Elroy). Video input for frame grabber and genlock. develop a digital RGB monitor to go with Elroy (code name: Iris) develop upgraded sound/MIDI board (code name: Judy). 16-bit DAC and ADC. release 8086-based workstation (code name: Ptolemy) with Judy. Includes 6502 processor to run all legacy software. Runs CP/M software under Ubiqs. 80-column Astro video display for fast text. Elroy and Iris add-on for those who can afford it. (also at November Comdex) release Ptolemy all-in-one luggable like the Osborne 1 with a 9-inch CRT. Designed to fit size requirements for carry-on luggage. (code name: Rubius -- reminds me of Hagrid. big and awkward, but also strong and friendly.) create CFLL card for Apple /// (if the Apple ][ version doesn't work) 1981: 68000 compute engine (code name: Poseidon - as the waters cover the earth...) cf. DTACK Grounded. bull case: IBM licenses Ubiqs instead of MS-DOS (which came from Seattle Computer Products. Oh. Maybe I should *buy* SCP.) CFLL card for VIC-20, IBM PC adapt Zeus, Hades, and Poseidon to attach to IBM PC (Why Hades? To make IBM look silly. It will already be more powerful than the PC. But it works: the host computer is just a terminal, and the software has already had 2 years to mature running in older 8-bit hosts.) 1982: 68000 workstation (code name: Copernicus) Ptolemy-based laptop with LCD screen (code name: Albus) CFLL card for C-64 (would the VIC-20 version work unmodified?) adapt Archimedes, Zeus, Hades, and Poseidon to attach to C-64 2-D raster graphics accelerator (blitter) (code name: Demeter - goddess of agriculture. Think: rows of grain) Create laser printer and launch desktop publishing industry. 1983: create CFLL card for Apple Lisa. It won't matter, but I should do it anyway. 1984: create CFLL card for Apple Macintosh (Experience I have gained with hard disks and RAID will make NAS users very happy and Apple hard drive sellers very sad.) compute engine based on ARM or ARM-like core (code name: Galileo) The new low-power RISC chips will be important for the next big leap. Motorola and Intel will be sad. The new engine will plug in seamlessly to the architecture I developed over the previous eight years.
  11. Can you release the pinout for the expansion cards, or at least a high-level description of what you expect expansion cards to look like? Is it just a direct access to the 40 6502 pins or something else?
  12. I want to design an expansion card, but I haven't found any schematics or other info I would need for the interface. I understand that this may not be stable right now, but I would at least like an idea of what it might eventually look like. I see four slots on the prototype motherboard. There must be a pinout somewhere.
  13. https://www.pjrc.com/store/teensy41.html Teensy 4.1 has a FPU (and USB and ....) and costs less than $30... faster and more capable than any retro math coprocessor. DTACK Grounded did eventually support the 68882 and the National Semiconductor FPU as peripherals when the chips became available, but even the software FP stack running on a 68000 was way faster than the 6502. Interfacing a modern ARM SOC to the X16 may seem like cheating and out of scope for David's vision, but DTACK Grounded was also out of scope for Apple's vision of the II series. It was an amazing tool for those who cared about crunching numbers. By creating a "stuffer" card like the one D.G. created for the Apple II, the Kernal only needs one low-level driver to support whatever SCSI-like packet interface people want to throw on an expansion card (including Ethernet and USB). I think this was also the idea behind Acorn's "Tube": you can add whatever co-processor you want and you only need one software interface. I don't think there is any need for an ACIA or VIA. A much cleaner interface can be created with any microcontroller that has enough (16-40?) GPIO pins. Great idea. This is exactly what I am thinking. Does the X16 do SPI? That would be perfect.
  14. Back in 1981, Digital Acoustics DBA DTACK Grounded created a 68000 co-processor board for Apple II and Pet to give faster floating point to the host computers. This seems very similar to what Acorn was doing with the Tube. I would think that just plunking an ARM core on an expansion card would be a really cool way to do the same thing today, and much easier (and cheaper) than creating your own FPU in the VERA FPGA.
  • Create New...

Important Information

Please review our Terms of Use