19

(This answer is about using the built-in methods on real hardware. If it's about conversion of emulator files, then Brian's solution may be more suitable.) TL;DR: Saving a program as text onto a disk file (real or emulated) is essentially listing it, but redirecting output to a file - much like when printing it (on a real printer): OPEN 1, 8, 2, "0:...


11

Whatever would have taken place occurred inside the RF modulator: I haven't been able to find a C128 schematic that includes the modulator, however if it's anything like the C64 modulator, there's a current limiting resistor in the path between +9V UNREG, a couple of transistors (only the last of which is shown here) and ground. For this particular C64 ...


11

You can absolutely do this, I've used a 6 foot extension like this before on my 128DCR with no signaling issues. You are correct that you need all 25 pins wired straight through which a normal DB25m/f cable for serial / modem won't provide (and a normal Centronics cable obviously has the wrong connector on one end). You need to look for a IEEE 1284 DB25 M/...


11

The maximum size file that you can load with the built-in commands is 65280 bytes. This is using the address range of $0000-$FEFF for either BANK. There is no "wrap" ability to extend from bank 0 to 1. All of the BASIC commands (LOAD, DLOAD, BLOAD) rely on the kernal ILOAD code. The limitation is that the ILOAD code will not continue loading once ...


10

In the Commodore 128, the Video Display Controller (VDC) was used for the 80-column mode. Two variants of the VDC were used, the 8563 and the 8568. Looking at the POKEs, the address 54784 ($D600) is the index register for the VDC, while 54785 ($D601) is the data register. So those two POKEs write the value 232 ($E8) to register 9 of the VDC. Register 9 is ...


9

The C128D modulator uses 5V for power supply, and the composite output (pin 4) is driven with luma signal via an emitter follower and a 120 ohm resistor, and with chroma signal via an emitter follower and a 150pF capacitor. Normally the composite output is disconnected when using the RF modulator, but when using the composite output to a TV, it will be ...


7

Modern heat sinks I assume this is about heat spreaders, as that is what they do. What is a reliable modern replacement Any one available at the usual stores will do it Which chips in the C64 and C128 should have such a heat sink installed? All may benefit, as they are NMOS and thus heating. Background It's about the surface size - larger surface to ...


7

I think it may be as easy as connecting male pins from one side to corresponding female pins on the other side, Exactly that. but need reassurance please. Would be shame to blow something up. For what? I mean, which logic gives that a strict 1:1 connection can blow up anything? After all, i1:1 means that there are no other connections made, doesn't it? I ...


7

When the C128 is running in its native mode, the only "fixed" memory addresses are $FF00-$FF04. These 5 bytes allow access to the first 5 registers of the MMU regardless of the current memory configuration (which is controlled via the MMU). The MMU's RAM Configuration Register, which is in I/O space at $D500, but always available at $FF00, controls ...


6

As an alternative to Brian H's answer, I should also point out the petcat tool which comes with the VICE emulator and supports converting between tokenized Commodore BASIC, PETSCII, and ASCII with PETSCII special characters replaced with mnemonics like {left}. petcat V2.21 PL 1 -- Basic list/crunch utility. Part of vice 2.4.25 Usage: petcat ...


6

If you have a mechanism for moving files to and from a modern computer, then you can use bastext to transcode most variations of Commodore 8-bit BASIC between ASCII and tokenized forms. This is an open source project found on Github. The options it provides should meet most needs. Note the -7 option if you want to force the use of the BASIC 7.0 syntax. This ...


6

An unmodified machine includes a large metal RF shield which usually performs the duty of being a heat sink for VIC-II, SID, and other chips. I've worked on dozens of C64s, and have only seen the metal heat spreader/RF shield used in later C64 models, for example the 64C. Earlier "breadbin" models had a foil-covered cardboard RF shield that ...


6

Found the solution thanks to Compute's Mapping the Commodore 128, though the call is also documented in the C-128 Programmer's Reference Guide. There's a kernal jump table entry called DLCHAR at $FF62 (Mapping the 128 calls it JINIT80) that initializes the VDC RAM from the character ROM. A call to that gets things working again. That routine doesn't touch ...


3

What is the largest single file that can be loaded into a C128 using standard Kernal functions (i.e., LOAD, DLOAD, BLOAD). LOAD and DLOAD load only as many bytes as given by the file information. In addition they only work reliably with Bank0 and paged in Kernal (*1). BLOAD, by contrast, can load up to 65535 bytes (one less than 64 KiB) into any bank. So ...


3

RGBI to RGB only needs a couple of diodes and resistors, see e.g. here, and that will work with VGA-RGB. I am not aware off-the-shelf ones for that are available, OTOH they are not exactly difficult to make yourself. I have no idea what @mnem means by "RGBA", usually this is an abbreviation for red-green-blue-alpha, and refers to how image data is ...


2

Retrograde has done a good analysis of the available schematics. However, there is a more general analysis that should apply to nearly any retro computer. Composite video outputs are designed to have 75 ohm output impedance for proper match to the coaxial cables used. You can think of this as a 75 ohm series resistor, even though it can be composed of ...


2

C128 MMU default maps page 0 to bank 0, page 0 and page 1 to bank 0, page 1. Access to page 0 and 1 therefore ends up in bank0, even when bank1 is switched in. CPM expects Bank1 for page 0 and 1 therefore during CPM, page0 and 1 are mapped to bank1. You could say it would not matter but in bank0, the MMU maps in the Z80-bootrom when Z80 does a read. So: page ...


1

If you restrict your use of BASIC to statements and commands and functions that exist in version 2.0, with no memory-address references (so no POKE, PEEK, SYS, USR, or WAIT), and keep the program small enough to fit into the unexpanded VIC-20's 3583 bytes (including space taken up by variable values during the course of the program's execution), you can ...


Only top voted, non community-wiki answers of a minimum length are eligible