[Coco] My souped-up BASIC (HDB-DOS/16H) now does &B constants

Juan Castro jccyc1965 at gmail.com
Tue Feb 18 11:11:34 EST 2025


And lots of other things. Here's where you get it:

https://www.dropbox.com/scl/fo/9p5ydq5hqgp4b1fbqyyif/AKnngotPgk1PLUm6kw0nn5U?rlkey=exgpq1wksaevs8rn2diqaz1ha&st=wv0ucw7r

And here's the README:
----------------------------------------------------------------------
Package contents:

- ROMs:
16k-hdbdw3arduino.rom     Arduino
16k-hdbdw3bck.rom         Becker
16k-hdbdw3bckt.rom        Becker (with timeout)
16k-hdbdw3bckwifi.rom     Becker (different address for WiFi)
16k-hdbtc3.rom            Cloud-9 TC^3 SCSI Interface
16k-hdbsdc.rom            CoCoSDC
16k-hdbd4n1.rom           Disto 4-N-1 SCSI
16k-hdbdhdii.rom          Disto HD-II
16k-hdbdw3cc1.rom         DriveWire 3 (CoCo 1)
16k-hdbdw3cc2.rom         DriveWire 3 (CoCo 2)
16k-hdbdw3ln.rom          DriveWire 3 (CoCoLINK RS232 Pak)
16k-hdbdw3sy.rom          DriveWire 3 (Deluxe RS232 Pak)
16k-hdbdw3dm.rom          DriveWire 3 (Direct Modem RS232 Pak)
16k-hdbdw3dg.rom          DriveWire 3 (Dragon in CoCo mode)
16k-hdbchs.rom            IDE CHS
16k-hdblba.rom            IDE LBA
16k-hdbdw3jc2.rom         J&M Disk Controller
16k-hdbkenton.rom         Kenton SCSI Interface
16k-hdblrtech.rom         LRTech Controller

- Listing files
*.rom.lst                 Source with generated machine code, one for each of
                          the above ROMs

- Patch:
hdbdos-16k.patch          Changes to generate HDB-DOS/16K, applies cleanly to
                          ToolShed GitHub repository as of Feb 18, 2025
                          (https://github.com/nitros9project/toolshed)

README.txt                This file


TO DO:

- ON ERROR GOTO
- Option to boot in text mode:
  - Different ROM for default in text mode
  - One hot key to swap the text mode at boot
- Make some use of a 6309
- Better instructions


SUMMARY OF CHANGES:

- All CoCo 3 tokens are recognized, so a CoCo 3 BASIC program will not be
  garbled upon loading
- 51x24 and 64x24 text modes in PMODE 4, switchable with WIDTH command
- LOCATE works as expected
- Support for BUTTON function including 2nd joystick button (requires internal
  wiring; testers welcome)
- DIR output uses available screen width
- TIMERL function similar to TIMER but wraps at 2^31 (1 year, 49 days)
- HSET MEM COPY moves BASIC to RAM in 64KB machines; HSET MEM and HRESET MEM
  switch to RAM and ROM respectively
- HPOINT gives you some system information:
  - HPOINT(0) returns the CPU model (6809 or 6309)
  - HPOINT(1) is planned to return whether the 6309 is running in Native Mode.
    (Currently, always returns zero.)
  - HPOINT(2) returns whether BASIC is running from RAM (see HSET MEM)
  - HPOINT(3) returns the address of a useful data area for manipulating the
    new graphics-text mode (cursor blink, shape etc); see new file
    cocoroms/rom16kvars.asm
- BASIC printer output redirected to DriveWire virtual printer (experimental),
  now with a flag in the aforementioned data area to disable redirection,
  still with no BASIC interface to control it
- Accepts binary constants with &B, just like &H and &O


ADDED FILES:

cocoroms/rom16kvars.asm
hdbdos/README-16K.txt
hdbdos/el.asm
hdbdos/font51.asm
hdbdos/font64.asm
hdbdos/mk16kpackage.sh
hdbdos/mkslacklist.sh
----------------------------------------------------------------------

Juan Castro
Enviado do meu Olivetti Programma 101
http://retropolis.com.br


More information about the Coco mailing list