Is there a way to test/run the BASIC program if I don't have the Apple Cassette Interface?
Anonymous
User login
Please support the defense of Ukraine.
Direct or via Unclutter App
Active forum topics
Recent content
Navigation
No Ads.
No Trackers.
No Social Media.
All Content Locally Hosted.
Built on Free Software.
We have complied with zero government requests for information.
Yes, if you have a PS/2 Keyboard adapter from Mike Willegal. You can use it to "type" in the basic source since the PS/2 adapter also has a 9600 baud serial port. Just remember to put a delay between characters and new line. I use 100ms for character and 500ms for line.
This is also how I tend to load the Mike's memory testing program when I don't have the ACI up and running yet.
Cheers,
Corey
thanks corey!
Im using an Arduino based PS2 keyboard that I assembled for testing. Typing from the monitor and sending from a terminal PC seems to work just fine. Programs that i have tested so far are the small test program from the Apple 1 manual, Dave Schmenk's Apple 30th, mmphosis' Hello World, and Mike Willegal's 6502 Memory Test. Everything's hunky-dory except for the BASIC. I couldn't get it to work.
I noticed that after loading the BASIC hex dumps from the PC terminal, some data are not correctly entered into memory or being changed. Im not sure.
For example when I enter:
E000: FB
- this should change the value of the E000 memory location to FB, right? But it's not. Instead the value is changed to F9. Why is that? Changing the value of some other memory locations to FB works just fine.
So just entering even just the first line of the BASIC hex dumps:
E000: 4C B0 E2 AD 11 D0 10 FB
results to:
E000: 4C B0 E2 AD 11 D0 10 F9 when verifying it using E000.E007.
So why am I getting wrong values even when i entered the correct data?
Have you run the 6502 memory test against the E000 to EFFF? Try swapping W2 and see if you get a different result.
I swapped the DRAM at W2 and W1 and I get these:
- Entering FB value to the memory location at E007 works this time but entering other value like 4C results to 48. Im not sure what this means. Is this a problem with some of the DRAMs?
I tried the above code to test memory from E000 to EFF and the results are:
R
00 E441 00 01
_\
.
.
R
00 E480 00 01
_\
.
.
R
00 E401 00 01
_\
.
.
Results sometimes changes everytime i run 280R.
How do i test each of the 16 DRAMs? What i want to know are the addresses assigned to these 8K DRAMs.
Do you have any spare RAM chips? I'm assuming you passed a memory test of low memory up to 4K. Which might eliminate addressing and refresh problems. If so. The replace the ram chip that I mentioned to swap. It might have a problem.
If you didn't run a memory test on the lower memory, then you should. If it fails, then before we assume you have bad memory everywhere you need to eliminate addressing and refresh issues.
Cheers,
Corey
It looks like i have one defective DRAM too.
It seems you're right about the bad ram at W2, though I have no spare. My mistake I should've considered a few spare when I bought the 16 DRAMs.
Is the address E000-EFFF mapped to the DRAMs at W0-W7?
Well if you did the jumpers correctly for basic, then yes E000 is correct for bank W.
Oh I see. Got it thanks.
I to I use Arduino with the SDlibrary (and SD card) to type any txt file to the A1 keyboard port. It's not very fast but it works as tape interface replacement.
I'm not familiar with 6502 assembler, but with a small loader, the data tranfer could be very fast.