GDMike Posted July 21 Author Share Posted July 21 On 7/18/2024 at 9:17 PM, RickyDean said: I'd say this is the graphics chip? I think the datasheet I just added is about the same type of chip, only a diferent manufacturer . UM6845EA-UMC.pdf 709.17 kB · 0 downloads I'll also look at the other card I just checked out. Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 21 Author Share Posted July 21 On 7/18/2024 at 9:17 PM, RickyDean said: I'd say this is the graphics chip? I think the datasheet I just added is about the same type of chip, only a diferent manufacturer . UM6845EA-UMC.pdf 709.17 kB · 0 downloads I'm seeing the same on the second card. Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 21 Author Share Posted July 21 The rundown on my 2 systems: Both motherboards work (64k ram) Onboard floppy controller works fine. Both video cards work Only 1 monitor works There is only 1 expansion card(198k) There is a single parallel card There is 1 only I/O/clock/RAM card with serial port. Features 198K rampack board, verified working Clock is not functioning (corrosion and missing traces on board). Fixable? There are 2 Winchester controller cards, functioning There are 2 MFM drives. 1 spins up and down, not working correctly. 1 has corrupted fat1,fat 2 that I can't seem to correct. 2 serial keyboard's One keyboard has one sticky key once in a while at the F1 position (I'm sure this needs a cleaning), The other keyboard receives an error as soon as the computer boots. Can't find any sticking keys on it. This sounds more of a hardware issue. There are two floppy drives One needed cleaning and it's working fine The other barely spins if it's spins at all. Regarding the monitor that doesn't seem to get video: It gets a red power light on the front panel and the side switch turns it off and on. But it's not getting high voltage on the board, only the initial heat lamp glows on the base of the filament tube. Flyback issues? The monitor cases are very very fragile. If you ever go to handle these be sure to be extra extra careful. The cases for the computer are extremely heavy and solid. One of my computers had a distinct cigarette smoke smell to it, I was able to clean each chip and the circuit board using a lot of q-tips and alcohol and getting the black off of the boards to where now there's no smell when you put your nose the next day.. I'm glad I didn't kill any parts while doing that sometimes doing that kind of crap you end up killing stuff, but it works in my case today. I didn't touch any of the cards that way though, as they looked okay and I didn't smell anything on them for some weird reason. I also pulled apart the power supplies and cleaned them along with the fan that sits between the case and power supply. So all in all I'm pretty damn lucky to have what I got working. 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 21 Author Share Posted July 21 (edited) I need tipi for this computer, I've got the pi... Lol Edited July 21 by GDMike 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 21 Author Share Posted July 21 Thank you @Shift838for taking a look at my time spectrum card. Good luck. 3 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 I don't know the system quite Good enough to be able to use ms basic via peek, poke and pixel placement routines. MS basic does not have an accept at routine, but if I'm able to place a value in the memory to change the cursor location then I can create that in basic. I played with some color combinations, this is stuff that's not in the manual. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 (edited) It's going to take somebody smarter than me to figure the peeks and pokes for my cursor location changes id like to do using a basic program. So I included a couple of manuals In the MS basic manual there's very little information about how to use peek and poke, but it's enough to know how to use the command but there are no illustrations about what The addresses would be for the screen.. In the 8080 assembly it does talk about the addresses and how to locate a byte at a screen location. But I couldn't figure out how I would convert that into a basic command. I know that once I understand it for basic I'd be able to use it in forth too, or vice versa. 8080 Programmers Manual.pdf 2223216-0001_TI_PC_TechRef_May_1984.pdf BASIC-80_MBASIC_Reference_Manual_text.pdf Edited July 24 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 (edited) Here's a snippet of the only information I could find regarding cursor location. So I would need two things answered. What is the address that holds the two values and what does that format look like and how do you address it, I mean what does the syntax look like in basic? I'm going to try out setting DH and DL variables and seeing if poke will accept the syntax. Edited July 24 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 Ahh. Poke (address,value).. So I wonder what kind of value I'm supposed to use 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 24 Share Posted July 24 So in the IBM PC this could be done in the early days by calling code in the BIOS ROM. This was done with software interrupt 17 if I recall correctly. The other way was to call the operation with the DOS version and that was software interrupt 21. (software interrupt was a weird intel name for a "call" that saved things like a hardware interrrupt.) So the way it was done was load the arguments into the correct register(s) and the do instruction INT 21 or INT 17. From the manual info you would X in register DH (D high) and Y in DL ( D low) and call one of those interrupts depending on what that section of the manual is descriibing (DOS or BIOS) One way to see some code would be to find this function in F83. All the source code is there. At-XY is the modern standard name but back then it code GOTOXY or anything else the implementor liked. Check the F83 dos for cursor position word and then use VIEW <that word> to see the soucce code. If it's using the DOS call you will probably see the Assembler code you need to use. However in that BASIC there must be a command to position the cursor no? 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 1 minute ago, TheBF said: So in the IBM PC this could be done in the early days by calling code in the BIOS ROM. This was done with software interrupt 17 if I recall correctly. The other way was to call the operation with the DOS version and that was software interrupt 21. (software interrupt was a weird intel name for a "call" that saved things like a hardware interrrupt.) So the way it was done was load the arguments into the correct register(s) and the do instruction INT 21 or INT 17. From the manual info you would X in register DH (D high) and Y in DL ( D low) and call one of those interrupts depending on what that section of the manual is descriibing (DOS or BIOS) One way to see some code would be to find this function in F83. All the source code is there. At-XY is the modern standard name but back then it code GOTOXY or anything else the implementor liked. Check the F83 dos for cursor position word and then use VIEW <that word> to see the soucce code. If it's using the DOS call you will probably see the Assembler code you need to use. However in that BASIC there must be a command to position the cursor no? Very cool I will go into the f-83 prg.. Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 (edited) 3 hours ago, TheBF said: However in that BASIC there must be a command to position the cursor no? Nope. Not that I've found I spent the last 4 hours trying to make a self bootable kernel in f83 using the docs. The process starts but ends in error after a 30 seconds of doing actual work and echoing a number starting at 1, and erroring at 65, with a blk error. But never created the new kernel file. So, I moved on and created a myfile.blk, however doing a 1 edit ends in error and lockup after entering an invalid 10 digit edit entry code once enter is pressed with no other characters, or 10 random characters. Anyway, like you said, looking through other source files, I should be able to find a word that is similar to gotoxy,. I've found another forth program, that utilizes the "screen" syntax/scr format. But I've yet to install it.. But I might. Edited July 24 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 I found a screen for variables and registers..no comments..I couldn't get an idea what they were. I like this flavor of forth, but I just can't get past the edit code. I found the definition in utility.blk screen 21 Get-id But there's no FORGET and doing a : GET-ID ; didn't change anything Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 24 Author Share Posted July 24 But... The Borland's turbo Pascal does have gotoxy. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 25 Share Posted July 25 OK I think I have what you are looking for. From inside F83: 6.1. The BIOS I/O Calls to the Operating System The fundamental interface between Forth terminal I/O commands and the CP/M or DOS is the Forth command BDOS: \ Load function code into C register and entry parameter into D register. Call the BIOS. Return result are then pushed on the data stack. CODE BDOS ( entry function -- return-value ) CX POP \ Load function code into C register. DX POP \ Load entry parameter into D register. 33 INT \ Call BIOS by a software interrupt. This is the MS-DOS interrupt vector. For CP/M, it is 224 INT. AH AH SUB \ Clear the high byte in the AX register. 1PUSH \ Return with the result on stack. END-CODE BDOS is not only used for terminal I/O, it can also be used for most of the disk I/O calls, making Forth I/O commands very neat and simple. So so the TI book said **edit** So try pasting this into F83 and see if it moves the cursor. HEX : GOTOXY ( X y -- ) 100 * + 2 BDOS ; Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 25 Share Posted July 25 Holy cow. You can run F83 on DOSBox in your browser. DOSBox (uho.github.io) 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 6 hours ago, TheBF said: Holy cow. You can run F83 on DOSBox in your browser. DOSBox (uho.github.io) I wouldn't be surprised these days, even an AS/400 is online.. Ok..I can't wait to try the gotoxy code.. But I still need to get a grip on "get-id" And terminating that function.. Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 7 hours ago, TheBF said: OK I think I have what you are looking for. From inside F83: 6.1. The BIOS I/O Calls to the Operating System The fundamental interface between Forth terminal I/O commands and the CP/M or DOS is the Forth command BDOS: \ Load function code into C register and entry parameter into D register. Call the BIOS. Return result are then pushed on the data stack. CODE BDOS ( entry function -- return-value ) CX POP \ Load function code into C register. DX POP \ Load entry parameter into D register. 33 INT \ Call BIOS by a software interrupt. This is the MS-DOS interrupt vector. For CP/M, it is 224 INT. AH AH SUB \ Clear the high byte in the AX register. 1PUSH \ Return with the result on stack. END-CODE BDOS is not only used for terminal I/O, it can also be used for most of the disk I/O calls, making Forth I/O commands very neat and simple. So so the TI book said **edit** So try pasting this into F83 and see if it moves the cursor. HEX : GOTOXY ( X y -- ) 100 * + 2 BDOS ; The statement got an ok as a definition, but didn't result in anything except ok when called, as in, 5 5 Gotoxy ." Place" As if, the register was reset with previous values?? Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 (edited) Registers?? Ahhh... This is for building the assembler. Looking around in "words", I also haven't seen any "character color" definitions. But there is "beep" Edited July 25 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 I came across this assembler book.. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 The assy guide Ytha_Yu_Charles_Marut_Assembly_Language.pdf 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 25 Share Posted July 25 4 hours ago, GDMike said: I came across this assembler book.. OK this is what you needed. Int 10 calls the ROM BIOS routines. So you need the F83 ASSEMBLER loaded and then make a code word for function 3. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 The assembler stays loaded at boot, and I've been trying with "code nnn end-code" to get something to happen, but even though I don't get an error on my definition, I don't get a change on screen. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 25 Share Posted July 25 We don't need the assembler. there is already the word AT f83 AT command.mp4 1 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted July 25 Author Share Posted July 25 57 minutes ago, TheBF said: We don't need the assembler. there is already the word AT f83 AT command.mp4 Oh my.... And even the way you display a text is different I always use a quote mark in other Forth systems... I got to go try this.. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.