6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Mar 28, 2024 8:15 pm

All times are UTC




Post new topic Reply to topic  [ 672 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 45  Next
Author Message
 Post subject:
PostPosted: Fri Oct 14, 2011 10:30 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8114
Location: Midwestern USA
BigEd wrote:
Good to hear about your relay computer project BDD. When I was about 10 years old I was taken to see some student projects at a local college - there was a simple adding machine project there (using a rotary telephone dial for input), which had me baffled because I had some feel for lights and switches but no idea about internal state. Those stateful switching relays would have been good for me to see and learn from.

The stepping relays to which I had access were "single motion," meaning they operated in a single axis. Telephone applications mostly used "dual motion" steppers. The first train of dial pulses stepped the relay in the horizontal axis. The second train of pulses stepped it in the vertical axis. Hence a "number" from 0 to 99 could be represented. Had I had access to a dual motion stepper, no telling what my feverish mind may have concocted!

Quote:
It seems that quite a number of people got started with training from the Navy.

I've always felt the Navy has always been the most technically oriented of the services. Ergo they had to provide a lot of specialized training to sailors in order to have an effective force aboard ship. This is especially true nowadays, with the heavy computerization of ship's systems. Back when I was in, almost everything was electromechanical.

Quote:
As it happens, I was aboard HMS Belfast yesterday and had a look at the ballistics computer - from the doorway. There are some good films online about how such things work, so I had some idea what I was looking at.

Belfast has an interesting history. Her design came out of the Washington Naval Treaty of 1922 which limited the number of and displacement of capital warships, the effect of which was to build smaller and lighter warships. She was built in the Harland and Wolff shipyard (which is in Belfast Ireland), same place where Titanic was built.

Belfast was supposed to mount 16 six inch guns in four turrets, but the quadruple turret design wasn't practical and the armament was reduced to what could be accommodated in triple turrets. That change actually proved to be beneficial, because her armor could be strengthened without exceeding the designed displacement, and more anti-aircraft gunnery could be added.

In a bit of irony, Neville Chamberlain's wife cracked the champagne over the bow right around the time her husband was negotiating a worthless treaty with the Nazis ("...peace in our time..."). By the time Belfast was launched, light cruisers were on the verge of obsolescence, and most nations were ignoring the Washington Treaty. Germany had not been a signatory to the treaty and had already laid the keel for the infamous Bismarck. Nevertheless, Belfast did well, even after being severely damaged by a German mine early in her career.

I'm one Yank who has always had an interest in British naval history. Many innovations in naval warfare, such as Admiral Nelson's T maneuver, are credited to you Brits. :) Incidentally, it was another Brit, Arthur Pollen, who proposed the concept of a centralized shipboard fire control system centered around an analog ballistic computer. Too bad the Royal Navy ignored Pollen. Had centralized fire control been installed on Royal Navy battleships, the Battle of Jutland probably would have resulted in a substantial part of the German High Seas fleet being sent to Davy Jones' locker.

And...the ballistic computer that was used on British and American warships during World War II was a sophisticated version of Charles Babbage's Difference Engine, he too being British. :P


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2011 8:24 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10760
Location: England
Interesting, thanks! (Especially interesting about displacement budget: we were speculating that weight seemed to be of little concern, but that was coming from an aviation perspective!)

