The address decoder of the computer is already pretty complex, yet I want to add one more feature to it. I want to exclude the zeropage, stack and 512 bytes of ram from the bankswitching mechanism. To do this I need to check if the cpu is accessing the first 1k of memory. To do this I can OR the upper 6 address lines and check if the result is 0. Then this needs to be fed into an and gate with the bank select signal coming from the decoder circuitry.
Yesterday I bought a laser printer at a thrift shop with the intend to hook it up to my 8 bit computer. The parallel interface is fairly straightforward. After some troubleshooting I got it to work the day after I bought it. Right now it prints text pages, but I might be able to draw shapes and stuff using the printer's scripting language.
I wrote a fast serial loader, so I can load data directly from my PC in binary format. This loader is saved on a casette tape for the time being. I will add it to the rom with the next firmware update.
The new serial loader allows for ~5200 bytes/s transfers as opposed to 120 bytes/s for the casette loader. Note that this loader cannot be used to load data from casette tape, but only from the PC.
I added an FSK modem chip (dial up-type) to convert serial data to sine waves and vice versa. I can use this to communicate over audio channels such as phone lines or store data on casette tape.
Old info in spoiler
Spoiler For Spoiler:
I tested the FSK modem chip and I can confirm that sending data works! There are a couple of glitches, but those are probably because of the low bitrate I used for recording the audio to my pc. Receiving data still requires some tweaking of the modem's confidence-level knobs Listen to audio sample here.
With the recent updates to the operating system I can now save and load data to casette tape. At first I was a bit skeptical about the reliability, but so far I have been getting 100% reliable data back from the tape. I record the audio with FSK at 1200 baud, so about 120 characters per second.
I saved, loaded and executed a program and it ran fine!
Stacked an I/O board on top. Total I/O including the main board: 32 I/O pins serial RS232 2x SPI-like port 4 16 bit timer/counters 4 handshaking lines 8 bit Analog to Digital converter 6 digit seven segment display
Did you clean the game really well with contact spray and/or rubbing alcohol? I noticed that even though contacts look clean they might still not make good contact.
I made this song after listening to a bunch of monstercat podcasts. I think it turned out pretty good. There is an easter egg hidden in the song somewhere. Can you find it?
That's good to hear. It'd be a shame if people got their breakout boards and they got bricked instantly. (I had this happen with an FTDI breakout board I got from ebay)
What IC do you use for the serial to usb bridge? An FTDI chip? (Cause if you do make sure you get a legit one. The clones get bricked by the latest FTDI drivers)
In order to access the extra memory it needs to use ADS memory mode. There is also a mixed mode. I am not sure if this allows for bankswitching though.