How to run BASIC without the ACI?

10 replies [Last post]
Offline
Joined: Jan 4 2015
Posts: 68

Is there a way to test/run the BASIC program if I don't have the Apple Cassette Interface?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Offline
Joined: Oct 9 2011
Posts: 1044
Re: How to run BASIC without the ACI?

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

Offline
Joined: Jan 4 2015
Posts: 68
Re: How to run BASIC without the ACI?

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?

Offline
Joined: Oct 9 2011
Posts: 1044
Re: How to run BASIC without the ACI?

Have you run the 6502 memory test against the E000 to EFFF? Try swapping W2 and see if you get a different result.

Offline
Joined: Jan 4 2015
Posts: 68
Re: How to run BASIC without the ACI?

Corey986 wrote:

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?

Quote:

Using the monitor, enter the starting address and ending address+1 into locations 0-3 of memory.
Example: To test memory from E000 to EFFF on an Apple 1 enter the following into the monitor:
0: 00 E0 00 F0

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.

Offline
Joined: Oct 9 2011
Posts: 1044
Re: How to run BASIC without the ACI?

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

Offline
Joined: Jan 4 2015
Posts: 68
Re: How to run BASIC without the ACI?
Offline
Joined: Jan 4 2015
Posts: 68
Re: How to run BASIC without the ACI?

Corey986 wrote:

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 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?

Offline
Joined: Oct 9 2011
Posts: 1044
Re: How to run BASIC without the ACI?

Well if you did the jumpers correctly for basic, then yes E000 is correct for bank W.

Offline
Joined: Jan 4 2015
Posts: 68
Re: How to run BASIC without the ACI?

Corey986 wrote:

Well if you did the jumpers correctly for basic, then yes E000 is correct for bank W.

Oh I see. Got it thanks.

pierpiero's picture
Offline
Joined: Jun 14 2014
Posts: 3
Re: How to run BASIC without the ACI?

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.