diff options
| author | cheapie <cheapiephp@gmail.com> | 2026-09-26 07:31:49 -0500 |
|---|---|---|
| committer | cheapie <cheapiephp@gmail.com> | 2026-09-26 07:31:49 -0500 |
| commit | e3353187bfd9090079e30ab01183eb6588d7b8b7 (patch) | |
| tree | 430d57963f3dda7228eceb11a8e990893848789a /assembly/win95/win95.S | |
| parent | 945e3d30f379ebe7bbc2a94da3f7b9d45c7ca4b7 (diff) | |
| download | rvcontroller-e3353187bfd9090079e30ab01183eb6588d7b8b7.tar rvcontroller-e3353187bfd9090079e30ab01183eb6588d7b8b7.tar.gz rvcontroller-e3353187bfd9090079e30ab01183eb6588d7b8b7.tar.bz2 rvcontroller-e3353187bfd9090079e30ab01183eb6588d7b8b7.tar.xz rvcontroller-e3353187bfd9090079e30ab01183eb6588d7b8b7.zip | |
Add Office 97 support to 'win95'
Diffstat (limited to 'assembly/win95/win95.S')
| -rw-r--r-- | assembly/win95/win95.S | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/assembly/win95/win95.S b/assembly/win95/win95.S index 932f230..d547c11 100644 --- a/assembly/win95/win95.S +++ b/assembly/win95/win95.S @@ -14,6 +14,8 @@ beq a0,t0,retailkey li t0,2 beq a0,t0,oemkey li t0,3 +beq a0,t0,office97key +li t0,4 beq a0,t0,upgradepassword j _start @@ -192,6 +194,66 @@ bnez t0,1b j anykey +office97key: + +# Clear the screen +la a0,clearscreenmsg +li a7,4 +ecall + +# Section 1a: Any 3 digits, save what the last one was +li t0,3 +1: +li a0,0 +li a1,9 +li a7,128 +ecall +mv s0,a0 +li a7,1 +ecall +addi t0,t0,-1 +bnez t0,1b + +# Section 1b: Last digit from previous section plus 1 or 2 (mod 10) +li a0,1 +li a1,2 +li a7,128 +ecall +add a0,s0,a0 +li t0,10 +rem a0,a0,t0 +addi a0,a0,0x30 +li a7,11 +ecall + +# A dash +li a0,'-' +li a7,11 +ecall + +# Section 2a: Any 6 digits +li s0,0 +li t0,6 +1: +li a0,0 +li a1,9 +li a7,128 +ecall +add s0,s0,a0 +li a7,1 +ecall +addi t0,t0,-1 +bnez t0,1b + +# Section 2b: Check digit for section 2a +li t0,7 +rem s0,s0,t0 +sub a0,t0,s0 +li a7,1 +ecall + +j anykey + upgradepassword: # Clear the screen @@ -352,7 +414,7 @@ la a0,inputerrormsg ecall j upgradepassword_restart -menumsg: .asciz "1: Retail Key\n2: OEM Key\n3: Upgrade Password\n\nEnter your choice:\n" +menumsg: .asciz "1: Retail Key\n2: OEM Key\n3: Office 97 Key\n4: Upgrade Password\n\nEnter your choice:" keypromptmsg: .asciz "Enter key: " passwordheadermsg: .asciz "Password: " inputerrormsg: .asciz "Invalid entry\n\n" |
