Changeset 59

Show
Ignore:
Timestamp:
11/01/09 14:00:18 (2 years ago)
Author:
brandonlw
Message:

Some dual booting clean-up

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/page00/boot.asm

    r58 r59  
    806806       ld hl,sTIOS-BootLoader+userMem 
    807807$$:    B_CALL PutS 
     808       ld hl,5 
     809       ld (curRow),hl 
     810       ld hl,sInstructions-BootLoader+userMem 
     811       B_CALL PutS 
    808812       ld hl,6 
    809813       ld (curRow),hl 
    810        ld hl,sInstructions-BootLoader+userMem 
     814       ld hl,sInstructions2-BootLoader+userMem 
    811815       B_CALL PutS 
    812816       ld hl,7 
     
    821825       cp skDel 
    822826       jr z,ReceiveTIOS 
     827       cp sk0 
     828       jr z,DeleteOS 
    823829       ld hl,contrast 
    824830       cp skAdd 
     
    940946       B_CALL ClrLCDFull 
    941947       rst 00h 
     948DeleteOS: 
     949       call UniversalUnlockFlash-BootLoader+userMem 
     950       ld a,70h 
     951       ld b,0 
     952       ld de,4056h 
     953       B_CALL WriteAByte 
     954       ;Restart. 
     955       rst 00h 
    942956ReceiveTIOS: 
    943957;We don't have a copy of the TI-OS, receive one 
     
    973987       ld a,70h 
    974988       out (memPageAPort),a 
    975        ld hl,(4000h) 
    976        inc hl 
    977        ld a,h 
    978        or l 
     989       ld a,(4000h+0056h) 
     990       ;HACK: be smarter about this... 
     991       cp 5Ah 
     992       jr z,$F 
     993       xor a 
     994       jr NZIfTIOSExists_1 
     995$$:    or 1 
     996NZIfTIOSExists_1: 
    979997       pop bc 
    980998       ld a,b 
     
    11911209sInstructions: 
    11921210       DB LlBrack,"Y=] to switch",0CEh,0 
     1211sInstructions2: 
     1212       DB LlBrack,"0] to delete",0CEh,0 
    11931213sClearToCancel: 
    11941214       DB LlBrack,"CLEAR] to exit",0 
  • trunk/page1C/silentlink.asm

    r57 r59  
    1111 EXTERN SetYAutoIncrementMode,SendContinue,ReceiveDataPacket,DispHexHL,PutC,receiveRestOfDataPacket 
    1212 EXTERN CopyToRAMPage,CopyRAMToFlashPage,EraseEOL,PowerOff,SendHCommand,IPutSB,IPutC,CheckForBootLoader 
    13  EXTERN SetupPagedPtr,PagedGet,SendChecksumGetAcknowledge,RecAByteIO 
     13 EXTERN SetupPagedPtr,PagedGet,SendChecksumGetAcknowledge,RecAByteIO,cphlde,NZIf84PlusSeries 
    1414 
    1515keyscnlnk: 
     
    312312       ld (curRow),hl 
    313313       ld a,(ioData+8) 
    314        call DispHexA 
     314;       call DispHexA 
    315315       ld hl,(ioData+6) 
    316        call DispHexHL 
     316;       call DispHexHL 
    317317       call EraseEOL 
    318318       pop hl 
     
    386386       push af 
    387387       ld a,5 
    388        call IPutC 
    389        ex de,hl 
    390        call DispHexHL 
     388;       call IPutC 
     389       ex de,hl 
     390;       call DispHexHL 
    391391       ex de,hl 
    392392       ld a,d 
     
    394394       ld d,a 
    395395       ex de,hl 
    396        call DispHexHL 
     396;       call DispHexHL 
    397397       ex de,hl 
    398398       pop af 
     
    429429       ld hl,6 
    430430       ld (curRow),hl 
    431        call DispHexA 
    432        ex de,hl 
    433        call DispHexHL 
     431;       call DispHexA 
     432       ex de,hl 
     433;       call DispHexHL 
    434434       ex de,hl 
    435435       pop bc 
    436436       push bc 
    437437       pop hl 
    438        call DispHexHL 
     438;       call DispHexHL 
    439439       ld hl,appData 
    440440       B_CALL UnlockFlash 
     
    472472       ld hl,(0054h+8000h) 
    473473       ld (3FFEh+8000h),hl 
    474        ;While we're at it, mark the OS as valid 
    475        ld a,5Ah 
    476        ld (0056h+8000h),a 
     474       ;Find the jump to the boot code and modify it to be appropriate for the model 
     475       ld de,8000h 
     476       add hl,de 
     477       push hl 
     478       pop ix 
     479findBootCodeJumpLoop: 
     480       ld l,(ix+0) 
     481       ld h,(ix+1) 
     482       ld de,80D5h 
     483       call cphlde 
     484       jr z,$F 
     485       ld de,812Ch 
     486       jr z,$F 
     487       inc ix 
     488       push ix 
     489       pop bc 
     490       bit 6,b 
     491       jr z,findBootCodeJumpLoop 
     492       jr skipBootCodeJump 
     493$$:    ld de,812Ch 
     494       call NZIf84PlusSeries 
     495       jr nz,$F 
     496       ld de,80D5h 
     497$$:    ld (ix+0),e 
     498       ld (ix+1),d 
     499skipBootCodeJump: 
    477500       ;Find the page 0 routine for this OS 
    478501       ld a,7Bh 
     
    522545       dec c 
    523546       jr nz,$B 
     547       ;Mark the OS as valid 
     548       xor a 
     549       ld b,5Ah 
     550       ld de,0056h 
     551       B_CALL WriteAByte 
    524552       ld hl,0 
    525553       ld (curRow),hl 
     
    529557       ld a,81h 
    530558       out (7),a 
    531        call DispHexHL 
     559;       call DispHexHL 
    532560       ld a,'Y' 
    533        call PutC 
     561;       call PutC 
    534562       res indicOnly,(iy+indicFlags) 
    535        B_CALL GetKey 
     563;       B_CALL GetKey 
    536564       call SendAcknowledge 
    537565       ;Couldn't hurt to try to send another acknowledge, because TI Connect sucks