but if it doesn't work, don't forget Audacity

Moderators: robertisaar, dex
Code: Select all
ROM:692A ld SP+2, #0B4h ; Load SP+2 (INTMEM_1A) with #0B4h (pointer for 0xE67E table)
ROM:692E lcall ROM_20CD ; Call 3d map routine
Code: Select all
ROM:5B61 A1 86 00 1A ld INTMEM_1A, #86h ; Pointer loading for map lookup table (1)
ROM:5B65 B3 01 7B 18 1C ldb INTMEM_1C, RAM_187B[] ; Loading vehicle speed data from SRAM to INTMEM_1C (2)
ROM:5B6A EF 5A C5 lcall ROM_20C7 ; 2D map routine
ROM:5B6D B1 A0 1C ldb INTMEM_1C, #0A0h ; Multiplication factor loading (3)
ROM:5B70 7F 01 49 00 1C mulub INTMEM_1C, (INTMEM_49)[]; Multiplication
ROM:5B75 C3 01 A8 18 1C st INTMEM_1C, RAM_18A8[] ; New rev limiter value is stored in to SRAM: 0x18A8
Code: Select all
ROM:ADE9 8B 01 A8 18 40 cmp INTMEM_40, RAM_18A8[] ; Engine speed is compared to revlimiter value
ROM:ADEE D1 03 jnh ROM_ADF3 ; If engine speed is not higher, jump to ROM_ADF3, program running continues
ROM:ADF0 91 40 C7 orb INTMEM_C7, #40h ; "OR" operation to "INTMEM_C7". 40h is 01000000, so BIT6 is switched to "1" (4)
Code: Select all
ROM:ADD5 8B 69 30 00 40 cmp INTMEM_40, 30h[INTMEM_68] ; D002h+30h=D032h. 0xD032 is where the rev limit value is stored in -623.bin
ROM:ADDA D1 03 jnh ROM_ADDF
ROM:ADDC 91 40 C7 orb INTMEM_C7, #40h