I went ahead and tried a few other disassemblers found via Google...I realized something...Actually, I remembered a crucial detail...I used to embed data into my routines rather than keeping it in DATA blocks. It was a little trick to keep people from disassembling my code. Of course, now it is making it difficult for me to disassemble. Anyway, I have RAW source now, and I will still need to go through it with a fine-tooth comb to see what I can pull from it. Thanks.
Oh boy, I hope you followed a common methology of saving the data,
otherwise you will be all day until your ...
SPENCE, THANKS FOR THE INFORMATION...I HAVE BEEN WORKING ON THIS FOR AWHILE NOW AND THINK I HAVE MANAGED TO SAVE EVERYTHING BY EYEBALLING THE CODE.· SERIOUSLY, I WILL POST THE BEFORE AND AFTER CODES SOON...IT'S A TRIP FOR SURE.
Robert,
·· In all fairness this code is from 1992, and I had everything backed up on Floppy Disks...But as I tell people, magnetic media eventually wears out.· As is the case.· I never thought I would need this code again or I might have recently moved it onto my main system.
·· As I was telling Spence, anyone who wants to see it will soon...I think I have it decoded.· Still whacking away at a few routines wondering to myself, "WHAT THE HECK DID I DO THERE?!?!?"· I also found one data block at the beginning that I have no idea what it goes to...I think possibly a checksum that I never implemented, but ah well.· More to come soon!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Chris Savage Parallax Tech Support csavage@parallax.com
·· It has been awhile since I used the Z80, but I do remember all of the special addresses.· They only applied to the Start Address and the IRQ/NMI routines.· $0000, $0008, $0010, $0018, $0020, $0028, $0030, $0038 and $0066.· Those are all accounted for...In fact, here's a quick/nasty disassembly of the first block.· With added comments as to what the code is, or is doing.· Some routines weren't complete in this early template, such as the IRQ/NMI routines.
This thread doesn't really fit something that eveyone can benefit from.· If it did then it might be a sticky thread, but it's really a place for nostalgic hackers to talk old-school.· Mostly about CPUs and micros that are obsolete or don't fit general topic here.· I certainly wouldn't wish for the conversation to drift into actually working on older projects as that doesn't fit this forum at all.· But we can talk about what used to be, and how we got here.· And yes, I was a Boy Scout.· Although, especially where I grew up, Scout and·Hacker were not synonymous.· I don't think anyone in my old neck of the woods ever heard of a computer when I was a Scout.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Chris Savage Parallax Tech Support csavage@parallax.com
·· It has been awhile since I used the Z80, but I do remember all of the special addresses.· They only applied to the Start Address and the IRQ/NMI routines.· $0000, $0008, $0010, $0018, $0020, $0028, $0030, $0038 and $0066.· Those are all accounted for...
No they aren't...
You forget that the Z80 has a 'special' interrupt mode, where, when it receives an interrupt, waits for the interrupting device to place a Byte on the databus, then combines it with the Interrupt register to form a pointer. (The Interrupt register is the high part) It then reads the 16bit data found at that address and jumps to the routine it points to. This means the Z80 could in theory have 128(or more, if you're willing to fiddle with the bits) different interrupt routines...
This table can of course be placed anywhere, but is usually at a 256Byte 'Page' boundary.
The data is a bit too short for that kind, though, and I can't see any attempt to enable that mode, so...
My guess is that it's old, orphaned code.
What would it look like as disassembled code?
(Can't remember which op-code $5A would be... )
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
·· You're right, it's been awhile, but I thought it was only 8 possible combinations for IRQ address?· My memory is failing in my old age, but I thought I remembered it being $0038 if you were just using the IM MODE 1, and in the multiple interrupt mode you could use 8 different vectors/routines?· I am pretty sure there were 3 modes, but I only ever used mode 1.·
·· As for being orphande code, it's possible.· That template was actually written in 1992 because I used a lot of common code in my programs.· It is possible that there were some instructions that were left from something else.· Without the source file it will be hard to nail down, but if anyone's interested I will post the object and disassembled code for your hacking pleasure!·
·· It's merely a template with some test code in it so it could be used as-is.· If I post it I will note the hardware configuration (Which could easily be altered).· In any event, I've almost completed documentation of the routines.· The only thing I am stumped on is some memory locations I used for variables that I am trying to remember what they were for.· I wish I had my brain backed-up on disk somewhere!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Chris Savage Parallax Tech Support csavage@parallax.com
tdg8934 said...(trimmed) I guess Im an old school hacker too.
I started out at 16 at Highschool with a PDP-11 terminal and wrote a basic program to print out my name down the paper. At that point, I was hooked. I was in the computer math course and the only kid to have his own computer being a ZX81. The school had a PDP-11, TRS-80 model 3 and Apple 2 to·write code with.··With with the ZX81 (2K ram) (Now you'll·know my age)·which was advertised to be the first computer to "break the $200 price barrier" and it was later upgraded·with a $99 16K ram module and thermal printer (yuk silver paper).
Welcome tdg8934!
·· This is starting to have a familiar ring to it...Although, if you started prior to 1982 you have me beat.· I was really good with electronics before then, but had no computer until then.· But much of your experience sounds familiar/common to many who have posted here.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Chris Savage Parallax Tech Support csavage@parallax.com
Hello, this may be slightly out of place, if so let it be moved, but here goes:
I have an old Panasonic CF-1000 that I used to use for programming my stamp with the DOS editors up to a couple of months ago. Then it started displaying anti-boot symptoms: It always does a memory check at startup, and now, always, somewhere in the middle of it, the hard drive makes a weird noise and the system crashes. I don't even get to the command line. Now, I kind of like this machine and I'd hate to get rid of it. Is there anything one might do to fix it?
Of course, it' s not as old as you guys, but then I'm only 15...
Thanks
Rafael
flyingfishfinger said...
Hello, this may be slightly out of place, if so let it be moved, but here goes:
I have an old Panasonic CF-1000 that I used to use for programming my stamp with the DOS editors up to a couple of months ago. Then it started displaying anti-boot symptoms: It always does a memory check at startup, and now, always, somewhere in the middle of it, the hard drive makes a weird noise and the system crashes. I don't even get to the command line. Now, I kind of like this machine and I'd hate to get rid of it. Is there anything one might do to fix it?
Of course, it' s not as old as you guys, but then I'm only 15...
Thanks
Rafael
Try re-low-level formating of the hard drive, and re-install an op system, if that does not work, you might check the bios settings, and whether it needs a new cmos battery...
Did you try to boot to dos from a floppy drive??
I would need a description of boot sequence/results to help further...
Woa, I just got to the command line for several seconds (first time I've tried since three months), but then it crashed anyway. Just like that, with no warning, the screen goes blank and the harf drive starts clicking several times and then it dies. I can turn it on again, but eventually it crashes again.
Ok, the second time it crashed das soon as I pressed the power button, the third time I was able to boot, but it crashed while attempting to load Win 3.1. I simlply can't get anywhere sensible. Also, sometimes the screen flickers a while before crashing
Rafael
I'm afraid so...You're going to have to accept that Hard Drives used to (seems less now) have an average life span of around 5 years.· Many far exceeded that, but in your case I hope you had backups.· If you look further back in this thread you'll see I did, and it didn't help me.· I still lost some data.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Chris Savage Parallax Tech Support csavage@parallax.com
No, I don't have any backups, because all the serious Stamp code is saved on a new computer and everything else (my dad's ancient work was erased or copied before he gave it to me) was only replaceable games and a few QB programs that I had copied sometime last year. So now I guess I've got a rip-apart compuer. How Fun! I might do some experiments (can you recommend any?)
Rafael
If it is, according to this is at least 12 years old and I would say that
the hard-drive has served you well.
That said, it is going to be harder to find a laptop drive than it would be
a desktop hard drive. Also you need to find out if the drive is proprietary
to that specific laptop or if a generic will work. Once you find this
information out, then it may be easier to decide if you want to upgrade
or buy a new or "newer" system.
There is nothing wrong with upgrading, I just gave a system I have at
the house that someone gave to me awhile back an upgrade from
Windows 3.11 640x480 VGA card to a WindowsME 1024x768 SVGA
for only $25. (<-That was for a new video card and a 1.6Gig Hard Drive)
The trick is knowing where to look. This is basically my "abuse" computer
that I affectionately have networked as "Clunker".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 11/2/2005 4:55:44 AM GMT
Yep, that's the one. After I just took the hard drive and shook it a bit, it hasn't crashed in 10 (!) minutes!
Anyway, the drives I saw for sale seemed to be the 2.5" drive that goes in my machine, so I guess I can always reserve the "new drive" path. Can you give me some detail on upgrading machines like this to, say, Win 95?
Rafael
I personally don't like upgrading laptops, only because it's easy to find yourself in a catch 22 if
you don't plan ahead.... CD-ROM drivers, bootable floppy (with CD drivers)..... does it have a
floppy? Last laptop upgrade I did, did not have a floppy or CD.....talk about a B^%&%^ (<--Bummer)
WAIT!!!
Can you boot from a floppy!!!?? if not and your system still crashes, you may have other issues
to deal with.
Secondly, If I remember right Windows95 requires about 30 Megs (minimum install). Are you sure
you want to wipe out "half" of your 60MB hard drive?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Beau:
As I said, it seems to be reasonably stable now, and yes, I only have a floppy drive.
As a result, I have not formatted the drive but I can boot from a floppy( at least I could 2 years ago).
BTW, how did you upgrade your machine with no floppy or CD?
Rafael
flyingfishfinger said...
Beau:
As I said, it seems to be reasonably stable now, and yes, I only have a floppy drive.
As a result, I have not formatted the drive but I can boot from a floppy( at least I could 2 years ago).
BTW, how did you upgrade your machine with no floppy or CD?
Rafael
You need to take the hd out, and mount in a desktop.
Then copy all the w95 floppy files to a partition that has it's own drive letter.
Then run the W95 setup from within the partiton/dir when its back in the laptop.
I have 4 old laptop hds sitting here, I will check them all and load dos 6.33 on em to verify boot.
Will get back to you with size, are you interested in any if they work?
flyingfishfinger said...
Beau:
As I said, it seems to be reasonably stable now, and yes, I only have a floppy drive.
As a result, I have not formatted the drive but I can boot from a floppy( at least I could 2 years ago).
BTW, how did you upgrade your machine with no floppy or CD?
Rafael
I have 2 laptop hds that are loaded with dos 6.22, a 63M and a 128M....
I also have 2 ThinkPad 350's that both have 6.22/Win3.11 on em, that would be good for dos programming.
Both have paperwhite grayscale lcd's, the better one has 20m ram 2 gig hd, and internal modem,and has a newer battery.
The working parts one has 4 meg ram, 128M hd with a so so lcd, and I do not know condition of battery.
Ok, I have a Seagate 2.5" IDE drive in the machine. I'm guessing that instead of the link that Beau mentined I could use Kermit file transfer program? Bob, I might be interested in those drives of yours, if the size is right.
Also, I've left it on for a few hours now and it hasn't crashed yet (a record!), so judging by that, I won't need a new drive yet, but I would still be interested, to test the Win95 thing
Rafael
Comments
Oh boy, I hope you followed a common methology of saving the data,
otherwise you will be all day until your ...
Fraid I can't help ya there..
Bob N9LVU
Robert,
·· In all fairness this code is from 1992, and I had everything backed up on Floppy Disks...But as I tell people, magnetic media eventually wears out.· As is the case.· I never thought I would need this code again or I might have recently moved it onto my main system.
·· As I was telling Spence, anyone who wants to see it will soon...I think I have it decoded.· Still whacking away at a few routines wondering to myself, "WHAT THE HECK DID I DO THERE?!?!?"· I also found one data block at the beginning that I have no idea what it goes to...I think possibly a checksum that I never implemented, but ah well.· More to come soon!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Some adresses have special meaning...
(And even more so if the interrupt register and Interrupt mode has been set)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
·· It has been awhile since I used the Z80, but I do remember all of the special addresses.· They only applied to the Start Address and the IRQ/NMI routines.· $0000, $0008, $0010, $0018, $0020, $0028, $0030, $0038 and $0066.· Those are all accounted for...In fact, here's a quick/nasty disassembly of the first block.· With added comments as to what the code is, or is doing.· Some routines weren't complete in this early template, such as the IRQ/NMI routines.
PORTA·.EQU·$00
PORTB·.EQU·$01
PORTC·.EQU·$02
CONTROL·.EQU·$03
LATCH·.EQU·$04
BUFFER·.EQU·$08
LCDI·.EQU·$0C
LCDD·.EQU·$0D
·.ORG $0000
;Load Stack Pointer
0000 31ffff··· ld····· sp,0ffffh
;Disable Interrupts
0003 f3······· di·····
;Jump To Start Location
0004 c31d08··· jp····· 081dh
;IRQ Vectors
0008 c9······· ret····
0010 c9······· ret····
0018 c9······· ret····
0020 c9······· ret····
0028 c9······· ret····
0030 c9······· ret····
;Main IRQ Jump
0038 c30001··· jp····· 0100h
;NMI Routine
0066 00······· nop····
0067 00······· nop····
0068 00······· nop····
0069 ed45····· retn···
;Main IRQ Routine
0100 08······· ex····· af,af'
0101 d9······· exx····
0102 00······· nop····
0103 08······· ex····· af,af'
0104 d9······· exx····
0105 00······· nop····
0106 ed4d····· reti···
;Unknown Data
01fc DATA $5a, $00, $00, $c6, $76
;Init I/O
0300 3e00····· ld····· a,00h
0302 d304····· out···· (04h),a········ ;Latch
0304 3a1003··· ld····· a,(0310h)
0307 d303····· out···· (03h),a········ ;Control
0309 3e00····· ld····· a,00h
030b d301····· out···· (01h),a········ ;Port B
030d d302····· out···· (02h),a········ ;Port C
030f c9······· ret····
;Init I/O Data
0310 DATA $90
;Init LCD
0311 212003··· ld····· hl,0320h
0314 cdde04··· call··· 04deh·········· ;Check Busy
0317 7e······· ld····· a,(hl)
0318 b7······· or····· a
0319 c8······· ret···· z
031a d30c····· out···· (0ch),a········ ;LCDI
031c 23······· inc···· hl
031d c31403··· jp····· 0314h
;LCD Data
0320 DATA $38, $08, $01, $06, $0c, $00
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
RoboGeek
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
There are 10 kinds of people in the world,
those that know binary and those that don't.
Formerly bugg.
www.goldmine-elec.com
www.parallax.com
www.expresspcb.com
www.startrek.com
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
You forget that the Z80 has a 'special' interrupt mode, where, when it receives an interrupt, waits for the interrupting device to place a Byte on the databus, then combines it with the Interrupt register to form a pointer. (The Interrupt register is the high part) It then reads the 16bit data found at that address and jumps to the routine it points to. This means the Z80 could in theory have 128(or more, if you're willing to fiddle with the bits) different interrupt routines...
This table can of course be placed anywhere, but is usually at a 256Byte 'Page' boundary.
The data is a bit too short for that kind, though, and I can't see any attempt to enable that mode, so...
My guess is that it's old, orphaned code.
What would it look like as disassembled code?
(Can't remember which op-code $5A would be... )
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
·· You're right, it's been awhile, but I thought it was only 8 possible combinations for IRQ address?· My memory is failing in my old age, but I thought I remembered it being $0038 if you were just using the IM MODE 1, and in the multiple interrupt mode you could use 8 different vectors/routines?· I am pretty sure there were 3 modes, but I only ever used mode 1.·
·· As for being orphande code, it's possible.· That template was actually written in 1992 because I used a lot of common code in my programs.· It is possible that there were some instructions that were left from something else.· Without the source file it will be hard to nail down, but if anyone's interested I will post the object and disassembled code for your hacking pleasure!·
·· It's merely a template with some test code in it so it could be used as-is.· If I post it I will note the hardware configuration (Which could easily be altered).· In any event, I've almost completed documentation of the routines.· The only thing I am stumped on is some memory locations I used for variables that I am trying to remember what they were for.· I wish I had my brain backed-up on disk somewhere!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Welcome tdg8934!
·· This is starting to have a familiar ring to it...Although, if you started prior to 1982 you have me beat.· I was really good with electronics before then, but had no computer until then.· But much of your experience sounds familiar/common to many who have posted here.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
I have an old Panasonic CF-1000 that I used to use for programming my stamp with the DOS editors up to a couple of months ago. Then it started displaying anti-boot symptoms: It always does a memory check at startup, and now, always, somewhere in the middle of it, the hard drive makes a weird noise and the system crashes. I don't even get to the command line. Now, I kind of like this machine and I'd hate to get rid of it. Is there anything one might do to fix it?
Of course, it' s not as old as you guys, but then I'm only 15...
Thanks
Rafael
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Try re-low-level formating of the hard drive, and re-install an op system, if that does not work, you might check the bios settings, and whether it needs a new cmos battery...
Did you try to boot to dos from a floppy drive??
I would need a description of boot sequence/results to help further...
Bob N9LVU
Does this help?
Rafael
Rafael
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Damn it. Does that mean I need to open it to see what type of drive it has in its guts?
Thanks
Rafael
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Rafael
Is this a laptop?
www.depts.drew.edu/cns/museum/
If it is, according to this is at least 12 years old and I would say that
the hard-drive has served you well.
That said, it is going to be harder to find a laptop drive than it would be
a desktop hard drive. Also you need to find out if the drive is proprietary
to that specific laptop or if a generic will work. Once you find this
information out, then it may be easier to decide if you want to upgrade
or buy a new or "newer" system.
There is nothing wrong with upgrading, I just gave a system I have at
the house that someone gave to me awhile back an upgrade from
Windows 3.11 640x480 VGA card to a WindowsME 1024x768 SVGA
for only $25. (<-That was for a new video card and a 1.6Gig Hard Drive)
The trick is knowing where to look. This is basically my "abuse" computer
that I affectionately have networked as "Clunker".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 11/2/2005 4:55:44 AM GMT
Anyway, the drives I saw for sale seemed to be the 2.5" drive that goes in my machine, so I guess I can always reserve the "new drive" path. Can you give me some detail on upgrading machines like this to, say, Win 95?
Rafael
you don't plan ahead.... CD-ROM drivers, bootable floppy (with CD drivers)..... does it have a
floppy? Last laptop upgrade I did, did not have a floppy or CD.....talk about a B^%&%^ (<--Bummer)
WAIT!!!
Can you boot from a floppy!!!?? if not and your system still crashes, you may have other issues
to deal with.
Secondly, If I remember right Windows95 requires about 30 Megs (minimum install). Are you sure
you want to wipe out "half" of your 60MB hard drive?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
As I said, it seems to be reasonably stable now, and yes, I only have a floppy drive.
As a result, I have not formatted the drive but I can boot from a floppy( at least I could 2 years ago).
BTW, how did you upgrade your machine with no floppy or CD?
Rafael
You need to take the hd out, and mount in a desktop.
Then copy all the w95 floppy files to a partition that has it's own drive letter.
Then run the W95 setup from within the partiton/dir when its back in the laptop.
I have 4 old laptop hds sitting here, I will check them all and load dos 6.33 on em to verify boot.
Will get back to you with size, are you interested in any if they work?
Bob N9LVU
i hope you meant 6.22 or i have missed a year out of my life somewhere.
73
spence
k4kep
"BTW, how did you upgrade your machine with no floppy or CD?"
As Bob N9LVU mentioned, that's one way of doing it. another way of doing it
can best be described on the following link...
www.vfrazee.com/ms-dos/6.22/help/intersvr.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Yup, 6.22
Bob N9LVU
I have 2 laptop hds that are loaded with dos 6.22, a 63M and a 128M....
I also have 2 ThinkPad 350's that both have 6.22/Win3.11 on em, that would be good for dos programming.
Both have paperwhite grayscale lcd's, the better one has 20m ram 2 gig hd, and internal modem,and has a newer battery.
The working parts one has 4 meg ram, 128M hd with a so so lcd, and I do not know condition of battery.
Contact me off list if interested...
bobn9lvu@sbcglobal.net
Bob N9LVU
Also, I've left it on for a few hours now and it hasn't crashed yet (a record!), so judging by that, I won't need a new drive yet, but I would still be interested, to test the Win95 thing
Rafael