Changeset 12


Ignore:
Timestamp:
Jul 25, 2009, 6:04:26 AM (10 years ago)
Author:
brandonlw
Message:

Everything should now be cleaned up
Now to get back to GetKey?/silent linking

Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/os2.inc

    r10 r12  
    4545ramCodeEnd                  EQU    822Fh 
    4646; 
     47kbdScanCode                 EQU    843Fh 
     48; 
     49kbdGetKy                    EQU    8445h 
     50; 
    4751apdSubTimer                 EQU    8448h 
    4852apdTimer                    EQU    8449h 
     
    7074appBackUpScreen             EQU    9872h 
    7175; 
     76hookExecTemp                EQU    9B75h 
    7277LinkActivityHookBlock       EQU    9B78h 
    7378; 
    7479USBActivityHookBlock        EQU    9BD4h 
     80; 
     81tempWord                    EQU    9C22h 
    7582; 
    7683offPageCallPage             EQU    9C83h 
    7784offPageCallAddress          EQU    9C84h 
     85; 
     86nestedHookLevels            EQU    9CAEh ;not sure this is of any use 
    7887; 
    7988userMem                     EQU    9D95h 
     
    98107;           System and State Flags 
    99108;====================================================================== 
     109kbdFlags                    EQU    00h 
     110kbdSCR                      EQU    3      ;1=scan code ready 
     111kbdKeyPress                 EQU    4      ;1=key has been pressed 
     112 
     113monFlags                    EQU    01h 
     114monAbandon                  EQU    4      ;1=don't start any long process in putaway 
     115 
     116textFlags                   EQU    05h 
     117textInsMode                 EQU    4      ;1=insert mode, 0=overstrike 
     118 
    100119apdFlags                    EQU    08h    ;Automatic Power Down 
    101120apdAble                     EQU    2      ;1=APD enabled 
     
    152171asm_Flag2                   EQU  22h 
    153172asm_Flag3                   EQU  23h 
     173 
     174customFlag1                 EQU    24h 
     175runAtFastSpeed              EQU    5      ;1=run (hooks at least) at fast (15MHz) speed 
    154176 
    155177scriptFlag                  EQU    33h 
     
    231253;====================================================================== 
    232254speedPort            EQU    20h 
     255modelPort            EQU    21h 
    233256 
    234257;====================================================================== 
  • trunk/page00/display.asm

    r10 r12  
    33 
    44 PUBLIC AnimateRunIndicator,DispHexA,PutS,PutC,curBlink,SaveOScreen 
     5 EXTERN IsAtEditTail,IsAtBtm 
    56 
    67 include "includes\os2.inc" 
     
    1617       ret nz 
    1718       ;Animate it 
     19;TODO: make this actually, oh, I don't know, animate it 
     20       COMMENT ~ 
    1821       ld hl,(curRow) 
    1922       push hl 
     
    3639       pop hl 
    3740       ld (curRow),hl 
     41       ~ 
    3842       ret 
    3943 
     
    4650       jr PutS 
    4751 
     52;TODO: get this using a built-in font table instead of this boot code hack 
    4853PutC: 
    4954       ld b,a 
     
    116121       ret 
    117122 
     123;Mostly for debugging purposes only 
    118124DispHexHL: 
    119125       push af 
     
    133139       ret 
    134140 
     141;Mostly for debugging purposes only 
    135142DispHexA: 
    136143       push de 
     
    162169       ret 
    163170 
     171;For debugging purposes only 
    164172IPutC: 
    165173       push af 
     
    177185 
    178186curBlink: 
    179        ld hl,844Ah 
     187;TODO: this needs some tweaking to support the small font if/when we get to it 
     188       ld hl,curTime 
    180189       dec (hl) 
    181190       ret nz 
    182191       push af 
    183        in a,(3) 
    184        push af 
    185        ld a,8 
    186        out (3),a 
    187        pop af 
    188        out (3),a 
    189        pop af 
    190        bit 3,(iy+0Ch) 
     192       in a,(interruptEnPort) 
     193       push af 
     194       ld a,INTERRUPT_MASK_POWER 
     195       out (interruptEnPort),a 
     196       pop af 
     197       out (interruptEnPort),a 
     198       pop af 
     199       bit curOn,(iy+curFlags) 
    191200       jr z,cursorNotShowing 
    192201       push af 
    193        ld a,32h 
    194        ld (844Ah),a 
    195        pop af 
    196        bit 3,(iy+0Ch) 
     202       ld a,32h                    ;hard-coded start for curTime 
     203       ld (curTime),a 
     204       pop af 
     205       bit curOn,(iy+curFlags) 
    197206       ret z 
    198        push af 
    199        bit 5,(iy+0Dh) 
    200        jr z,$F 
    201        ;call  
    202        jr curBlinkDone 
    203 $$:    bit 6,(iy+0Dh) 
    204        jr z,$F 
    205        push ix 
    206        or a 
    207        ;call 
    208        pop ix 
    209        jr curBlinkDone 
    210 $$:    ld a,(curUnder) 
     207       ld a,(curUnder) 
    211208       ld hl,(curRow) 
    212209       push hl 
     
    215212       ld (curRow),hl 
    216213curBlinkDone: 
    217        res 3,(iy+0Ch) 
     214       res curOn,(iy+curFlags) 
    218215       pop af 
    219216       ret 
    220217cursorNotShowing: 
    221        bit 2,(iy+0Ch) 
     218       bit curAble,(iy+curFlags) 
    222219       ret z 
    223220       push af 
     
    225222       push hl 
    226223       push ix 
    227        ld a,32h 
     224       ld a,32h             ;hard-coded start for curTime 
    228225       ld (curTime),a 
    229        bit 5,(iy+0Dh) 
    230        jr z,$F 
    231        ;call 
    232        jr curBlink2Done 
    233 $$:    bit 6,(iy+0Dh) 
    234        jr z,$F 
    235        push ix 
    236        ld ix,(97A3h) 
    237        scf 
    238        ;call  
    239        pop ix 
    240        jr curBlink2Done 
    241 $$:    bit 3,(iy+0Ch) 
    242        jr nz,$F 
    243        ;Stuff? 
    244 $$:    call IsAtEditTail 
     226       call IsAtEditTail 
    245227       jr nz,atEditTail 
    246        bit 4,(iy+5) 
     228       bit textInsMode,(iy+textFlags) 
    247229       jr nz,$F 
    248230       call IsAtBtm 
     
    255237atEditTail: 
    256238       ld a,0E0h 
    257        bit 4,(iy+5) 
     239       bit textInsMode,(iy+textFlags) 
    258240       jr z,$F 
    259241       add a,4 
    260 $$:    ld h,(iy+12h) 
     242$$:    ld h,(iy+shiftFlags) 
    261243       bit 3,h 
    262244       jr z,$F 
     
    282264       ld (curRow),hl 
    283265curBlink2Done: 
    284        set 3,(iy+0Ch) 
    285        pop ix 
    286        pop hl 
    287        pop de 
    288        pop af 
    289        ret 
    290  
    291 IsAtEditTail: 
    292        ld hl,(editCursor) 
    293        ld de,(editTail) 
    294 cphlde:push hl 
    295        or a 
    296        sbc hl,de 
    297        pop hl 
    298        ret 
    299  
    300 IsAtBtm: 
    301        ld de,(editTail) 
    302        ld hl,(editBtm) 
    303        jr cphlde 
    304  
     266       set curOn,(iy+curFlags) 
     267       pop ix 
     268       pop hl 
     269       pop de 
     270       pop af 
     271       ret 
     272 
  • trunk/page00/hooks.asm

    r10 r12  
    1313       jr z,RunHook 
    1414       pop af 
    15        res LinkActivityHookEnabled,(iy+33h) 
     15       res LinkActivityHookEnabled,(iy+scriptFlag) 
    1616       ret 
    1717RunHook: 
    1818       pop af 
    19        ld (9C22h),a 
    20        in a,(20h) 
     19       ld (tempWord),a 
     20       in a,(speedPort) 
    2121       push af 
    22        bit 5,(iy+24h) 
     22       bit runAtFastSpeed,(iy+customFlag1) 
    2323       call ZIfSlowSpeed 
    2424       pop af 
    2525       push af 
    26        ld a,(9C22h) 
     26       ld a,(tempWord) 
    2727       push hl 
    28        ld hl,9CAEh 
     28       ld hl,nestedHookLevels 
    2929       inc (hl) 
    30        ld hl,0DEEh 
     30       ld hl,RunHookSafeRet 
    3131       ex (sp),hl 
    3232       push hl 
     
    3434       ex (sp),hl 
    3535       push hl 
    36        ld hl,9B75h 
     36       ld hl,hookExecTemp 
    3737       ex (sp),hl 
    3838       jr Page0Call 
     
    4040       pop af 
    4141       push hl 
    42        ld hl,9CAEh 
     42       ld hl,nestedHookLevels 
    4343       dec (hl) 
    4444       pop hl 
     
    4646       jr nz,$F 
    4747       and 1 
    48        out (20h),a 
     48       out (speedPort),a 
    4949$$:    pop af 
    5050       pop af 
     
    5454       push af 
    5555       push hl 
    56        ld hl,9CAEh 
     56       ld hl,nestedHookLevels 
    5757       dec (hl) 
    5858       pop hl 
     
    6060       jr nz,$F 
    6161       pop af 
    62        ld (9C22h),bc 
     62       ld (tempWord),bc 
    6363       pop bc 
    6464       pop bc 
     
    6666       ld a,b 
    6767       and 1 
    68        out (20h),a 
     68       out (speedPort),a 
    6969       pop af 
    70        ld bc,(9C22h) 
     70       ld bc,(tempWord) 
    7171       ret 
    7272$$:    pop af 
     
    8686       cp 0FFh 
    8787       jr z,$F 
    88        ld (9B77h),a 
     88       ld (hookExecTemp+2),a 
    8989       ex de,hl 
    9090       call GetBytePaged 
    9191       inc hl 
    92        ld (9B75h),hl 
     92       ld (hookExecTemp),hl 
    9393       ld a,b 
    9494$$:    pop de 
  • trunk/page00/input.asm

    r10 r12  
    77 EXTERN NZIf83Plus 
    88 
    9 GetCSC:ld hl,843Fh 
     9GetCSC:ld hl,kbdScanCode 
    1010       di 
    1111       ld a,(hl) 
    1212       ld (hl),0 
    13        res 3,(iy+0) 
     13       res kbdSCR,(iy+kbdFlags) 
    1414       ei 
    1515       ret 
     16 
    1617HandleLinkKeyActivity: 
    1718       nop 
     
    4243 
    4344ReadKeyboardKey: 
     45;8440h-8443h are used to debounce up/down/left/right/DEL 
    4446       call ReadKeypad 
    4547       jr nc,$F 
     
    7981       or a 
    8082       jr z,$F 
    81        set 4,(iy+0) 
     83       set kbdKeyPress,(iy+kbdFlags) 
    8284$$:    ld (hl),a 
    8385       ld a,32h 
     
    8587       ret 
    8688setKbdKey: 
    87        ld (843Fh),a 
    88        set 3,(iy+0) 
     89       ld (kbdScanCode),a 
     90       set kbdSCR,(iy+kbdFlags) 
    8991       or a 
    9092       ret z 
    91        ld (8445h),a 
     93       ld (kbdGetKy),a 
    9294       ret 
    9395ReadKeypad: 
     
    100102       ld d,1 
    101103rk1:   ld a,c 
    102        bit 0,(iy+2Ch) 
    103        jr z,$F 
    104        cp 0FEh 
    105        jr nz,$F 
    106104       call ReadPort1 
    107        cp 0F5h 
    108        ret z 
    109        cp 0F3h 
    110        ret z 
    111        cp 0FAh 
    112        ret z 
    113        cp 0FCh 
    114        ret z 
    115        jr rk3 
    116 $$:    call ReadPort1 
    117105rk3:   ld e,0 
    118106       ld b,8 
     
    147135ReadPort1: 
    148136       push af 
    149        in a,(2) 
    150        and 80h 
     137       in a,(statusPort) 
     138       and STATUS_NON_83P_MASK 
    151139       jr nz,rp1SE 
    152140rp1_1: pop af 
     
    162150       ld a,b 
    163151       ret 
    164 rp1SE: in a,(20h) 
     152rp1SE: in a,(speedPort) 
    165153       and 1 
    166154       jr z,rp1_1 
  • trunk/page00/intmisc.asm

    r11 r12  
    55 
    66 PUBLIC CheckLowBatteriesTurnOff,_ZERO_PORT_3,_OUT_PORT_3,PowerOff,UpdateAPD,resetAPDTimer 
    7  EXTERN SaveOScreen 
     7 EXTERN SaveOScreen,LCDDelay 
    88 
    99PowerOff: 
    1010       ld a,INTERRUPT_MASK_POWER 
    1111       call _OUT_PORT_3 
    12        res 4,(iy+1) 
    13        res 3,(iy+12h) 
    14        res 3,(iy+9) 
    15        ld a,2 
    16        out (10h),a 
    17        ld a,6 
    18        out (4),a 
     12       res monAbandon,(iy+monFlags) ;don't start any long putaway process (this will be more important later) 
     13       res shift2nd,(iy+shiftFlags) 
     14       res onRunning,(iy+onFlags) 
     15       ld a,lcdTurnOff 
     16       call LCDDelay 
     17       out (LCDinstPort),a 
     18       ld a,STATE_MODE0_DEFAULT 
     19       out (interruptStatusPort),a 
    1920       ld a,INTERRUPT_MASK_LINK+INTERRUPT_MASK_ON 
    20        out (3),a 
     21       out (interruptEnPort),a 
    2122       ex af,af' 
    2223       exx 
     
    4546resetAPDTimer: 
    4647       ld hl,apdTimer 
    47        ld (hl),74h 
     48       ld (hl),74h ;hard-coded default value, about 5 minutes 
    4849       ret 
    4950 
     
    9798$$:    halt 
    9899       jr $B 
     100 
  • trunk/page00/util.asm

    r10 r12  
    4343       inc hl 
    4444       ld (hl),d 
    45        in a,(6) 
     45       in a,(memPageAPort) 
    4646       ld c,a 
    4747       dec hl 
     
    167167       jr nz,$F 
    168168       ld a,1 
    169        out (20h),a 
     169       out (speedPort),a 
    170170$$:    pop af 
    171171       ret 
     
    175175       push af 
    176176       xor a 
    177        out (20h),a 
     177       out (speedPort),a 
    178178       pop af 
    179179       ret 
     
    183183       push af 
    184184       ld a,(offPageCallPage) 
    185        out (6),a 
     185       out (memPageAPort),a 
    186186       ld hl,P1OutputRet 
    187187       push hl 
     
    208208outputPage: 
    209209       call translatePage 
    210        out (6),a 
     210       out (memPageAPort),a 
    211211       ret 
    212212translatePage: 
     
    223223       push bc 
    224224       push af 
    225        in a,(21h) 
     225       in a,(modelPort) 
    226226       and 3 
    227227       jr $F 
     
    229229       push bc 
    230230       push af 
    231        in a,(2) 
    232        and 80h 
    233        xor 80h 
     231       in a,(statusPort) 
     232       and STATUS_NON_83P_MASK 
     233       xor STATUS_NON_83P_MASK 
    234234$$:    pop bc 
    235235       ld a,b 
Note: See TracChangeset for help on using the changeset viewer.