6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed Nov 20, 2024 2:11 am

All times are UTC




Post new topic Reply to topic  [ 32 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Sun Dec 04, 2016 5:45 pm 
Offline

Joined: Mon Mar 25, 2013 4:43 pm
Posts: 15
Location: Arizona
Got my L-Star+ built. It went together easily in one sitting. I loaded the Apple 1 SRAM firmware using the propeller tool. On power up, the Propeller is fine, and I get the welcome message and the ROM size message. The computer recognizes the keyboard space bar properly and the video works fine on my vintage Apple monochrome monitor.

But I get no response from the 6502 - just a repeating lowercase 'p' character over the serial console and also the monitor. I've rechecked all the solder joints - not saying I could not have made a mistake, but after about 5 checks, don't see any.

I tried another WDC 65C02 I have, no change. Another SRAM I have, no change. The frequency of the repeating character varies with clock speed - I tried slowing the clock to see how that affected it.

Interestingly, the behavior changes depending which ROM .bin file I use. The AppleSoft file does not give me the repeating character. So I'm leaning towards it being software related. I have not yet tried the other emulated machines yet. Going to ride my bike for a while and see if it fixes itself ;)

-G


Attachments:
lstar.jpg
lstar.jpg [ 3.56 MiB | Viewed 1245 times ]
Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 7:33 pm 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
This morning I completed the l-star build, cleaned up the board with isopropyl alcohol, and put all the IC's in their sockets. I then installed the Apple1SRAM firmware and while the Propeller chip responded as expected, the 6502 did not. So I tried the Apple1 firmware and everything seems to work.

Overall it was a simple build and a really compact 6502 computer. It makes me wonder what we could do with the expansion port. I used my DMM to check the pins and it looks like ground and V3.3 are available, but Vin and V5 are not. I imagine most of the other pins are the data, address, and control pins. So any boards probably need their own address decoding logic and possibly power supply if they need 5 volts.


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 9:26 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
GunPilot wrote:
Got my L-Star+ built. It went together easily in one sitting. I loaded the Apple 1 SRAM firmware using the propeller tool. On power up, the Propeller is fine, and I get the welcome message and the ROM size message. The computer recognizes the keyboard space bar properly and the video works fine on my vintage Apple monochrome monitor.

But I get no response from the 6502 - just a repeating lowercase 'p' character over the serial console and also the monitor. I've rechecked all the solder joints - not saying I could not have made a mistake, but after about 5 checks, don't see any.


For the Apple 1 SRAM project, you need to change the jumpers to connect !RAMEN to P27. See the picture.

Attachment:
2016-12-04 13.17.07.jpg
2016-12-04 13.17.07.jpg [ 3.12 MiB | Viewed 1233 times ]


I admit, the documentation is lacking on this (I should write a README). The "hardware.spin" module of the Apple1SRAM project has a diagram that shows how to connect the jumpers.

In the picture, I just parked the fifth jumper on the P27 header on the bottom right; you could leave the jumper off, too.

Sorry about your bad luck. If you would have tried the regular Apple 1 project first, it would have worked.

Hopefully it doesn't keep you from playing with it, and discovering stuff (I'm taking notes to improve my documentation). And congratulations on posting the first ever picture of L-Star that was not taken by me :-)

===Jac


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 9:49 pm 
Offline

Joined: Mon Mar 25, 2013 4:43 pm
Posts: 15
Location: Arizona
Quote:
Hopefully it doesn't keep you from playing with it, and discovering stuff (I'm taking notes to improve my documentation). And congratulations on posting the first ever picture of L-Star that was not taken by me :-)

===Jac


Great! I'm glad the fix is that easy. No problem - I figured it was fixable. I'm excited to play with it!

-George


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 9:58 pm 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
@Jac, it's a neat kit and I understand that we're in the beta testing phase. But as you update the website you might want to consider the following:

A PDF of the schematic for people who just want to read it, and don't have the board design software.

An image of the pin out of the expansion header.

An image of common jumper settings, and an explanation of how they alter behavior.

The design is so compact that I can envision Arduino like expansion cards, or an adapter that lets you attach it to the ECB bus the Retrobrew computer group uses.


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 10:57 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Martin_H wrote:
This morning I completed the l-star build, cleaned up the board with isopropyl alcohol, and put all the IC's in their sockets. I then installed the Apple1SRAM firmware and while the Propeller chip responded as expected, the 6502 did not. So I tried the Apple1 firmware and everything seems to work.


