2MHz CPU in VIC-II (40column) and C64mode

Started by MIRKOSOFT, October 05, 2009, 07:07 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MIRKOSOFT

Hi!

I know that change SLOW/FAST can to be done by other way, e.g.:
2Mhz (works in both 64 and 128 mode) poke 53296,1
1Mhz (works in both 64 and 128 mode) poke 53296,0

Yes, it works, but only in VICE emulator. On real C128 in VIC-II and C64 mode it is changing of many characters in many colors... and nothing to write in 40col & C64 mode...
Know somebody if this behavior of computer can be corrected and can to write on VIC-II screen?

Only in VICE emulator it works, can also on real computer?

I attached screenshot of working in VICE.

Thanks for every reply. 

Miro
MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

commodorejohn

Well, you can't have 2MHz on all the time and use the VIC-II, for some reason having to do with the way the VIC and the CPU share access to RAM (not a problem for 80-column mode, since that has its own RAM.) However, I think I read that it's possible to set 2MHz mode going during vertical blank and reset it to 1MHz during display time.

MIRKOSOFT

MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

RobertB

Quote from: commodorejohn on October 05, 2009, 07:47 AMHowever, I think I read that it's possible to set 2MHz mode going during vertical blank and reset it to 1MHz during display time.
Yes, that is possible.  I have a program -- I believe it came from RUN magazine -- which blanks the screen in order for the C64 to use 2 MHz in the C128 and then back to 1 MHz in order for the user to see the 40-column screen.  The program had the user manually toggle between the 2 speeds, i.e., when you think you are done with 2 MHz, you switch back to 1 MHz. and vice versa.

             Trying to remember the name of that program,
             Robert Bernardo
             Fresno Commodore User Group
             http://videocam.net.au/fcug
             The Other Group of Amigoids
             http://www.calweb.com/~rabel1/
             Southern California Commodore & Amiga Network
             http://www.sccaners.org

Hydrophilic

#4
EDIT
This is for C128 mode... I should have read the topic more clearly!  For 64 mode you would need to seriously modify the IRQ routines because they're based on the CIA timer instead of the VIC raster
/EDIT

This should probably going under programming, but anyway, here's a program I wrote that enables 2MHz during the borders.  It works with KERNAL and BASIC interrupts such as split screen, MOVSPR, and PLAY.  You should disable it whenever you want to do I/O.

BLOAD"FAST-BORDER",B0

To enable
BANK0:SYS4224 (bank 15 works too)

To disable
BANK0:SYS4324 (bank 15 works too)

This uses the top half of the function key definitions ($1080~$10F7) to avoid the popular $1300~1BFF region.  So you're KEY def's shouldn't exceed 118 chars total.  Enjoy!
I'm kupo for kupo nuts!