Android emulator
Posted: Wed Jan 08, 2014 10:54 am
I am writing an oric 1/atmos emulator for android from scratch (after writting other emulators, see : http://sites.google.com/site/olivier2smet2/)
It is almost finished, but I have still one problem with it.
- oric 1 / oric atmos rom 1.0, 1.1 and even 1.22
- ULA is ok display is good, all effects are done
- sound is quite good (within android limits)
- keyboard is ok, even bluetooth and usb keyboard works (I use an AZERTY bluetooth keyboard mapped on the QWERTY oric matrix)
- tape are ok, in native bit/bit mode (no patch in rom needed, but at real speed) or in byte mode (with 3 op patched in rom)
you use directly .tap files (with rewind/forward) and auto-insert for csave)
- discs are ok (I emulated microdisc with 1793 support for 4 drives even for non 256 byte/sector format, needed for pinforic)
you can use directly .dsk files, 'format track is supported to allow more format 3" or 3"1/2)
See http://sites.google.com/site/olivier2sm ... jects/oric
Actually I don't implemented illegal 6502 opocodes at all (but I monitor them just in case)
My problem is with 1337 game: intro is ok, but when I launch the game:
- Y for tutorial -> ok
- 1 for launch -> ok BUT I got some illegals opcodes :
01-08 04:47:55.946: E/jni(4082): 6BBA 62 I00 A00 X0A Y05 SEC Z1 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BBA 62 I00 A00 X0A Y05 SEC Z1 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BBB 1C 20 E3 I00 A00 X0A Y05 SEC Z1 C0 4000 0 nop $E320,X
01-08 04:47:55.946: E/jni(4082): 6BBE 34 AD I00 A00 X0A Y05 SEC Z1 C0 4000 0 nop $AD,X
01-08 04:47:55.946: E/jni(4082): 6BFF 62 I00 AFF X00 Y0D SEC Z0 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BFF 62 I00 AFF X00 Y0D SEC Z0 C0 4000 0 kil ILL
- 'space' -> ok
- 'space' -> ok
- 'space' -> crash more illegal opcodes and the game crash
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A09 X05 YC3 SF1 Z0 C1 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YC3 SF1 Z0 C1 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YC3 SF1 Z0 C1 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A08 X05 YA8 SF1 Z0 C0 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YA8 SF1 Z0 C0 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YA8 SF1 Z0 C0 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A09 X05 YC3 SF0 Z0 C1 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YC3 SF0 Z0 C1 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YC3 SF0 Z0 C1 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A08 X05 YA8 SF0 Z0 C0 4000 0 nop $AC
So can somebody help me about that ?
As I code on a mac I don't tried euphoric, sorry my only test emulator is Oric from Richard Bannister (v1.7.
(I lost my own oric atmos ages ago ... that's why I code an emulator)
It is almost finished, but I have still one problem with it.
- oric 1 / oric atmos rom 1.0, 1.1 and even 1.22
- ULA is ok display is good, all effects are done
- sound is quite good (within android limits)
- keyboard is ok, even bluetooth and usb keyboard works (I use an AZERTY bluetooth keyboard mapped on the QWERTY oric matrix)
- tape are ok, in native bit/bit mode (no patch in rom needed, but at real speed) or in byte mode (with 3 op patched in rom)
you use directly .tap files (with rewind/forward) and auto-insert for csave)
- discs are ok (I emulated microdisc with 1793 support for 4 drives even for non 256 byte/sector format, needed for pinforic)
you can use directly .dsk files, 'format track is supported to allow more format 3" or 3"1/2)
See http://sites.google.com/site/olivier2sm ... jects/oric
Actually I don't implemented illegal 6502 opocodes at all (but I monitor them just in case)
My problem is with 1337 game: intro is ok, but when I launch the game:
- Y for tutorial -> ok
- 1 for launch -> ok BUT I got some illegals opcodes :
01-08 04:47:55.946: E/jni(4082): 6BBA 62 I00 A00 X0A Y05 SEC Z1 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BBA 62 I00 A00 X0A Y05 SEC Z1 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BBB 1C 20 E3 I00 A00 X0A Y05 SEC Z1 C0 4000 0 nop $E320,X
01-08 04:47:55.946: E/jni(4082): 6BBE 34 AD I00 A00 X0A Y05 SEC Z1 C0 4000 0 nop $AD,X
01-08 04:47:55.946: E/jni(4082): 6BFF 62 I00 AFF X00 Y0D SEC Z0 C0 4000 0 kil ILL
01-08 04:47:55.946: E/jni(4082): 6BFF 62 I00 AFF X00 Y0D SEC Z0 C0 4000 0 kil ILL
- 'space' -> ok
- 'space' -> ok
- 'space' -> crash more illegal opcodes and the game crash
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A09 X05 YC3 SF1 Z0 C1 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YC3 SF1 Z0 C1 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YC3 SF1 Z0 C1 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A08 X05 YA8 SF1 Z0 C0 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YA8 SF1 Z0 C0 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YA8 SF1 Z0 C0 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A09 X05 YC3 SF0 Z0 C1 4000 0 nop $AC
01-08 04:49:24.467: E/jni(4082): 6ABC FB B9 8A I00 A05 X05 YC3 SF0 Z0 C1 4000 0 isc $8AB9,Y
01-08 04:49:24.467: E/jni(4082): 6ABF FB AA BD I00 A05 X05 YC3 SF0 Z0 C1 4000 0 isc $BDAA,Y
01-08 04:49:24.467: E/jni(4082): 6AB9 64 AC I00 A08 X05 YA8 SF0 Z0 C0 4000 0 nop $AC
So can somebody help me about that ?
As I code on a mac I don't tried euphoric, sorry my only test emulator is Oric from Richard Bannister (v1.7.
(I lost my own oric atmos ages ago ... that's why I code an emulator)