See my previous answer above: you need to jumper !RAMEN to P27 to use the SRAM chip. That disconnects P27 from KBCLK so it introduces the minor inconvenience that you have to attach the PS/2 keyboard and hit a key to get started, unless you change the software. But it gives you 32K of RAM which is the same as the Replica 1.

Quote:
Overall it was a simple build and a really compact 6502 computer. It makes me wonder what we could do with the expansion port. I used my DMM to check the pins and it looks like ground and V3.3 are available, but Vin and V5 are not.


V(in) is not available on the header, but 5V is available on pin 11. See the schematics at https://github.com/jacgoudsmit/L-Star/r ... atic-5.pdf.

Sorry about the absence of V(in); I considered adding it to the expansion header when I changed it from 40 pins to 50 pins but I just couldn't imagine it being useful enough, and I would have to route a wide trace all the way around the circuit board and especially in the power supply area, space is already tight. There are other reasons too, such as grounding, and the possibility of simplifying the kit by removing the 5V regulator and requiring a 5V power supply input (e.g. from a USB charger or from widely available 5V power bricks.

As for ideas for the expansion bus: I designed the expansion port to have all the necessary signals that you could ever need. There are only a few signals such as the brown-out detection input on the Propeller and the Vector Pull output of the 65C02 that are not routed to the expansion port because hardly anyone ever uses them.

The expansion port even has connections to the PS/2 keyboard and video output connectors, so in theory it's possible to put all the jumpers on an expansion board (or better: let the expansion board be the jumpers: it can connect the necessary pins by connections on the PCB).

It's possible to put a microcontroller with a USB port on an expansion board, and use it to replace the Prop Plug. By connecting some GPIO pins of that microcontroller to the PS/2 connector on the motherboard, it can even be used to translate PS/2 keystrokes to serial traffic, and have two more pins available on the motherboard (e.g. to control the full 128K of the SRAM chip).

It's also possible to create a computer with color video by putting a 6845 (in a configuration like the Color Graphics Adapter), a 6847 (in a configuration like the TRS-80 Color Computer) or a TMS9918 (in a configuration like it was used in MSX computers) on the expansion board, and route the output to the RCA socket on the motherboard. That would free up the P25 pin on the motherboard, which can then be used as the output of a software-defined address decoder.

Or if all three I/O lines are not in use for direct video output, direct SRAM control or direct PS/2 keyboard input, it's possible to implement a simple high-speed protocol to control the configuration of any hardware on expansion boards. For example, it could be used to send and receive high-speed data when emulating storage devices, or to control the configuration of some sort of programmable address decoder ("TBD") or to communicate with other microcontrollers that are on the expansion board.

Quote:
I imagine most of the other pins are the data, address, and control pins. So any boards probably need their own address decoding logic and possibly power supply if they need 5 volts.


With the 6502 bus connected directly to the Propeller, there are only 3 pins available for I/O. When using just the motherboard, it's possible to use monochrome 1-bit video and a PS/2 keyboard which is enough in most cases. The lower 64K of the SRAM chip can be used with a small bit of sacrifice: you have to use the 1-pin keyboard interface which makes the lights on the keyboard not work and you have to hit a key to measure the speed (I think it may be possible to make speed measurement unnecessary). The entire SRAM chip can be used if you are able to give up the keyboard or the video output (e.g. use only the serial port).

That's a lot of compromises, but because the expansion connector is designed the way it is, it's possible to add extra hardware to e.g. generate color video and/or use the keyboard without the limitations of the one-pin driver, and use the three I/O lines either as the output of software-defined address decoders, or as communication lines to control the expansion hardware. Hopefully you agree that this still gives you many possibilities to make the project useful, regardless of whether you want just an Apple 1 Replica or you want to design your own system.

My task is to make all those possibilities clear, but it will take a while before I can get all the information online on the l-star.org website.

===Jac


Last edited by jac_goudsmit on Sun Dec 04, 2016 11:23 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 11:04 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Martin_H wrote:
@Jac, it's a neat kit and I understand that we're in the beta testing phase. But as you update the website you might want to consider the following:

A PDF of the schematic for people who just want to read it, and don't have the board design software.

An image of the pin out of the expansion header.

An image of common jumper settings, and an explanation of how they alter behavior.

The design is so compact that I can envision Arduino like expansion cards, or an adapter that lets you attach it to the ECB bus the Retrobrew computer group uses.


