C64 Screen demo...
Bamse
Posts: 561
Just the startup screen from the good old Commodore 64...
Brings back a lot of memories...
I'll leave it up to someone else to implement the rest of the C64 functionality...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
Brings back a lot of memories...
I'll leave it up to someone else to implement the rest of the C64 functionality...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
Comments
I'm away from a prop at the moment, but looking at your spin code, do I see an entire CBM font there?
Can't tell..
I'm working on a full-screen editor based on the functionality of the 64.. Someone want to write a VIC emulation?
<smirk>
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with the Protoboard? - Propeller Cookbook
Got an SD card? - PropDOS
A Living Propeller FAQ - The Propeller Wiki
(Got the Knowledge? Got a Moment? Add something today!)
It's the 128 chars from Set1, I don't think all 256 chars will fit since it's placed in a cog.
However I can prepare Set2 (the one with lover case) and post it if you want them.
All you need to do is cut and paste the set you like into your code...
Or put it in main memory, it should be able to hold all 256 chars.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
Would that need the 4 colour character and sprite modes too?
and not forgetting $d020 ?
you gonna develop it more and add the sprites? or the 4 colour characters also?
The plan was to make a driver with a setting for the border ($D020) and then a color map for character color and background per character.
However I ran out of cycles in the driver when I tried to add the color map.
So now I have to learn how to write a video driver that uses more than one cog...
There are no immediate plans for sprites or 4 color chars right now.
All I need for the Gridrunner driver is the color map.
But once I get the Gridrunner game done, I would like to implement Sprites, 4 color chars and smooth scrolling...
I have also attached the two sets of chars for C64, I'm using set 1 for the demo...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
The only problem I can think of is doing multiplexing since with a multicog render will be rendering different scanlines at different times. Other than though it should be cake.
last night... (of course I was pretty tired, so I might have missed something.)
Should have just been a matter of changing speeds, three video pin settings, and tvport settings.
What did I miss?
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with the Protoboard? - Propeller Cookbook
Got an SD card? - PropDOS
A Living Propeller FAQ - The Propeller Wiki
(Got the Knowledge? Got a Moment? Add something today!)
and if Andrew can modify his HSS should be able to have a SID too [noparse]:)[/noparse]
and a VIC
and with the 6502 emulator we've pretty much got all the pieces available.
If you were really really tired you might have edited the wrong section or forgot to change the "tvport_mask".
There is one section that have the standard port setting for the Hydra but the code is commented out...
I did that in the comment section and explained most of these settings.
Have a look further down in the code and also look for the two sections,
initialization
' VCFG: setup Video Configuration register and 3-bit tv DAC pins to output
movs VCFG, #%0000_0111 ' VCFG'S = pinmask (pin31: 0000_0111 : pin24)
movd VCFG, #3 ' VCFG'D = pingroup (grp. 3 i.e. pins 24-31)
movi VCFG, #%0_10_101_000 ' Baseband video on bottom nibble, 2-bit color, enable chroma on baseband
.
.
or DIRA, tvport_mask ' Set DAC pins to output
================ and ===================
' The bitmask for the Hydra Video output pins
tvport_mask long %0000_0111<<24
I cannot think of anything else, it should be standard code...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
So if no one else beats me to it, I'll put that on my list...
The priority so far is,
1. Get the color map to work as I want to, this seem to require a two cog driver.
2. Smooth scrolling sideways, up and down.
3. More color modes and bitmap mode.
4. Sprites.
5. Some kind of "interrupt" functionality so things could be changed on the fly like forcing 16 sprites (8 on top part of screen and 8 on bottom) or similar.
Any other functionality I left out ?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
The hardest thing about getting a VIC 2 emulator to work with a C64 emulator will be the display timing. I worked for almost a year on a C64 emulator for the PC (just for fun, unreleased) and I still couldn't get the timing right as a lot of games had messed up graphics.
(I was just too tired to put my finger on it the other night.)
Here's the fixes for Protoboard/Demoboard users.
Speed of course: (Change in both parts)
Then in BAM_C64_screen_Video_01
Change Line 224 to:
Change Lines 250-252 to:
Change Line 304 to:
Change Line 333 to:
Very pretty!
Edit: Couldn't resist, attached with changes and friendly, flashing cursor.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with the Protoboard? - Propeller Cookbook
Got an SD card? - PropDOS
A Living Propeller FAQ - The Propeller Wiki
(Got the Knowledge? Got a Moment? Add something today!)
Post Edited (Oldbitcollector) : 1/10/2008 2:55:38 AM GMT
I remember wasting cycles with NOP to get the timing just exact to remove borders and get sprites all over the screen...
So changing settings in the VIC about 3-4 times per scan line was not unusual...
You might be a demo-coder on the C64 if your code have more NOPs than any other instruction...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
You'd pretty much have to have Cycle correct timing on the 6502/6510 emulator cog and on the VIC II and be constantly reading the display registers too constantly, so to get a REAL C64 display emu it will be harder than just the graphics display mode itself.
I got a old C64 from E-bay to play with and it worked fine.
Played with it for five-six hours and then set it aside...
Today, a week later, the screen is black when I turn it on.
The only "good" news about this is that I took the keyboard off and noticed that one of the memory chips got very hot.
Now I need to find another "MN4164P-15A" and see if I can replace it...
So I better get coding on this so we have a C64 Emulator for Prop II.
Just got one project I need to finish before I get going again...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
Did you get a replacement chip yet? I have 2-3 extra C64 motherboards, if you have trouble replacing the chip, I can probably de-solder or just send you the whole MB and you can desolder what you need. If so email me and let me know, they are just sitting there since my C64 works [noparse]:)[/noparse] But, I don't dare touch it without touching metal first, the SID chips blow out of you even think about playing with the C64!
Andre'
The deal is that I added code to get a custom palette per char so I can have separate background/foreground per char.
If I uncomment the "rdword NTSC_User_Palette, color_data_work" instructions, I loose sync, this is the user palette.
However if I use the 6MHz Xtal and run the Hydra @ 96MHz it works with this instruction...
It is very tempting to right now to just go ahead and run the Hydra @ 96MHz...
Since I'm far from an assembler guru, is there anything that could be optimized in this loop ???
By the way, I got a memory chip off my old C64, I'm going to "operate" on the almost working C64 later this week...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
remove the but where it gets upper/lower long from the inner loop, and store it in a temp var, that'll give you two instructions back, so you should now be able to add your rdword in again [noparse]:)[/noparse]
let me know if it works, as I don't have a 5Mhz system set up at the mo, so can't test it.
Jim.
I work from home and I try to do all the non-work stuff over lunch...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
I lifted out both the font offset and the byte shift and got it to work...
Gridrunner, here I come...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
Is there anything else in the user_tile_loop that could get optimized ???
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
I'll be looking forward to gridrunner [noparse]:)[/noparse]
Here it is, the final C64 Screen Demo with the flashing cursor...
That's it...
Thanks everybody...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
[noparse][[/noparse]url]http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=130455
Not quite... :
Do you mind if I expand on this as an alternative universal text driver?
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with the Protoboard? - Propeller Cookbook
Got an SD card? - PropDOS
A Living Propeller FAQ - The Propeller Wiki
(Got the Knowledge? Got a Moment? Add something today!)