(Parenthetically, in case all this should seem too far off-topic - for me, this "introduce yourself" topic is a good place for some social bonding as people come to the forum. Not only how we first met the 6502, but also what other kinds of technology we're familiar with, or grew up with. What teacher, or uncle or aunt, or mentor brought something inspiring to our attention. What organisation, institution, decision or discovery changed our lives.)

By the way, I was delighted to hear that railways had 6502-based journey recorders! I recently learnt that Babbage himself made such a thing and recommended that they should be mandatory. (Read on a few pages for a narrow escape.)

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2011 4:54 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8114
Location: Midwestern USA
BigEd wrote:
I recently learnt that Babbage himself made such a thing and recommended that they should be mandatory. (Read on a few pages for a narrow escape.)

What Babbage was describing was what we would nowadays call a track geometry car, although he also included elements of the modern dynamometer car. The guy certainly had a head on his shoulders.

BTW, I got a laugh out of the passage where the banker laments about how his clerks will steal him blind and hop the next train to Liverpool to escape to America. My general impression of the banking business is that it is they who are the thieves. :lol:


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2011 7:43 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Hello. My name is Samuel A. Falvo II, and my amateur radio callsign is KC5TJA/6.

My first computer was a TRS-80 Model I, after which I upgraded to a Commodore 64, then to an Amiga 500 (which I still have through a very odd twist of fate!), and then to a 386SX/16 PC and it's been all down-hill ever since.

My current interests include Forth software and especially hardware systems, particularly Forth-based microprocessor hardware. I'm currently working on an FPGA-based homebrew computer based in principle upon the Jupiter/Ace computer but with other influences thrown into the mix as well. The project is taking far, far longer than I'd like to admit because of writer's block, but maybe someday, I'll have live hardware to demo.

Other interests include, quite briefly, Aikido, rejuvenating interest in amateur packet radio, astronomy, my girlfriend and her hobby of falconry, bicycling, astronomy, physics, programming languages, operating systems, and more.

I do not normally post here. Like a band member who couldn't handle the fame, I found my relationships with others here too stressful for me to justify being here. However, similarly like a long-time former band member, I've been convinced by original band members to join the crew on the stage once again for a brief reunion tour.

So here I am. For now, at least. :) I'll disappear again, eventually, as other projects claim priority on my time.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2011 7:44 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
HAHA! Welcome back man!!!!

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2011 4:14 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10760
Location: England
Yes, welcome back, both to Samuel and to Toshi!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 18, 2011 8:00 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8412
Location: Southern California
Wow, Samuel sure went modest, ie, did not say nearly as much as he could have. That man is an expert in operating systems and has more languages under his belt than you can shake a stick at. He's a professional programmer. And it's a huge understatement to say that Toshi's experience listed above is very impressive.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 19, 2011 1:36 am 
Offline
User avatar

Joined: Thu Mar 11, 2004 7:42 am
Posts: 362
The computer lab in my elementary school had Apple IIs and that was my introduction to the 6502 and computers in general. I picked up BASIC over time, and typed in various programs from books and magazines, but I spent a lot more time running my mouth than actually producing anything interesting or noteworthy. However, my masterpiece of youthful mischief came a bit later when I was in junior high. I can still remember all 10 bytes of it:

Code:
300: 2C 30 C0 A9 06 20 A8 FC F0 F6


On the Apple II, that produces a 2643.7 Hz square wave tone on the speaker (or roughly the E a little more than 3 octaves above middle C). I soon discovered that this tone had a rather diabolical property; specifically, it annoyed everyone but me. Things escalated quickly when I got the idea to run this on some, but not all, of the computers in the room. Someone would walk in. "What is that noise?" I did not admit to hearing anything. "It sounds like it's coming from this computer". They press reset. "That wasn't it. Maybe over there." Reset. "No, it sounds like it's that one over there." Reset. And so on. Of course, I was the only suspect since my vast amusement at the situation was a dead giveaway, but the fact that the program was so short meant that I could type it in on several computers quickly from memory. Which in turn meant that there was no evidence, neither eyewitnesses, nor tell-tale disks. In short, I was never indicted. :)

These days, the 6502 (and the Apple II family) remains a hobby, of course. Here at 6502.org, I spend a lot more of my time running my mouth than actually producing anything interesting or noteworthy (perhaps you've noticed :)). For those of you who lack the good sense to avoid my output here (the articles, The One Page Assembler), my condolences. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 19, 2011 3:01 am 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
Good to see you Sam and dc back once again. Dc: thanks on the bit twiddle trick which makes the pinball flags go nicely :)

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 19, 2011 5:19 am 
Offline

Joined: Sun Nov 08, 2009 1:56 am
Posts: 384
Location: Minnesota
Not as old as some nor young as others, I got bitten hard around the time the Commodore 64 and the TI-99/4A were duking it out in the marketplace (Apple being completely out of my price range). After much consideration of factors I really didn't know much about, I bought a C64.

Much experimentation followed as I tried to teach myself enough to earn a living as a programmer. Software was hard to come by in those early days - I was visiting relatives in California when I came across a HESMon cartridge that, together with Leventhal's "6502 Machine Language", I used to learn 6502 machine language.

The first "big" 6502 program I wrote - 3K! - was a terminal emulator for a Control Data Magnavox. Maggies had a 512x512 pixel orange monochrome plasma display, a 16x8 pixel characters (so 32 rows of 64 characters each), 16x16 block touchscreen capability, downloadable character sets, built-in line drawing primitives, and could communicate at up to 1200 baud.

It turns out the store I bought my C64 from was owned by three guys from Control Data, and they provided all the internal documentation I needed to understand the telecommunications protocol. There was a similar program for the Atari that Control Data called "The Learning Phone", and these guys figured the future was microcomputers and wanted more emulators out there.

They were right, but Control Data was dead set on selling the PLATO system as educational when their own internal statistics showed that users spent the most time playing games, including some of the first graphical multi-user dungeon crawlers. Nothing ever came of the "C64PAD" via Control Data, but I did sell a number of copies, mainly to colleges and universities running PLATO systems. The furthest was to Australia, revelling at the time in their America's Cup win. They needed a change to provide very asymmetric upload/download speeds which caused me to learn even more about the Commodore software UART.

There's still a small active PLATO community at http://www.cyber1.org running PLATO software on a Cyber emulator. I use it to play 'Moria', one of those early graphical dungeon crawlers (and written by Kevet Dumcombe, one of the three owners of that shop. Don't get Kevet mad; he'll put you on level 61, the one with no stairs out...). I think about adapting "C64PAD" to Contiki, but other projects have put this on the back burner for now.

After that I wrote a BASIC extension, naturally The Finest Of Them All. It hid under the BASIC ROM and stashed a bitmap screen under the Kernel ROM, so all the extras it provided took nothing away from what was already there. If an extended BASIC program was concatenated to a copy of the extension, the extension would move the BASIC program to its normal position as part its own initialization and then start executing it. This was a feature I did not document but was going to tell anyone who registered a shareware copy.

Well, y'all are the first to hear about it.

But the BASIC extension was what I used to prove to Robert Woodhead that I knew what I was doing, so he invited me to lovely Ithaca, New York for a few months to port the "Wizardry" series of fantasy RPGs to the C64. Robert, you see, had access to a PLATO system as a student at Cornell and, along with Andrew Greenberg, figured a single player microcomputer version of one of these graphical dungeon crawlers would sell.

"Wizardry" was written in UCSD Pascal, in large part because its overlay capability allowed a game larger than would fit in memory at once. But Robert and Andrew didn't want to license it any more, and instead wanted a p-code interpreter developed in-house that would let them port the game to any 6502-based machine with no more fees.

The big technical challenge for the Commodore version was of course the slow 1541 drives. The floppy-to-disk-drive-memory speed is actually fairly decent, about 50K/sec. The disk-drive-memory-to-computer-memory speed is atrocious, about 400 bytes/sec. So I had to develop a fast-transfer scheme, complicated a bit by the fact that I used a text screen rather than a bitmapped one. The VIC-II keeps shutting down the 6510 for 40 cycles every eight visible scan lines to fetch 40 character bytes, so I had to figure a way around that. IIRC I got the speed up to 2K/sec or so, which mades things tolerable.

"Wizardary" is the project where I finally learned how to use macros on my trusty Merlin assembler. Using them saved enough source space that I managed to delay the time I had to move to disk-based assembly (slow drives, again). Then I realized how handy macros are at simplifying source and reducing coding errors as well.

I also learned conditional assembly by using the basically the same source for a C128 version, which takes advantage of the larger memory and faster 1571 drives (so every Commodore version of "Wizardry" has always come with two p-code interpreters, one of which auto-boots on the C128).

The next project I worked on was a Commodore version of a game called "Captain Power". "Captain Power" was a children's television character designed as a one-season merchandising vehicle. Keypunch Software bought the rights to computer games based on the character, and I wrote a "Defender" clone for them. I learned about split screens and side-scrolling here (I've seen mention of using an off-screen sprite to get a stable split screen. I dunno. I noticed that the ROM routine to fetch a character from the keyboard input buffer disables interrupts, and when I re-wrote that to eliminate interrupts my split screen became rock solid).

After that I had to get a Real Job, and my programming has basically been on a hobbyist level ever since. I did have a C-language article about flood fills published in this phase, which solved a problem I'd been tossing around for a few years and is probably the only completely original idea I've ever had. It also paid enough to buy a nicer video card for my PC.

I've been tinkering with my "HXA" assembler for quite a while now, and eventually I hope to do something "useful" with it. I've been pondering Yet Another BASIC, the twist on this one being that it would be customizable in the sense that every keyword could be conditionally assembled in or out. That would be the different part; everything else would be stolen from Microsoft and Atari and BBC and yes, Eh BASICS. :D

OTOH I've been struggling for weeks now in my spare time trying to get a handle on CSS (every time I think I've figured it out somehow the display gets changed to something I don't expect). So it could be a while.


Top
 Profile  
Reply with quote  
 Post subject: Stupid Computer Tricks
PostPosted: Wed Oct 19, 2011 5:24 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8114
Location: Midwestern USA
dclxvi wrote:
However, my masterpiece of youthful mischief came a bit later when I was in junior high. I can still remember all 10 bytes of it:

Code:
300: 2C 30 C0 A9 06 20 A8 FC F0 F6

That would have driven me bonkers, especially a high E like that. I would have been running around pulling plugs. :)

It reminds me of a little prank I once pulled in a computer store shortly after the Commodore 128 went on sale. The store had a C-128 on display, hooked to a monitor and running. Earlier in the year, I had received the C-128 developer documentation from Commodore, so I was pretty familiar with what was under the hood.

Those who know the 128's architecture know about a vector at $1FFF8, which reset jumps through. The vector was made available for a program to patch into the latter part of the reset sequence to regain control in the event the user resets or hits Stop/Restore (Restore generates an NMI and with Stop, causes the 128 to jump through the BASIC cold start routine). Along with that vector is a signature string that tells the reset code that the vector is valid.

Now, if the signature is intact and the vector is pointed to something other than the default location in the kernel ROM, almost anything in RAM0 can be executed following reset, and can be made to seize control of the machine no matter how much keyboard pounding and swearing takes place. So I entered the resident monitor and wrote some code that printed "You can't stop me." on the screen in flashing characters and repeatedly called BSOUT with BEL characters (causing the SID to constantly emit an annoying chime sound). Having done that, I hand-edited the vector at $1FFF8 to point at my routine and hit the reset button.

Naturally, the machine starting printing "You can't stop me." and incessantly beeping. Once I was satisfied with my handiwork, I casually wandered over to a software display close by the 128 and waited.

Sure enough, someone wandered by and saw what was going on. He, in turn, called over a store employee, who stood there staring at the 128 trying to figure out what had gotten into it. Finally, he hit Stop/Restore, expecting everything to go back to normal...which it didn't. He banged away at Stop/Restore several times before deciding that no response was forthcoming.

So he reached around the side of the 128 and pressed the reset button. Everything froze for a second, the screen cleared, the CBM power-on banner appeared and then..."You can't stop me." and lots of beeping and tweeting. Both the employee and the other guy, who evidently was a customer, stood there slack-jawed, thinking the 128 must've developed a fatal hardware problem.

After a few seconds of "You can't stop me." scrolling down the screen, the employee pressed reset and this time held it in for a few seconds, obviously thinking he hadn't caused a full reset the last time. To no avail. He walked away, and a few minutes later, an attractive woman who was about my age came over with him and they stood there looking at the berserk 128. I happened to notice her name tag said Maureen and that she was an assistant manager, which of course, meant she was qualified to straighten out whacked-out computers. :)

She presses the reset button several times in quick succession, with the same results as before. "You can't stop me." kept scrolling down the screen and that damned chime was dinging away. After watching it for a few minutes, she opines that the computer must be defective. They stand there discussing what they should do about it. After all, this was the display model, which was doing a lot of unwanted displaying, and how can you sell C-128s when the display model is obviously on the fritz.

Finally, I came over to see what was the matter and, knowing of course the nature of the problem, nonchalantly suggested maybe powering off the computer and then back on would fix it. I didn't, of course, mention that it has to be off at least 5 seconds for all RAM contents to fully bleed off. So Maureen, the good-looking assistant store manager, flicked off the switch and immediately flicked it back on. Power-on banner, followed by, you guessed it, "You can't stop me."

I had to compliment her on her composure. Most women I know would have had a screaming hissy fit and, in the case of a particular former lady friend of mine, would have ripped the 128 right out of the display and hurled it through the store's front window. Not Maureen. She stared at it for a second and then told the employee to go in back and get another 128. He disappeared and she drifted over to where another customer was standing. I waited until her attention was diverted, powered the 128 off long enough to assure all RAM had cleared and fired it up again. Having done so, I went back over to the software display and observed.

A few minutes later, the employee came out with a 128 in the box, went over to Maureen and the two came over. The look on her face was priceless when she saw the CBM banner and the Ready prompt, followed by a flashing cursor. Her mouth opened and closed a couple of times without any sound coming out and the employee was standing there scratching his head. Finally she told him to put the 128 back, at which time I decided I had better talk to her before she decided to make an appointment with a shrink.

At first she didn't believe me, so I went back into the monitor while she watched, reentered my code (not much to it), changed the vector at $1FFF8 and exited the monitor. I asked her to press reset, which she did. Naturally, "You can't stop me." started up. She started laughing and then asked me if I could program it to continuously print a store message.