Thanks! I'm planning on a PDF version of the instructions, I just haven't gotten to it yet. I don't like the order in which I mounted the components in the instructions on the l-star.org website: I should start with the power supply and LED to get something "up and running" as quickly as possible, and so it's possible to check for a power-ground short as quickly as possible because those are SUPER hard to find, as I discovered here.

Your other suggestions will also be taken to heart.

===Jac


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 04, 2016 11:14 pm 
Offline

Joined: Mon Mar 25, 2013 4:43 pm
Posts: 15
Location: Arizona
Set the jumpers, reloaded everything, and up popped the Woz monitor! I admit not recognizing it at first due to its minimal nature ;) The 6502 is running for sure now. I think it was before too - I saw the "\" prompt among all the other characters but didn't recognize it for what it was. Now to find out where the BASIC interpreter lives ;)


Top
 Profile  
Reply with quote  
PostPosted: Mon Dec 05, 2016 12:51 am 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
GunPilot wrote:
Set the jumpers, reloaded everything, and up popped the Woz monitor! I admit not recognizing it at first due to its minimal nature ;) The 6502 is running for sure now. I think it was before too - I saw the "\" prompt among all the other characters but didn't recognize it for what it was. Now to find out where the BASIC interpreter lives ;)


Awesome! Now you have it working, it works mostly the same as a Replica 1 by Briel Computers. By default, it uses a ROM image with Woz Basic, Ken Wessen's Krusader (the 65C02 version) and a slightly modified Woz mon. You can change the ROM by changing the file name in the Apple1.spin file to "AppleSoftBasic.rom.bin" which contains Microsoft Basic and Woz mon.

To run Basic with either of the ROM files, use the following command from Woz mon: E000R

To download software from, and upload software to the Apple 1 emulator, you can use the Woz mon in combination with a terminal emulator on a PC (or Mac or Linux, whatever you like). Set your terminal emulator to 115200 bps, 8 databits, 1 stopbit, no handshaking and log the output to a file while you use Woz mon to dump memory. You can send the result back to the Apple 1 later while it's running Woz mon again, via the same terminal program. There is lots of documentation and sample software on the Brielcomputers forums and elsewhere. Vince distributes a zip file here which also contains various manuals.

Note: The Apple 1 Basic written by Woz is a little wonky, but that's the charm of it. For example if your program doesn't end in an END instruction, it will generate an error. If you use AppleSoft Basic, the features should be very similar if you've ever used one of the other Microsoft Basic interpreters from that time (for example, PRINT can be abbreviated as '?'). Just keep in mind that it was written for terminals with paper (not a screen) as output device, so you can't use cursor keys to edit your basic lines: use the '@' key to start over on a line, and use the '_' key is used for backspace. For example, if you type 10RPINT and haven't hit the Return key yet, you can hit '_' five times to fix your mistake: 10RPINT_____PRINT"HELLO" will look like 10 PRINT"HELLO" in a listing.

Another important thing: In Woz basic the output from the LIST command can't be fed back into the Basic interpreter because it generates additional formatting (including line breaks and indents) to make it look nicer. To save a Woz basic program, you have to go to the Woz monitor, inspect a couple of locations in RAM to find the end of the program and dump the appropriate locations by typing a command such as "0000.7FFF" (that sample command dumps the entire lower 32K). The AppleSoft / Microsoft interpreter doesn't format the list output so you can save it to a file without leaving the Basic interpreteter, by using your terminal emulator and "log to file" or whatever. Then later you can feed that file back to the Basic interpreter (after a NEW command) to load a program again. That's how it was done in the days of Teletypes and paper tape :-)

To use Ken Wessen's Krusader (an interactive assembler/disassembler that was written for the Replica 1), use the following command from Woz mon: F000R

For more information, see http://school.anhb.uwa.edu.au/personalp ... usader.htm (the ZIP file on Vince Briel's website also contains a manual, but I think it's slightly outdated).

===Jac


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 06, 2016 1:55 am 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
I uploaded a video describing my L-Star and showing it running an Apple I program I entered via the Woz monitor and Tera Term:

https://youtu.be/jTr_KjSwjuE

@Jac I hope I pronounced your name right!


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 06, 2016 3:47 am 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Martin_H wrote:
I uploaded a video describing my L-Star and showing it running an Apple I program I entered via the Woz monitor and Tera Term:

https://youtu.be/jTr_KjSwjuE

@Jac I hope I pronounced your name right!


Awesome video! Thanks for posting! That just made my day. I hope there's more to come.

That demo with the digitized photos is great to show off the Apple 1 (I know from experience :-) ). You should put a link to it in the video description. Just now, I tried to find it on Google but it's just giving me dumb looks...

