forked from Miroirs/x49gp
63 lines
1.7 KiB
Text
63 lines
1.7 KiB
Text
Next steps:
|
|
|
|
- Verify Locks needed
|
|
- Audit Keyboard <-> IO Port Interaction
|
|
- Add remote gdb interface
|
|
|
|
|
|
Registers to check access to:
|
|
|
|
IO PORT MISCCR
|
|
MMU FSR
|
|
MMU FAR
|
|
MMU Alignment Checks in general
|
|
MMU r7: Wait for Interrupt
|
|
|
|
|
|
File Manager:
|
|
|
|
Read from 0x08080000: Probe memory size???
|
|
-> Add mirrored mapping of SRAM?
|
|
|
|
|
|
Annunciators:
|
|
|
|
Bits set in Column 132 of the LCD screen memory:
|
|
|
|
Row 0: Transmit
|
|
Row 1: Left Shift
|
|
Row 2: Right Shift
|
|
Row 3: Alpha
|
|
Row 4: Battery
|
|
Row 5: Busy
|
|
|
|
IRQ Branch Table:
|
|
|
|
08000020: IRQ reads 08000020 + (IRQOFFSET << 2), branches there
|
|
|
|
IRQ returns with "subs pc, lr, #4"
|
|
|
|
|
|
|
|
The speed of the emulator is an issue...
|
|
|
|
It is running about 20 times SLOWER than the original calculator at the moment
|
|
on my 400 MHz UltraSparc. There will be quite some speedup running on a modern
|
|
PC or workstation with faster processor. Also, at the moment I have a lot of debugging
|
|
enabled, which slows down the emulator.
|
|
|
|
Getting the full 75 MHz out of the emulated ARM core will be hard work, I have not
|
|
looked into the potential optimizations that can be done in the core emulator, but
|
|
there are some things done during every instruction that we don't need for this
|
|
machine.
|
|
|
|
There are generally two options to speed up or use the emulator:
|
|
|
|
1. Emulate the hardware as closely as possible to help debug programms digging
|
|
into the s3c2410.
|
|
2. Emulate the saturn part to make it a usable calculator. Here one could implement
|
|
some of the most often used KOS syscalls directly in the emulator without doing
|
|
these on the emulated ARM core. This would speed up the calculator significantly.
|
|
|
|
Optimally there will be a runtime option to switch between these two modes.
|
|
|