EASy68K
http://easy68k.com/EASy68Kforum/

Building a real MC68010 system - where does execution start?
http://easy68k.com/EASy68Kforum/viewtopic.php?f=6&t=1594
Page 1 of 1

Author:  vmlinuz [ Fri Jun 09, 2017 4:24 pm ]
Post subject:  Building a real MC68010 system - where does execution start?

I was wondering from what address a real MC68010 or MC68000 will fetch the first instruction immediately after a reset. Does anyone have this piece of information? I need to know whether I need to send the CPU a JUMP instruction on the first read cycle.

Thanks

Author:  profkelly [ Fri Jun 09, 2017 10:50 pm ]
Post subject:  Re: Building a real MC68010 system - where does execution st

Upon reset the 68K loads the supervisor stack pointer with the 32 bit number at address 0. It then loads the program counter with the 32 bit number at address 4. Program execution begins with the instruction at the program counter address.

Author:  vmlinuz [ Sat Jun 10, 2017 7:49 pm ]
Post subject:  Re: Building a real MC68010 system - where does execution st

OMG, thanks! Now that I know this, I know just how I'll boot the machine: reads to the first 32-bit value will always return 0, and reads to the second will always equal 0xF01000. This way, execution will always start with the ROM monitor. EASy68K should be a good tool to help me write this.

Author:  dshadowwolf [ Mon Jun 11, 2018 1:10 am ]
Post subject:  Re: Building a real MC68010 system - where does execution st

Note that almost every 68k system built has a "boot" flag that swaps ROM for RAM during the initial memory read (4 AS strobes) to allow for programmatic control over the first page of memory where the interrupt vector table lives. So hard-wiring a mapping like that is generally not a good idea.

(I know this because I'm working on an '010 based system myself and have plans to try and get a CPU32 (at least an '030) based system up after this one and possibly using almost the same hardware)

Author:  Plasmo [ Mon Jun 11, 2018 5:59 pm ]
Post subject:  Re: Building a real MC68010 system - where does execution st

Most CPU32 processors have a system integration module where chip selects address mapping is programmable. ROM/RAM swapping can be done in software by reprogram the system integration module's address mapping. 68030 has a memory management unit so ROM and RAM can be easily remapped.

Tiny68K works around the ROM/RAM remap issue by not having a memory-mapped ROM--hardware copies the content of a serial EEPROM into low RAM before 68000's reset is released.
Bill

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/