Don't worry about the pronunciation of my name; not even my wife gets it right. You were pretty close on the first name (it sounds like "Shock"), the second name sounds like "Gowd Smitt" (the "ou" is pronounced the same as in "about") but to pronounce the G right you would have to live in the South of the Netherlands or Belgium :-)

==Jac


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 06, 2016 2:53 pm 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
jac_goudsmit wrote:
Awesome video! Thanks for posting! That just made my day. I hope there's more to come.

That demo with the digitized photos is great to show off the Apple 1 (I know from experience :-) ). You should put a link to it in the video description. Just now, I tried to find it on Google but it's just giving me dumb looks...

Don't worry about the pronunciation of my name; not even my wife gets it right. You were pretty close on the first name (it sounds like "Shock"), the second name sounds like "Gowd Smitt" (the "ou" is pronounced the same as in "about") but to pronounce the G right you would have to live in the South of the Netherlands or Belgium :-)

I'm glad you liked the video. I plan to try a software project in the near future, so hopefully I will be ambitious enough to document it.

I followed your suggestion and added the program link to the description. Here's where I got it from:
http://www.applefritter.com/node/24600#comment-60100

Good to hear I was close enough on the name, but thanks for the phonetics.


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 06, 2016 5:03 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Martin_H wrote:
I followed your suggestion and added the program link to the description. Here's where I got it from:
http://www.applefritter.com/node/24600#comment-60100


That's it! I knew it was on a2central or applefritter but I tried looking for variations of "30th anniversary demo download" but I guess Google just didn't associate that with a blob of hex characters and the title "APPLE30TH.TXT". :-)

I'm anxious to see what software project you have in mind!

===Jac


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 07, 2016 2:02 pm 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
Slightly crazy idea. What would happen if you put a 65C816 in the L-Star? The pinouts are similar enough that with a few jumpers tying some previously NC pins high it might just work.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 07, 2016 10:15 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Martin_H wrote:
Slightly crazy idea. What would happen if you put a 65C816 in the L-Star? The pinouts are similar enough that with a few jumpers tying some previously NC pins high it might just work.


Not THAT crazy :-)

It's certainly possible to put a 65C816 DIP chip (The link is the Mouser product page of the DIP version; the picture on the page is wrong) into the 65C02 socket and make it work; I think the pins that I don't use are extra outputs on the 65C816, used for more complex systems e.g. with multiple processors. So you won't have to cut any traces on the PCB and I don't think you would even need to solder any of the unconnected pins unless you want to make something complicated (in that case you can always build the L-Star circuit on a breadboard or veroboard, it's not that complicated).

However, I'm not sure if it will "just work": the 65816 multiplexes the address bus with the data bus so during Phi1, instead of putting the D0-D7 pins in high-impedance mode (like the 6502 does), it puts the high 8 bits of the address onto D0-D7. It may be necessary to touch up the Propeller firmware in a few places if you're going to use some of the existing firmware; obviously I didn't design it for a 65C816.

That said, it should probably be pretty easy to create a 65C816 system with a simple I/O system (e.g. emulating the Apple 1 PIA module and using the serial port). I could modify the SRAM control module from the Apple 1 SRAM project so that it reads D0 during Phi1 and interpret it as A16 to do a lookup in the internal table to enable the RAM chip via P27 (jumpered to !RAMEN). It would also put the A16 bit onto P25, which would be jumpered to A16 of the SRAM chip.

That gives me an idea: you could build an expansion board with another 128KB SRAM chip and pretty much nothing else, and run another cog generating the Chip Select for this chip on P26 (it would also use tap into P25 for A16).

Or you could put some address latching/decoding logic on an expansion board and add the biggest DIP SRAM chip available (as far as I know) which is 512KB: the AS6C4008-55PCN. Or more than one, they're not that expensive. I'm going to think about this idea for a while because it might be fun to run Fuzix on a system like that.

Attachment:
65C816_0.png
65C816_0.png [ 802.85 KiB | Viewed 1138 times ]


Too bad it would still have to run the 65C816 at 1MHz though, but I have some ideas to fix that. It may be possible to run the clock at (say) 4MHz for any areas that don't have to be monitored by the Propeller.

Anyway... I would like to get more documentation online and I would like to emulate some more existing systems like the PET and the Hob-bit (Acorn Atom). Also there's still no ACIA emulation for the OSI so I need to finish that. Those are my highest priorities right now. Feel free to run with the ideas, though!

===Jac


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

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 2 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: