The 3DO uses an ARMv3 based processor: the ARM60.
* 32bit Addressing
* Clocked at 12.5MHz
* 10 MIPS @ 12MHz
===== Datasheets / Documents =====
* {{:documentation:hardware:arm60_datasheet_-_zarlink_semiconductor.pdf|ARM60 datasheet (Zarlink Semiconductor)}}
* {{:documentation:hardware:arm60_datasheet_-_gec_plessey_semiconductors.pdf|ARM60 datasheet (Gec Plessey Semiconductors)}}
* {{:documentation:hardware:arm60_datasheet_-_vlsi_technology.pdf|ARM60 datasheet (VLSI Technology)}}
* {{:documentation:hardware:arm_image_format.pdf|ARM Image Format}}
* {{:documentation:hardware:fixed_point_arithmetic_on_the_arm.pdf|Fixed Point Arithmatic on the ARM}}
* {{:documentation:hardware:writing_efficient_c_for_arm.pdf|Writing Efficient C for ARM}}
* {{:documentation:hardware:procedure_call_standard_for_the_arm_architecture.pdf|Procedure Call Standard for the Arm Architecture}}
* {{:documentation:hardware:arm_opcode_reference.pdf|ARM opcode reference}}
===== Docs about ARM from 3DO =====
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/0arrfrst.html|ARM Reference Manual]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr1frst.html#XREF37859|The ARM C Compiler]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr2frst.html#XREF25147|ARM C Library Porting Guide]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr3frst.html#XREF25184|The ARM Linker]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/0atsfrst.html|ARM Technical Specifications]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats1frst.html#XREF23107|ARM Image Format]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats2frst.html#XREF16187|ARM Object Format]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats3frst.html#XREF40359|ARM Object Library Format]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats4frst.html#XREF28151|ARM Procedure Call Standard]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/0augfrst.html|ARM User's Guide]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug1frst.html#XREF20531|The ARM C Compiler]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug2frst.html#XREF22713|The ARM Assembler (armasm)]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug3frst.html#XREF21025|The ARM Linker (armlink)]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug4frst.html#XREF15841|The ARM Librarian (armlib)]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug5frst.html#XREF39634|The ARM Object Format Decoder (decaof)]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug6frst.html#XREF20727|An Introduction to the Run-Time Libraries]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug7frst.html#XREF15616|ARM Assembly Language]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/0acbfrst.html|ARM Cookbook]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb1frst.html#XREF13490|ARM Instruction Set and Processor Features]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb2frst.html#XREF32584|Exploring ARM Assembly Language]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb3frst.html#XREF41444|Interfacing Assembly Language and C]]
* [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb4frst.html#XREF37173|Programming in C]]
===== RAM and Hardware Access Latency =====
|Non-sequential RAM|5 ticks|
|Short non-sequential|3 ticks (add internal if page changed)|
|Sequential RAM reads|2 ticks|
|Sequential RAM writes|2 ticks|
|Internal|2 ticks|
|Non-sequential CLIO registers|5 ticks minimum|
|Sequential CLIO registers|3 ticks minimum|
|Non-sequential MADAM registers|5 ticks minimum|
|Sequential MADAM registers|2 ticks minimum|
|ROM|35 ticks|
|Non-sequential Trace|5 ticks minimum|
|Sequential Trace|3 ticks minimum|
|SPORT reads|7 ticks|
|SPORT writes|6 ticks|
|SlowBus (short)|7 ticks|
|SlowBus (long)|13 ticks|
|Hardware after Internal|5 ticks, but 2nd tick is longer (hw decoder)|
===== =====