Changeset 47
- Timestamp:
- 10/10/09 03:20:47 (3 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 12 modified
-
OS2.zws (modified) (1 diff)
-
extras/dumpmem.z80 (modified) (2 diffs)
-
includes/os2.inc (modified) (2 diffs)
-
page00/boot.asm (modified) (5 diffs)
-
page00/display.asm (modified) (4 diffs)
-
page00/home.asm (modified) (2 diffs)
-
page00/intmisc.asm (modified) (2 diffs)
-
page00/menu.asm (added)
-
page00/util.asm (modified) (2 diffs)
-
page01/01base.asm (modified) (2 diffs)
-
page1C/linklow.asm (modified) (1 diff)
-
page1C/silentlink.asm (modified) (4 diffs)
-
page1D/1Dbase.asm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/OS2.zws
r42 r47 44 44 SOURCE = page00\util.asm 45 45 SOURCE = page00\home.asm 46 SOURCE = page00\menu.asm 46 47 SOURCE = page00\jumptable.asm 47 48 SOURCE = page01\01base.asm -
trunk/extras/dumpmem.z80
r46 r47 33 33 pop bc 34 34 pop de 35 jr nc,noErrorDetected 36 ld a,(myPage) 37 push de 38 push bc 39 push hl 40 call GetSmallDump 41 pop hl 42 pop bc 43 pop de 35 44 jr c,errorDetected 45 noErrorDetected: 36 46 add hl,bc 37 47 ex de,hl … … 87 97 bcall(_RecAByteIO) 88 98 bcall(_SendAck) 99 call APP_POP_ERRORH 89 100 xor a 90 101 jr getDumpDone -
trunk/includes/os2.inc
r42 r47 30 30 _PutS EQU 450Ah 31 31 _ClrLCDFull EQU 4540h 32 _ClrScrnFull EQU 4546h 33 _ClrTxtShd EQU 454Ch 32 34 _CursorOff EQU 45BEh 33 35 _hideCursor EQU 45C1h … … 93 95 iMathPtr4 EQU 84D9h 94 96 iMathPtr5 EQU 84DBh 97 ; 98 textShadow EQU 8508h 95 99 ; 96 100 cxMain EQU 858Dh -
trunk/page00/boot.asm
r44 r47 11 11 EXTERN outputPage,NZIf83Plus,_ZERO_PORT_3,_OUT_PORT_3,AnimateRunIndicator,PowerOff 12 12 EXTERN DispHexA,DispHexHL,IPutC,ReadKeyboardKey,ReadKeypad,ClrLCDFull 13 EXTERN curBlink,resetAPDTimer,UpdateAPD,BCALL,BJUMP,CopyRAMToFlashPage 13 EXTERN curBlink,resetAPDTimer,UpdateAPD,BCALL,BJUMP,CopyRAMToFlashPage,cphlde,CalculateOSChecksum 14 14 EXTERN _HandleDefaultUSBInterrupt,_ReadUSBInterruptData,_HandleUSBInterruptInitialize,CopyToRAMPage 15 15 EXTERN _HandleUSBACablePluggedIn,_HandleUSBACableUnplugged,_HandleUSBBCablePluggedIn,_HandleUSBBCableUnplugged 16 EXTERN GetHexA,GetHexHL,CursorOff,RunIndicOn,SetFastSpeed,CanAlph,homescreenContextVectors,SetContrast 16 EXTERN GetHexA,GetHexHL,CursorOff,RunIndicOn,SetFastSpeed,CanAlph,homescreenContextVectors,SetContrast,_PULLDOWNCHK 17 17 18 18 ;0000h: … … 438 438 ld sp,0FFC5h 439 439 ld iy,flags 440 B_CALL ClrScrnFull 440 441 ;Do any other initialization 441 442 ;Appear "off" … … 474 475 res receiveTIOS,(iy+linkFlags2) 475 476 ;Start the OS, minimal as it is 477 call CalculateOSChecksum 478 ld de,(RAMChecksum) 479 call cphlde 480 jr z,$F 481 ;The RAM checksum check has failed, so wipe out RAM and hope for the best 482 ;TODO: figure out what this actually needs to do 483 ; ld hl,appData 484 ; ld de,appData+1 485 ; ld bc,7FFFh 486 ; ld (hl),0 487 ; ldir 488 ; jp 0000h 489 $$: ;Screw up the RAM checksum so it's no longer valid 490 dec de 491 ld (RAMChecksum),de 476 492 call ClrLCDFull 477 493 res indicOnly,(iy+indicFlags) … … 507 523 call APP_PUSH_ERRORH 508 524 ld (onSP),sp 525 RestartMon: 509 526 _Mon: xor a 510 527 ld (kbdKey),a … … 515 532 call CursorOff 516 533 call RunIndicOn 534 call _PULLDOWNCHK 535 jr c,RestartMon 517 536 call CallcxMain 518 537 jr _Mon -
trunk/page00/display.asm
r42 r47 3 3 4 4 PUBLIC AnimateRunIndicator,DispHexA,PutS,PutC,curBlink,SaveOScreen,DispHexHL,EraseEOL,ClrLCDFull 5 PUBLIC _LCD_COMMAND,SetXAutoIncrementMode,SetYAutoIncrementMode,IPutSB,PutMap 5 PUBLIC _LCD_COMMAND,SetXAutoIncrementMode,SetYAutoIncrementMode,IPutSB,PutMap,ClrScrnFull,ClrTxtShd 6 6 PUBLIC saveTR,restoreTR,showCursor,CursorOff,CursorOn,hideCursor,RunIndicOn,IPutC 7 EXTERN IsAtEditTail,IsAtBtm,LCDDelay 7 EXTERN IsAtEditTail,IsAtBtm,LCDDelay,ATimes16 8 8 9 9 include "includes\os2.inc" … … 16 16 CursorOn: 17 17 ;TODO: come back to these... 18 ret 19 20 ClrScrnFull: 21 call ClrLCDFull 22 ClrTxtShd: 23 bit appTextSave,(iy+appFlags) 24 ret z 25 ld hl,textShadow 26 ld (hl),' ' 27 ld de,textShadow+1 28 ld bc,127 29 ldir 18 30 ret 19 31 … … 229 241 ;TODO: get this using a built-in font table instead of this boot code hack 230 242 PutC: 231 ld b,a 243 push af 244 push bc 245 push de 246 push hl 247 push ix 248 bit appTextSave,(iy+appFlags) 249 jr z,$F 250 call GetTextShadowOffset 251 ld (hl),a 252 $$: ld b,a 232 253 in a,(6) 233 254 push af … … 265 286 ld a,b 266 287 out (6),a 288 pop ix 289 pop hl 290 pop de 291 pop bc 292 pop af 293 ret 294 GetTextShadowOffset: 295 push af 296 push bc 297 push de 298 ld hl,(curRow) 299 ld a,l 300 call ATimes16 301 add a,h 302 ld l,a 303 ld h,0 304 ld de,textShadow 305 add hl,de 306 pop de 307 pop bc 308 pop af 267 309 ret 268 310 -
trunk/page00/home.asm
r42 r47 26 26 pop hl 27 27 ld (curRow),hl 28 cp kGraph29 jr z,graphPressed30 28 cp kYequ 31 29 ret nz … … 62 60 set curAble,(iy+curFlags) 63 61 ret 64 graphPressed: 65 B_CALL UnlockFlash 66 ld a,70h 67 ld b,0 68 ld de,7FFFh 69 B_CALL WriteAByte 70 ret 62 -
trunk/page00/intmisc.asm
r12 r47 5 5 6 6 PUBLIC CheckLowBatteriesTurnOff,_ZERO_PORT_3,_OUT_PORT_3,PowerOff,UpdateAPD,resetAPDTimer 7 EXTERN SaveOScreen,LCDDelay 7 EXTERN SaveOScreen,LCDDelay,CalculateOSChecksum 8 8 9 9 PowerOff: … … 16 16 call LCDDelay 17 17 out (LCDinstPort),a 18 call CalculateOSChecksum 19 ld (RAMChecksum),hl 18 20 ld a,STATE_MODE0_DEFAULT 19 21 out (interruptStatusPort),a -
trunk/page00/util.asm
r43 r47 3 3 4 4 PUBLIC _APP_PUSH_ERRORH,_APP_POP_ERRORH,FindSym,PushRealO1,Mov9ToOP1,FPAdd,OP1ToOP2,LCDDelay 5 PUBLIC CopyFlashPage 5 PUBLIC CopyFlashPage,ATimes16,CalculateOSChecksum 6 6 PUBLIC Placeholder005Fh,Placeholder0006h,Placeholder004Eh,Placeholder0003h,Placeholder0035h 7 7 PUBLIC outputPage,NZIf83Plus,ZIfSlowSpeed,GetBytePaged,MakeOffPageCall,CopyToRAMPage 8 PUBLIC CopyRAMToFlashPage,CanAlphIns,CanAlph,ResAlph,GetHexA,GetHexHL,SetFastSpeed 8 PUBLIC CopyRAMToFlashPage,CanAlphIns,CanAlph,ResAlph,GetHexA,GetHexHL,SetFastSpeed,cphlde 9 9 PUBLIC BCALL,BJUMP,JErrorNo,SetupPagedPtr,PagedGet,EraseRAMPage,SetContrast,MemClear 10 10 EXTERN Page0Call,UpdateAPD,PowerOff,GetCSC,PutC,DispHexHL,PutMap,BCALLRoutine,OS2Marker … … 22 22 Placeholder004Eh: 23 23 Placeholder005Fh: 24 ret 25 26 cphlde: 27 push hl 28 or a 29 sbc hl,de 30 pop hl 31 ret 32 33 ATimes16: 34 add a,a 35 add a,a 36 add a,a 37 add a,a 38 ret 39 40 CalculateOSChecksum: 41 push ix 42 ld ix,userMem 43 ld bc,0FE70h-userMem 44 ld hl,0011h 45 ld d,h 46 $$: ld e,(ix+0) 47 inc ix 48 add hl,de 49 dec bc 50 ld a,b 51 or c 52 jr nz,$B 53 ld e,d 54 ex de,hl 55 sbc hl,de 56 pop ix 24 57 ret 25 58 -
trunk/page01/01base.asm
r41 r47 12 12 and STATUS_NON_83P_MASK 13 13 jr z,GetKeyStart 14 set linkAssistEnabled,(iy+linkAssistFlags)15 in a,(laStatusPort)16 xor a17 out (laEnPort),a14 ;set linkAssistEnabled,(iy+linkAssistFlags) 15 ;in a,(laStatusPort) 16 ;xor a 17 ;out (laEnPort),a 18 18 bit 0,(iy+3Eh) 19 19 jr z,disableLA … … 68 68 jr GetKeyMainLoop 69 69 receivingData: 70 ld hl,kbdKey 71 ld (hl),0 70 72 B_CALL keyscnlnk 73 ; res indicOnly,(iy+indicFlags) ;***TESTING 71 74 ld a,(kbdKey) 72 75 or a -
trunk/page1C/linklow.asm
r24 r47 140 140 jr nz,cgbNoAssist 141 141 di 142 jr ReceiveLAByteToC 142 call ReceiveLAByteToC 143 ld a,c 144 ret 143 145 cgbNoAssist: 144 146 ld b,8 -
trunk/page1C/silentlink.asm
r44 r47 11 11 EXTERN SetYAutoIncrementMode,SendContinue,ReceiveDataPacket,DispHexHL,PutC,receiveRestOfDataPacket 12 12 EXTERN CopyToRAMPage,CopyRAMToFlashPage,EraseEOL,PowerOff,SendHCommand,IPutSB,IPutC,CheckForBootLoader 13 EXTERN SetupPagedPtr,PagedGet,SendChecksumGetAcknowledge 13 EXTERN SetupPagedPtr,PagedGet,SendChecksumGetAcknowledge,RecAByteIO 14 14 15 15 keyscnlnk: … … 40 40 ld a,(ioData) 41 41 call ContinueGetByte 42 bit 5,(iy+3Dh) 43 jr nz,keyscnlnkEnd 44 ;HACK: until I figure out where the extra zero's coming from... 42 45 call Get3Bytes 46 HandleLinkPacket: 43 47 ld hl,cmdTable 44 48 ld b,(hl) … … 110 114 111 115 memoryDumpPacket: 116 ld hl,ioData 117 ld (iMathPtr5),hl 112 118 call receiveRestOfDataPacket 113 119 ld bc,(ioData) 114 120 ld b,c 115 121 ld de,(ioOP1) 122 ld a,b 123 ld hl,0 124 ld (curRow),hl 125 call DispHexA 126 ex de,hl 127 call DispHexHL 128 ex de,hl 116 129 call SetupPagedPtr 117 130 ld de,(ioOP1+2) 118 131 ld (header+2),de 132 push de 119 133 ld hl,1573h 120 134 ld (header),hl 121 135 call Send4Bytes 122 136 ld hl,0 123 ld ( checksum),hl124 ld de,(header+2)137 ld (header+4),hl 138 pop de 125 139 $$: push de 126 140 call PagedGet … … 135 149 136 150 receivedRequestToSend: 151 ld hl,ioData 152 ld (iMathPtr5),hl 137 153 call receiveRestOfDataPacket 138 154 ld a,(ioOP1) -
trunk/page1D/1Dbase.asm
r42 r47 3 3 4 4 PUBLIC _JErrorNo,_UnlockFlash,_GetKey 5 EXTERN JErrorNo,UnlockFlash,GetKey,keyscnlnk,Rec1stByteNC,RecAByteIO,MemClear 6 EXTERN ClrLCDFull,PutS,GetCSC,CursorOff,CursorOn,hideCursor,showCursor 5 EXTERN JErrorNo,UnlockFlash,GetKey,keyscnlnk,Rec1stByteNC,RecAByteIO,MemClear,ClrTxtShd 6 EXTERN ClrLCDFull,PutS,GetCSC,CursorOff,CursorOn,hideCursor,showCursor,ClrScrnFull 7 7 8 8 ;4000h: … … 1359 1359 DW 0000h 1360 1360 DB 00h 1361 ;_ClrScrnFull equ 4546h 1362 DW 0000h1361 _ClrScrnFull: 1362 DW ClrScrnFull 1363 1363 DB 00h 1364 1364 ;_ClrScrn equ 4549h 1365 1365 DW 0000h 1366 1366 DB 00h 1367 ;_ClrTxtShd equ 454Ch 1368 DW 0000h1367 _ClrTxtShd: 1368 DW ClrTxtShd 1369 1369 DB 00h 1370 1370 ;_ClrWindow equ 454Fh
