Jump to content
Posted Mon Jun 4, 2012 11:48 AM
Posted Mon Jun 4, 2012 12:13 PM
I'm confused about using WinVice.
How can I develop in an ASM program (like DASM, or other) on Windows and then run it within WinVice.
I am going through the super cool ASM book, "Machine Language for Beginners" and that book is doing all development on the C64 (of course) using a little ASM program that the user types in first and then uses for the remainder of the book.
Posted Mon Jun 4, 2012 1:41 PM
Posted Mon Jun 4, 2012 2:12 PM
OK, with the knowledge that I am a "super-novice" at DASM, how do you generate a PRG file in DASM? Or is this automatic? Or maybe I should just read the DASM documentation a bit closer(?)
; Select an output filename and format !to "core.prg",cbm ; Add a BASIC startline (0 SYS2066) * = $0801 !word entry-2 !byte $00,$00,$9e !text "2066" !byte $00,$00,$00 ; Entry point at $0812 * = $0812 entry inc $d020 jmp entry
Yeah the program is a bit too big to type in (READ: I don't want to), so I like the drag and drop idea. Much better!
Posted Mon Jun 4, 2012 2:29 PM
Posted Mon Jun 4, 2012 2:54 PM
What is the significance of 2066? Is that just where you chose to put the program in memory because you know that it is free space?
Which begs the question, where could one find a memory map for the 6502? (don't answer, if that is splitting this thread up too much).
$00 to $ff zero page ($f0 to $ff are free space, be a bit wary of the latter half when using music drivers). $0100 to $01ff stack - don't touch this space unless you REALLY know what you're doing. $0200 to $03ff system space (used by the system for various things). $0340 to $03ff cassette buffer (useful for storage space - gets mangled if anything is loaded from tape). $0400 to $07ff default screen RAM (1,000 bytes of data and the sprite data pointers at the end of the 1K block). $0801 to $9fff BASIC program memory - this is your initial 39K of work space until you get used to things. $a000 to $bfff the BASIC ROM is shadowed in here - can be turned off to get at the RAM underneath. $c000 to $cfff 4,096 bytes of spare space, can be used for storage. $d000 to $dfff The I/O - registers for the VIC-II, SID and CIA twins live here along with the screen colour RAM. $e000 to $ffff the Kernel ROM is shadowed in here - again, can be turned off but getting rid of this is more fiddly.
Posted Mon Jun 4, 2012 9:16 PM
Posted Mon Jun 4, 2012 9:30 PM
Posted Mon Jun 4, 2012 10:01 PM
Edited by Rybags, Mon Jun 4, 2012 10:02 PM.
Posted Tue Jun 5, 2012 2:15 AM
How much of what you have stated applies to the VIC-20? I recently got one for $20, so I couldn't pass it up.
It seems like they are similar in a lot of ways.
; Select an output filename and format !to "filename.prg",cbm ; Add a BASIC startline (0 sys4112) * = $1001 !word entry-2 !byte $00,$00,$9e !text "4112" !byte $00,$00,$00 ; Entry point at $1010 * = $1010 entry inc $900f jmp entry
Posted Tue Jun 5, 2012 6:37 AM
Posted Tue Jun 5, 2012 11:17 AM
Posted Tue Jun 5, 2012 12:26 PM
Thanks guys! Is there a reason to develop on one versus the other? V20 vs. C64. I though the only diff was memory size on these machines?
Posted Tue Jun 5, 2012 12:38 PM
0 members, 0 guests, 0 anonymous users