Page 3 of 5

Posted: Fri Oct 26, 2007 6:55 am
by JamesD
Ok, I looked it up.
The 8502 in the C128 had some differences... not the 6510.

The port on the 6510 is at located on page zero at location $01 according to the Wiki. That is likely to be a problem.
Also, the most common version only had 6 external pins for that port. The 6510T used in the 1551 disk drive had 8 but you lost the NMI and RDY pins.

Posted: Sat Oct 27, 2007 1:59 am
by JamesD
You can't use a VIA 6522.
The MMC and SD-Cards operate with SPI mode 0. First I thought I could use the VIA 6522 shift register (SR) to handle the SPI port. As it turned out, however, the VIA SR transfers data out at the first (falling) transition of its clock, so it can be latched by the second (rising) edge by the receiver. This would be SPI mode 3. You could reverse clock, but you cannot make the VIA shift our earlier. So there is no way to use the VIA SR. Instead I now use a bit-banging approach with CLK and MOSI. ... tml#mmcsdc

Posted: Sat Oct 27, 2007 2:06 am
by mmu_man
Yes, and the shift register in the VIA is known to be buggy anyway.

Posted: Sat Oct 27, 2007 3:58 am
by JamesD

Posted: Thu Nov 01, 2007 1:58 pm
by carlsson
Interesting last link. I tried to build the mmbeeb interface earlier this fall, but I didn't get it to work out, possibly due to the type of cable I used. I may try to build this C64 one too, even if the software support yet seems sketchy.

Posted: Sun Nov 11, 2007 3:13 pm
by highwayman
i looked at the mmc2iec some more,

the way to go is to ditch the iec code from the atmel & go simple async serial or 8bit parallel with clock & ack.

then (get ready to screem) add a second via to the oric.
this will give an extra 8bit port too - joystick?

i even considered dma, but that would be a pain because the atmel would need to scan the file header to get the start-address & length.
that's too restrictive just to save a second or so.

so, my plan (when i find my oric).

add a via - either piggybacked or on the rear bus connector.
map it some place - undecided on that.
use one of the pins on it to pull romdis (may as well add that function)
build & customise the c64 project for it.
write some crude load & save routines - preferably relocatable.

Posted: Sun Nov 11, 2007 3:16 pm
by Dbug
If you need a second VIA, do you think there is a way to get something that would be at the same adress as on the Telestrat ?

The more compatible things are, the better :)

Posted: Sun Nov 11, 2007 3:22 pm
by highwayman
well i dont know about the telestrat - i better go read the mess sourcecode : :D

i cant see why it cant be mapped the same, but i'm not sure the bits would be similar because the usage would be different.

let me go look into it. :arrow:

Posted: Sun Nov 11, 2007 3:27 pm
by Dbug
You can read about it here:

"The Telestrat has a second VIA interfacing new hardware, and allowing the selection of the memory banks. This VIA is located at address 0320. Pin assignment changed from the original Stratos when crossing the chanel (from England to France): some pins were not connected and the french company decided that a Midi connector could be a nice marketing argument, even with random VIA pins connected behind... Also, Phone Ring detection has been added, which is rather nice (though a complex circuitry has been added for it...) "

I doubt anyone need the non usable midi socket, or ring detection, but having a compatible RS232 and bank switching mechanism could be nice.

Posted: Sun Nov 11, 2007 3:55 pm
by highwayman
o.k. it's do-able to a degree,

i can put the cia in the same space,
and put the stick on portb,
but use porta for the drive.
problem, you would lose the second & third button inputs.

it's probably better to map it to one of the usual places, $310 or $320 etc,
but do the bit usage from scratch.

the 8bit port could give 6 inputs(stick + 2 buttons) plus one bit to flip between sticks 1 & 2,
and a final bit for romdis.

1 stick with 7 inputs(stick+3 buttons) and the bit for romdis.

Posted: Sun Nov 11, 2007 4:01 pm
by highwayman
Dbug wrote:I doubt anyone need the non usable midi socket, or ring detection, but having a compatible RS232 and bank switching mechanism could be nice.
bank switching is pointless without a bank of roms or a cartridge-port,
as for rs232, that needs a proper serial chip with a baudrate generator - something like a 6850.

nothing stopping you building one, i built one from a kit at maplin once.
it has nothing to do with sd-cards though and i cant see it fitting internally unless your going to ditch the speaker.

i built an alophone speech board from there too, it used the spo256 chip.

Posted: Sun Nov 11, 2007 4:10 pm
by Dbug
Well, mapping a file of the sdcart directly into memory as if it was a cartridge is something that comes to mind ;)

My point is that some people are talking about doing some new floppy disk interface, have bus amplifiers, etc...

Having such a card with the additional VIA, SD card reader, and why not compability with Telestrat cartridges would be cool.

On the C64 they have all these Action/Retro Replay cards with built in assembler and various utilities, having the equivalent on the Oric would be nice.

Posted: Mon Nov 12, 2007 4:16 am
by highwayman
commodore machines have better design when it comes to things like freezer-carts.

you could build one easy enough, but how many would sell?
the biggest problem with any project is the cost of the fiberglass - pcb manufacturing isnt cheap :(

btw, a freezer would probably clash with all the floppy interfaces.

is there a schematic to the telestrat?

Posted: Mon Nov 12, 2007 11:12 am
by carlsson
If I understand correctly, the freezer carts on the C64 are possible due to a special memory map inherited from the somewhat obscure gaming console Ulti-MAX Machine.

Posted: Mon Nov 12, 2007 2:40 pm
by mmu_man
highwayman wrote:it's probably better to map it to one of the usual places, $310 or $320 etc,
but do the bit usage from scratch.
A base principle of compatibility dictates the opposite.
If you use the same bits then map to the same place so it should work unchanged.
But if you want to use it differently the last thing to do is to map to an already used location!