mirror of
https://github.com/gwenhael-le-moine/x49gp.git
synced 2024-12-26 21:58:41 +01:00
64 lines
1.7 KiB
Text
64 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.
|
||
|
|