Now, as I mentioned, she was pretty attractive, and I was unattached at the time. So I told her I'd do so if she would accept a dinner date...which she did. So stupid computer tricks can be useful at times.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 22, 2011 8:28 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
It's true to an extent, I suppose.

My direct experience covers several AmigaOS-like kernels for a wide variety of processor architectures, including x86. I even worked for Amiga, Inc. for a time. I've studied a number of OS technologies since then, of course, but due to the ever-increasing popularity of Linux, which is already written, my experience with memory-protected OSes remains largely theoretical. As my Kestrel series of designs evolves, I hope to change that.

Speaking of which, the Kestrel-2 lives. OK, it's in an emulator at the moment, but its very first system firmware is working as of . . . right now. An overly simplistic machine language monitor, weighing in at 187 lines of Machine Forth code, including video driver, keyboard driver, Commodore-inspired screen editor subset, and logic to save and restore CPU state, despite the J1 not having a whole lot of support for doing so. All in all, I'm quite happy with the results, and will be presenting it at SVFIG tomorrow.

The original Kestrel-2 design involved the 65816 microprocessor; however, the current design relies on the J1 Forth-CPU.

I think, but am not yet sure, the next step is to get live hardware running, in the form of an FPGA. Alternatively, I could pursue implementing a real Forth system to replace the simplistic ML monitor. I'd rather work on the hardware though -- I think I need a break from the software side of things.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Nov 05, 2011 5:05 pm 
Offline

Joined: Fri Nov 04, 2011 9:51 am
Posts: 8
Location: France
Hello,

My name is Philippe Elie, from Paris, France, and just registered :-)

My first contact with a computer was probably in my dad's office in the IBM lab in La Gaude in the seventies, I was 10-14 back then. These beasts were programmed in a special flavor of PL/I, APL and assembler. After some time, I had the opportunity to develop a FORTH-like interpreter on a RISC based machine. I also programmed a space invaders game that generated some interest from the IBM team, the processor being aimed at reading checks and CMC7 magnetic characters !

My first own "computer" was a TI-58C, certainly not a power monster, but I think it was a good school to learn to deal with memory limits and CPU (lack of) speed. At the university, I had the opportunity to develop on CBM and Apple II, using Basic (the goal was to study "ergodicity", chaos theory, that kind of stuff, the computers were running nights long to produce simulations…), and did some system hacks in assembly code on a Mitra-15 (a French mini computer used to teach computing in 15-people groups).

One of my internships was aimed at developing a hard-disk sound recording system based on a PC/XT with a 10Mb drive (it was around 1984-85). I was instructed this would be programmed in BASIC but I shortly discovered that, for performance reasons, I would have a rewrite the DOS entirely to make it work in real time…. which I finally did, implementing those FATs, clusters, directory stuff in a more optimized way. Quite a good fun !
In parallel, I got a Sharp PC-1500 pocket computer, wrapped a memory expansion board for it, a MIDI interface, and developed (again) a FORTH compiler.

Now, I am 49 and despite I moved from engineering to sales years ago, I still like to take my soldering iron from time to time, and play with old computers I could not afford at that time. I now have most of HP's HP-41 and HP-IL peripherals in working order, an old Mac Classic, some other stuff… plus a KIM-1 !!

I bought the KIM one month ago from a retired teacher, a great guy with whom I spent a full day chatting about our common passion ! I also got a 4K RAM expansion and an I/O board from Bob Applegate that allows me to connect the KIM to a PC over RS232 and a USB adapter.

I'm glad to see this forum is alive ! I currently have quite a lot of difficulties having Tiny Basic run on my KIM. I got the files from IttyBitty site, spent hours loading them, relocating them, converting to Tape, to no avail. Hopefully I will be able to get some advice from one of you guys !

Kind regards,

Philippe


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Nov 05, 2011 7:55 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10760
Location: England
Welcome - good to hear your story! Please post some symptoms or observations about your BASIC troubles in the General Discussions area and you will surely get some help.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Welcome to the Frenchman
PostPosted: Sat Nov 05, 2011 9:38 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8114
Location: Midwestern USA
philippe_elie wrote:
Hello,

My name is Philippe Elie, from Paris, France, and just registered :-)

Now that you're part of the 6502.org "family" you have an excuse to design and build something from scratch. :lol: However, that old KIM should keep you amused for a while.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 672 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 45  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: