Commit Graph

304 Commits

Author SHA1 Message Date
meepingsnesroms
1230df1ef6 Create resource directory if missing every time not just on first launch 2018-07-30 12:26:44 -07:00
meepingsnesroms
dc0aac322c Make touch input activate(it still dosent work, but it does activate :) ) without pushing the up button
Also fix some reported bugs.
2018-07-30 10:27:00 -07:00
meepingsnesroms
9b1825e2a1 Fix touchpoint streching error, clean up formatting
Release imminent!
2018-07-29 19:07:51 -07:00
meepingsnesroms
9aa550f3ee Fixed RTC, 0x000A was used as mask instead of 0x00A0
Also more accurate secondary timing stuff.
2018-07-28 20:20:13 -07:00
meepingsnesroms
95d1c8cf2d Clean ups, add picture 2018-07-28 14:42:38 -07:00
meepingsnesroms
76282fdcf1 Make hacked pen work(kinda) 2018-07-28 14:21:09 -07:00
meepingsnesroms
e47e71b07c Clean up old code, test PENIRQ readability 2018-07-28 13:48:50 -07:00
meepingsnesroms
92368980b7 Give each GPIO its own function
This also seemed to fix the grey screen at boot up, likly due to setting special function bits to 0 with P*SEL registers.
2018-07-28 11:58:36 -07:00
meepingsnesroms
a753dd7435 Make debug viewer resizeable
Also disable register logging outside of sandbox tests, it boots now so any test can just be done by running the OS function directly.
2018-07-28 09:52:10 -07:00
meepingsnesroms
9a63b142e3 Use doubles for more precision 2018-07-28 08:48:33 -07:00
meepingsnesroms
d39182e354 Fix signed chars causing an invalid bitshift 2018-07-27 10:27:31 -07:00
meepingsnesroms
03b646f839 Fix RGB lut registers being swapped for sed1376 and misconceptions about RGB16
Also add a real heat map function.
2018-07-26 20:27:13 -07:00
meepingsnesroms
64ceb7695c Add buffer graph viewer and fix some style nits
The analog resistance values per pixel can now be seen.
The raw RGB16 display mode does have an issue when transitioning from red to green and green to blue where the pixel is almost black though.
2018-07-26 16:18:10 -07:00
meepingsnesroms
a6d08d0c93 Add touch map data, viewer for it coming soon 2018-07-25 09:44:49 -07:00
meepingsnesroms
0b169e56ab Add tool to create a touchscreen lookup table
The 20 pixel at a time y limit is because Palm OS seems to not allow allocating >64k at a time.

Also removed unsafe mode, whenever a test needs to do something unsafe it can just call turnOffInterrupts()
2018-07-24 17:06:44 -07:00
meepingsnesroms
29f3bb5c2c Can now execute private APIs by name with ~50% accuracy
Its using a string finder so I cant get 100% but 0x0000 opcodes still need to be accounted for, that should get ~95%.
2018-07-20 20:06:45 -07:00
meepingsnesroms
19971cdad7 Use rng in tests to verify that results arnt just a coincidence 2018-07-20 16:43:22 -07:00
meepingsnesroms
622c079b6b Fix stack direction in sandbox, add missing \n's
Also make ADS7846 read cycle 4 bits shorter on an 8 bit read as documented in the datasheet.
2018-07-20 12:56:01 -07:00
meepingsnesroms
5725851fb3 Can now execute private APIs in sandbox by address 2018-07-19 10:08:29 -07:00
meepingsnesroms
0131035b79 Sandbox is working
Tests are still launched with a button in a hacky way but they work.
2018-07-19 02:59:08 -07:00
meepingsnesroms
a071f83f8e Make a sandbox area to test how the OS is interfacing with the emulator
Also clean up emulator.c of all the debug stuff.
2018-07-18 17:02:17 -07:00
meepingsnesroms
a275c8eca0 Allow IMR to mask interrupts after they are created
This can be used to acknowledge level triggered interrupts which cant be cleared.
2018-07-18 12:03:06 -07:00
meepingsnesroms
240e6ab72c Add uncalibrated touchscreen read pixel plotting and manual refresh in ADS7846 Read 2018-07-17 20:20:46 -07:00
meepingsnesroms
799d8daa61 Values returned are based on power save, single vs diferencial reference seems to do nothing on hw 2018-07-15 12:44:54 -07:00
meepingsnesroms
9e4f630f64 Add better way to read single reference ADC values
Alos remove incomplete remote access drivers since they are no longer needed and taking up some of the 32k CODE0 space.
2018-07-14 17:11:20 -07:00
meepingsnesroms
edb0ec8a8c Can now read single ended reference properly
The differencial reference values are also more reasonable now.
2018-07-13 08:42:34 -07:00
meepingsnesroms
9311ae8045 The CPU can now be turned back on by interrupts, but you have to push power twice(its a bug) 2018-07-05 10:22:03 -07:00
meepingsnesroms
e6cc28eb6a Fix 1 bit being missing on conversions
For some reason non differencial mode still only shows 0x0FFF for everything.
2018-07-04 14:31:22 -07:00
meepingsnesroms
91397be386 Start adding analog values 2018-07-04 11:50:49 -07:00
meepingsnesroms
a5dfc21d43 SPI2 dosent alway shift out the top bit
It shifts out from bit transferSize - 1 and shifts in to bit 0.
With this my test suite can now read the touchscreen without running private APIs.(the ADC value range wrong though because its read too fast)
2018-07-03 10:54:59 -07:00
meepingsnesroms
0990509918 The top bit of SPIDATA2 seems to directly drive the SPITXD2
I thought the bit had to be shifted off the end of the register before it took effect.

It now properly reads form the battery on boot.
2018-07-02 18:50:04 -07:00
meepingsnesroms
62c5f45071 More decompiling 2018-07-02 18:18:51 -07:00
meepingsnesroms
fca3ad54f8 Update disassemblys 2018-07-02 12:38:54 -07:00
meepingsnesroms
a674849ccc Remove crc32 stuff, 4mb crc32 check is too slow on Palm OS
Also add OS version in "Get Device Info"
2018-07-02 12:10:03 -07:00
meepingsnesroms
d59702d6a5 Add ksyms handler, only needs crc32 testing now 2018-07-01 20:48:27 -07:00
meepingsnesroms
9748738edc Reading from the touchscreen now works by executing private APIs directly by pointer
This should speed things up alot!
2018-07-01 16:34:05 -07:00
meepingsnesroms
fd741e4634 Fix stack argument order, blob execution still isnt working 2018-07-01 13:02:36 -07:00
meepingsnesroms
73c5dc77b4 Add binary blob launching for testing decompiled private APIs
Also remove more unused parts of ugui
2018-07-01 12:21:25 -07:00
meepingsnesroms
e2bd654081 Extract the actual(probably, can never be sure until tested) ADC read function
Going to include it in a test as an array and jump to it, it should work properly but still needs to be decoded after to be of any use.
2018-06-29 18:29:05 -07:00
meepingsnesroms
617e2de56b Fix up PrvBBGetXY decompilation 2018-06-29 18:06:46 -07:00
meepingsnesroms
4e63ca2340 Actually reading from ADS7846 but not correctly 2018-06-29 16:22:57 -07:00
meepingsnesroms
4adf636f3c Merge interrupt tests, IRQ5(PENIRQ) only triggers on pen down 2018-06-29 09:57:33 -07:00
meepingsnesroms
c12d824fc2 New test, minor cleanups and bugfixes 2018-06-26 11:50:55 -07:00
meepingsnesroms
62506e4462 Add new chip select test
Also remove special feature check in chip select setters, that will be handled through emu registers.
2018-06-22 19:42:10 -07:00
meepingsnesroms
86b11ba7dc Both ROMs seem to depend on chipselect doubling
The other information was wrong, removed it to prevent misleading anyone.
2018-06-22 13:56:08 -07:00
meepingsnesroms
63b553eb45 Add backlight levels and readback 2018-06-21 20:21:59 -07:00
meepingsnesroms
1d1b7d73ac Fix PDKBEN triggering invalid interrupts 2018-06-21 15:01:39 -07:00
meepingsnesroms
5f515c4827 Found another GPIO function 2018-06-21 12:57:45 -07:00
meepingsnesroms
e74f0f7408 Fix more ADS7846 issues, make level triggered interrupts clear themselves
Also disable edge triggered interrupts for now as they dident work properly anyway.

Touchscreen now turns the device off.
2018-06-21 12:32:29 -07:00
meepingsnesroms
eafbea75e2 More documentation, clarify m515 ROM types 2018-06-21 11:33:34 -07:00