Changeset 49

Show
Ignore:
Timestamp:
10/11/09 00:42:34 (3 years ago)
Author:
brandonlw
Message:

Added a whole bunch of variable/memory management routines -- not complete, but we're close to being able to query, store, and manipulate variables and the VAT again

Location:
trunk
Files:
3 added
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/OS2.zws

    r47 r49  
    4343SOURCE = page00\edit.asm 
    4444SOURCE = page00\util.asm 
     45SOURCE = page00\varmgmt.asm 
     46SOURCE = page00\mathcore.asm 
    4547SOURCE = page00\home.asm 
    4648SOURCE = page00\menu.asm 
  • trunk/includes/os2.inc

    r48 r49  
    9393indicCounter                EQU    8476h 
    9494; 
     95OP1                         EQU    8478h 
     96OP2                         EQU    8483h 
     97OP3                         EQU    848Eh 
     98OP4                         EQU    8499h 
     99OP5                         EQU    84A4h 
     100OP6                         EQU    84AFh 
     101; 
     102iMathPtr1                   EQU    84D3h 
     103iMathPtr2                   EQU    84D5h 
     104iMathPtr3                   EQU    84D7h 
    95105iMathPtr4                   EQU    84D9h 
    96106iMathPtr5                   EQU    84DBh 
     107chkDelPtr1                  EQU    84DDh 
     108chkDelPtr2                  EQU    84DFh 
     109; 
     110insDelPtr                   EQU    84E1h 
     111; 
     112fOutDat                     EQU    84E5h 
     113customPtr3                  EQU    84E7h 
     114; 
     115asm_data_ptr1               EQU    84EBh 
     116asm_data_ptr2               EQU    84EDh 
    97117; 
    98118textShadow                  EQU    8508h 
     
    136156anovaf_vars                 EQU    8C17h 
    137157; 
     158lcdTallP                    EQU    8DA3h 
     159pixWideP                    EQU    8DA4h 
     160pixWide_m_1                 EQU    8DA5h 
     161pixWide_m_2                 EQU    8DA6h 
     162; 
     163freeRAM                     EQU    9815h 
     164; 
     165XOutSym                     EQU    918Ch 
     166XOutDat                     EQU    918Eh 
     167YOutSym                     EQU    9190h 
     168YOutDat                     EQU    9192h 
     169inputSym                    EQU    9194h 
     170inputDat                    EQU    9196h 
     171; 
     172ES                          EQU    9302h 
     173; 
     174customPtr1                  EQU    9306h 
     175; 
     176customPtr2                  EQU    9311h 
     177; 
     178equPtr1                     EQU    9313h 
     179; 
    138180parseVar                    EQU    9652h 
     181; 
     182basic_start                 EQU    965Bh 
     183nextParseByte               EQU    965Dh 
     184basic_end                   EQU    965Fh 
    139185; 
    140186editTop                     EQU    96F4h 
     
    143189editBtm                     EQU    96FAh 
    144190; 
     191editSym                     EQU    9706h 
     192editDat                     EQU    9708h 
     193; 
     194winTop                      EQU    97A5h 
     195winBtm                      EQU    97A6h 
     196; 
     197fmtMatSym                   EQU    9808h 
     198fmtMatMem                   EQU    980Ah 
     199EQS                         EQU    980Ch 
     200; 
     201tSymPtr1                    EQU    9818h 
     202tSymPtr2                    EQU    981Ah 
     203chkDelPtr3                  EQU    981Ch 
     204chkDelPtr4                  EQU    981Eh 
     205tempMem                     EQU    9820h 
    145206fpBase                      EQU    9822h 
    146207FPS                         EQU    9824h 
    147208OPBase                      EQU    9826h 
    148209OPS                         EQU    9828h 
     210pTemp                       EQU    982Eh 
     211progPtr                     EQU    9830h 
     212newDataPtr                  EQU    9832h 
    149213; 
    150214pagedCount                  EQU    9834h 
     
    201265 
    202266plotFlags                   EQU    02h 
     267 
     268graphFlags                  EQU    03h 
     269graphDraw                   EQU    0      ;0=graph is valid, 1=redraw graph (dirty) 
    203270 
    204271textFlags                   EQU    05h 
     
    239306shiftKeepAlph               EQU    7      ;1=cannot cancel alpha lock 
    240307 
     308tblFlags                    EQU    13h 
     309reTable                     EQU    6      ;0=table is okay, 1=must recompute table 
     310 
    241311newIndicFlags               EQU    15h 
    242312extraIndic                  EQU    0      ;1=use extra indicator? 
     
    247317skipHW2Timer                EQU    1      ;1=skip this firing of HW timer 2 (makes it last a little longer) 
    248318batteriesGood               EQU    2      ;1=batteries are good 
     319 
     320smartFlags                  EQU    17h 
    249321 
    250322linkKeyFlags                EQU    18h 
  • trunk/page00/boot.asm

    r48 r49  
    66 PUBLIC LdHLInd,BCALLRoutine,CheckForBootLoader,OS2Marker,AppInit 
    77 EXTERN PutS,PutC,ifastcopy,CallUSBActivityHook,CheckLowBatteriesTurnOff,SaveOScreen 
    8  EXTERN RunLinkActivityHook,HandleLinkKeyActivity,ResetStacks 
     8 EXTERN RunLinkActivityHook,HandleLinkKeyActivity,ResetStacks,_LCD_DRIVERON 
    99 EXTERN _APP_PUSH_ERRORH,_APP_POP_ERRORH,FindSym,PushRealO1,Mov9ToOP1,FPAdd,OP1ToOP2,LCDDelay 
    1010 EXTERN Placeholder005Fh,Placeholder0006h,Placeholder004Eh,Placeholder0003h,Placeholder0035h 
     
    439439       ld iy,flags 
    440440       ;Do any other initialization 
    441        call SetContrast 
    442441       ;Appear "off" 
    443442       xor a 
     
    487486       ld (hl),0 
    488487       ldir 
     488       ld hl,0109h ;English 
     489       ld (localLanguage),hl 
     490       ld sp,0FFF7h 
     491       ld a,17h ;default contrast level 
     492       ld (contrast),a 
     493       call _LCD_DRIVERON 
     494       ld hl,0800h 
     495       ld (winTop),hl 
     496       B_CALL ClrScrnFull 
     497       ld hl,userMem 
     498       ld (tempMem),hl 
     499       ld (fpBase),hl 
     500       ld (FPS),hl 
     501       ld (newDataPtr),hl 
     502       ld hl,symTable 
     503       ld (pTemp),hl 
     504       ld (OPBase),hl 
     505       ld (OPS),hl 
     506       ld (progPtr),hl 
     507       ld hl,lcdTallP 
     508       ld (hl),64 
     509       inc hl 
     510       ld (hl),96 
     511       inc hl 
     512       ld (hl),95 
     513       inc hl 
     514       ld (hl),94 
     515       ld hl,_monErrorHandler 
     516       call APP_PUSH_ERRORH 
     517       ld (onSP),sp 
    489518$$:    ;Screw up the RAM checksum so it's no longer valid 
    490519       dec de 
     
    505534       set apdAble,(iy+apdFlags) 
    506535       set apdRunning,(iy+apdFlags) 
    507        ld sp,0FFF7h 
    508        ld hl,0109h ;English 
    509        ld (localLanguage),hl 
     536       xor a 
     537       ld (menuCurrent),a 
    510538       ld a,appStart 
    511539       call _newContext0 
    512        ld hl,_monErrorHandler 
    513        call APP_PUSH_ERRORH 
    514        ld (onSP),sp 
    515540       call ResetStacks 
    516        xor a 
    517        ld (menuCurrent),a 
    518541       set appTextSave,(iy+appFlags) 
    519542RestartMon: 
  • trunk/page00/display.asm

    r47 r49  
    44 PUBLIC AnimateRunIndicator,DispHexA,PutS,PutC,curBlink,SaveOScreen,DispHexHL,EraseEOL,ClrLCDFull 
    55 PUBLIC _LCD_COMMAND,SetXAutoIncrementMode,SetYAutoIncrementMode,IPutSB,PutMap,ClrScrnFull,ClrTxtShd 
    6  PUBLIC saveTR,restoreTR,showCursor,CursorOff,CursorOn,hideCursor,RunIndicOn,IPutC 
    7  EXTERN IsAtEditTail,IsAtBtm,LCDDelay,ATimes16 
     6 PUBLIC saveTR,restoreTR,showCursor,CursorOff,CursorOn,hideCursor,RunIndicOn,IPutC,_LCD_DRIVERON 
     7 EXTERN IsAtEditTail,IsAtBtm,LCDDelay,ATimes16,NZIf83Plus 
    88 
    99 include "includes\os2.inc" 
     10 
     11_LCD_DRIVERON: 
     12       ld a,40h 
     13       call LCDDelay 
     14       out (LCDinstPort),a 
     15       ld a,5 
     16       call LCDDelay 
     17       out (LCDinstPort),a 
     18       ld a,1 
     19       call LCDDelay 
     20       out (LCDinstPort),a 
     21       ld a,lcdTurnOn 
     22       call LCDDelay 
     23       out (LCDinstPort),a 
     24       ld a,16h 
     25       call NZIf83Plus 
     26       jr nz,$F 
     27       ld a,17h 
     28$$:    call LCDDelay 
     29       out (LCDinstPort),a 
     30       ld a,8 
     31       call NZIf83Plus 
     32       jr nz,$F 
     33       ld a,0Bh 
     34$$:    call LCDDelay 
     35       out (LCDinstPort),a 
     36       ld a,(contrast) 
     37       add a,18h 
     38       or 0C0h 
     39       call LCDDelay 
     40       out (LCDinstPort),a 
     41       ret 
    1042 
    1143RunIndicOn: 
  • trunk/page00/util.asm

    r47 r49  
    519519JErrorNo: 
    520520       ld (errNo),a 
    521 ;       call NZIf83Plus 
    522 ;       jr z,$F 
    523 ;       ld a,0C0h 
    524 ;       out (bport),a 
    525 ;       jr JErrorNo_1 
    526 ;$$:    ld a,80h 
    527 ;       out (laEnPort),a 
    528 ;       res linkAssistEnabled,(iy+linkAssistFlags) 
     521       call NZIf83Plus 
     522       jr z,$F 
     523       ld a,0C0h 
     524       out (bport),a 
     525       jr JErrorNo_1 
     526$$:    ld a,80h 
     527       out (laEnPort),a 
     528       res linkAssistEnabled,(iy+linkAssistFlags) 
    529529JErrorNo_1: 
    530530       res indicOnly,(iy+indicFlags)